인터프리터를 사용하여 터미널에서 python3 코드 컴파일하기

인터프리터를 사용하여 터미널에서 python3 코드 컴파일하기

간단히 명령을 사용하여 코드를 컴파일하면 python3 name.py코드가 실행되지만 전체 이야기가 끝나고 컴파일된 데이터로 아무 것도 할 수 없습니다.

나는 어떻게든 내 프로그램을 인터프리터로 컴파일하고 해당 인터프리터의 데이터를 실험할 수 있는 능력을 갖고 싶습니다. 예를 들어, timeit(function(argument))내 name.py 프로그램에서 정의되고 설정된 함수 및 인수와 함께 사용하고 싶습니다 .

답변1

당신이 찾고 있는 것은 스위치입니다 -i. 맨페이지에 따르면:

-i    When  a  script  is passed as first argument or the -c option is
      used, enter interactive mode after executing the script  or  the
      command.  It does not read the $PYTHONSTARTUP file.  This can be
      useful to inspect global variables  or  a  stack  trace  when  a
      script raises an exception.

따라서 스크립트 이름이 name.py필요한 경우 다음을 실행하십시오.

python3 -i name.py

답변2

@daltonfury42의 답변은 이를 수행하는 한 가지 방법이지만 인터프리터에 들어가기 전에 먼저 스크립트를 실행한다는 점에 유의하세요. 또 다른 방법은 스크립트와 동일한 디렉터리에서 인터프리터를 실행하고 가져오는 것입니다.

$ cat spam.py 
def main(*args):
    print("Called main() with args: ", args)

if __name__ == "__main__":
    main("foo")
$ python3 spam.py 
Called main() with args:  ('foo',)
$ python3
>>> import spam
>>> spam.main("bar")
Called main() with args:  ('bar',)
>>> 

관련 정보