간단히 명령을 사용하여 코드를 컴파일하면 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',)
>>>