使用exec(open())将参数传递给python脚本

时间:2018-09-05 07:41:56

标签: python

我是python编程的新手,需要您的帮助。 我正在使用exec(open(“ ./ script / script.py的路径” .read())运行python脚本。 如果我尝试传递一个参数,那么我总是会收到错误消息,指出该文件不存在,解释器以某种方式认为传递的字符串是显然不正确的文件名。

>>> exec(open("./path to script/script.py"  "hello").read())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 2] No such file or directory: './path to script/script.pyhello'

任何人都有解决此问题的技巧。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

由于您也想打开文件并传递参数,因此我建议您使用os.system()模块中的os来实现此目的,因为exec()不提供给您具有这种功能,因为您只能向其中传递一个字符串。 示例:

Script.py:

arg = input()
print(arg)

调用上述脚本:

import os

os.system('python3 home/pathtoscript/script.py Hello')

这将在终端上为您打印所需的输出。但这还取决于您要进一步实现什么。

输出:

Hello

我还建议使用argparse模块来处理参数,因为如果您尝试使用多个参数,它会提供强大的支持。 Here是同一文件的官方文档。

祝你好运,编码愉快。