コマンドを使用してコードをコンパイルするとpython3 name.py
、コードは実行されますが、その後、すべての処理が終了し、コンパイルされたデータを使用して何もできなくなります。
何らかの方法でプログラムをインタープリターにコンパイルし、そのインタープリターでデータを試すことができるようにしたいと考えています。たとえば、timeit(function(argument))
name.py プログラムで定義および設定された関数と引数を使用したいと考えています。
答え1
探しているのはスイッチです-i
。man ページによると:
-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 の回答は、その方法の 1 つですが、インタープリタに入る前にまずスクリプトを実行することに注意してください。もう 1 つの方法は、スクリプトと同じディレクトリでインタープリタを実行してインポートすることです。
$ 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',)
>>>