python - 从另一个 Python 脚本运行 Python 脚本,传入参数

我想从另一个 Python 脚本运行一个 Python 脚本。我想像使用命令行一样传递变量。

例如,我将运行我的第一个脚本,该脚本将遍历值列表 (0,1,2,3) 并将它们传递给第二个脚本 script2.py 0 然后 script2.py 1

我找到了 Stack Overflow question 1186789这是一个类似的问题,但是 ars 的答案调用了一个函数,因为我想运行整个脚本,而不仅仅是一个函数,而 balpha 的答案调用了脚本但没有参数。我将其更改为以下内容作为测试:

execfile("script2.py 1")

但它没有正确接受变量。当我在 script2.py 中打印出 sys.argv 时,它是对第一个脚本“['C:\script1.py'] 的原始命令调用。

我真的不想更改原始脚本(即我的示例中的 script2.py),因为我不拥有它。

我认为一定有办法做到这一点;我只是很困惑你是怎么做到的。

最佳答案

尝试使用 os.system :

os.system("script2.py 1")

execfile 是不同的,因为它被设计为在 current 执行上下文中运行一系列 Python 语句。这就是为什么 sys.argv 没有为你改变的原因。

https://stackoverflow.com/questions/3781851/

相关文章:

python - 使用 Python 实现触摸?

python - python中的链式调用父初始化器

python - 在 Python 中比较 float 是否相等的最佳方法是什么?

python - 为什么 IoC/DI 在 Python 中不常见?

python - 如何保持键/值与声明的顺序相同?

python - 什么是__main__.py?

python - python中dict的深拷贝

python - 如何使用 Python 重命名文件

python - 为什么访问全局变量不需要 'global' 关键字?

python - 将目录永久添加到 PYTHONPATH?