我有几个希望连续运行的脚本(每个脚本将其输出保存为文件,因此无需查看它们)。我希望创建一个可以运行它们的单独的python文件,并在完成每个文件后执行每个文件。但是,我不确定如何从另一个脚本执行一个脚本。
我创建了一个示例子文件(脚本),该文件将由另一个主文件运行:
import numpy as np
x = np.arange(0,9).reshape((3,3))
x+=1
y=x**2
print(y)
这将创建几个矩阵并对其进行处理。我将print命令包括在内,以测试它是否已运行(也许这不是一个很好的测试?)。主文件如下:
import os
os.system('python subfile_test.py')
# exec('sub_file')
我尝试同时使用os.system()和exec()命令。使用os.system()命令时,没有出现错误,但看不到打印内容,运行后也无法访问对象(x和y)。当我注释掉前两行并取消注释exec()命令时,出现错误NameError: name 'sub_file' is not defined
。当我写'sub_file.py'时(将.py添加到文件名中),我得到了相同的错误。这两个文件(主文件和子文件)都位于同一文件夹中,这是工作目录(我正在使用Spyder)。
我已引用How can I make one python file run another?并尝试了上述方法。首选方法(导入)在这里似乎不正确,因为我没有要导入的函数/类-我只想运行脚本。
我在这里误解了什么,有人可以说明在什么情况下这些方法(import,os.system()和exec())中的每一个都有用/不有用吗?