インタラクティブなPythonモードが実際に何であるかわからないので、私の質問はばかげているかもしれません。しかし、私はまだ聞きたいです。
オブジェクトを初期化してからインタラクティブなPythonモードを実行できるPythonスクリプトが必要です。
これは次のように動作します:
$ cat myscript.py
#!/usr/bin/env python3
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-i", action='store_true')
args = parser.parse_args()
if args.i:
foo = 'bar'
run_interactive_mode()
$ ./myscript.py -i
>>> foo
'bar'
>>>
これに対する解決策はありますか?
はい-code
モジュールを使用します:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-i", action='store_true')
args = parser.parse_args()
def fun():
print("fun")
if args.i:
foo = 'bar'
import code
code.interact(local={**globals(), **locals()})
そしてそれを実行する:
λ python tmp.py -i
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> foo
'bar'
>>> fun()
fun
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加