你能告诉我 execfile 和 subprocess 有什么区别吗?我猜这两个命令的工作方式相同。
但是当我使用 Execfile() 从另一个 .py 文件获取变量时没有问题。但是当我尝试使用 subprocess.Popen() 时出现类似“NameError: global name 'xy' is not defined”的错误
什么提供得到那个错误?以及为什么当我使用给出错误的 Popen 命令并且 execfile 工作正常时..
你能告诉我 execfile 和 subprocess 有什么区别吗?我猜这两个命令的工作方式相同。
但是当我使用 Execfile() 从另一个 .py 文件获取变量时没有问题。但是当我尝试使用 subprocess.Popen() 时出现类似“NameError: global name 'xy' is not defined”的错误
什么提供得到那个错误?以及为什么当我使用给出错误的 Popen 命令并且 execfile 工作正常时..
Execfile 允许拉入另一个 python 文件并在与主脚本相同的环境中运行它。
Popen 允许您生成任何您喜欢的子进程,而不仅仅是 python。这是一个“黑匣子”,因此您看到其中发生的事情的机会仅限于它发布的退出值,或者扫描它的 STDERR 和 STDOUT
如果您真的想独立运行第二个脚本,请使用 popen)
如果您想导入其他 python 代码并将其嵌入到您的文件中(如果必须,请使用 execfile)。