开发者社区> 问答> 正文

在解释器中使用参数执行python脚本

我有一个用argparse执行的(python3)脚本。例如:

my_program.py arg0 arg1 arg2=foo

出于调试目的,我希望脚本执行并让我处于打开的解释器会话中。在python解释器中调用脚本的常用方法对我不起作用。例如:

# How to input the program arguments? (arg0 arg1 arg2=foo)
exec(open("my_program.py").read())



# How to inherit the interpreter variables once the program has finished executing?
import subprocess
subprocess.call(["my_program.py", "arg0", "arg1", "arg2=foo"])



# How to input the program arguments? (arg0 arg1 arg2=foo)
import my_program
my_program.main()

在运行并能够输入程序参数之后,是否可以打开程序的解释器?

问题来源:stackoverflow

展开
收起
is大龙 2020-03-24 15:33:38 504 0
1 条回答
写回答
取消 提交回答
  • 不是最干净的解决方案。您可以从调用脚本中设置sys.argv:

    假设我们有foo.py

    import sys
    
    print(sys.argv)
    

    我们像这样执行它:

    import sys
    
    sys.argv = ["arg1", "arg2"]
    
    exec(open('foo.py').read())
    

    我们得到:

    ['arg1', 'arg2']
    

    回答来源:stackoverflow

    2020-03-24 15:33:46
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载