我正在尝试在Spyder的脚本中使用runfile。 当我这样做时,我收到了这个错误:
KeyError: '__file__'
如何避免此错误?
额外信息: 我之前已将其他脚本作为模块导入并相应地运行它们,但我希望能够灵活地单独运行脚本(在脚本中指定输入参数)或从其他脚本调用它们(在调用它们时指定参数)。
提前致谢!
答案 0 :(得分:0)
这是如何完成此操作的示例。我有两个由脚本控制的简短python程序。 runfile_a.py
和runfile_b.py
这两个程序都包含:
if __name__ == "__main__":
print(__file__.split("\\")[-1], __name__)
脚本包含:
# Paths edited
runfile('C:/Python/runfile_a.py', wdir='C:/Python')
runfile('C:/Python/runfile_b.py', wdir='C:/Python')
在Spyder中执行脚本的输出:
In [11]: runfile('C:/Python/runfile_tst_ab.py', wdir='C:/Python')
runfile_a.py __main__
runfile_b.py __main__
从输出中,我可以看到每个程序都在一个
具有自己的__file__
的环境。
在Github上列出了Spyder中runfile()
方法的代码:
https://github.com/spyder-ide/spyder/blob/master/spyder/plugins/console/utils/interpreter.py。