我正在关注Pylearn2教程,其中一个步骤是:
你的PATH环境变量应该有pylearn2 / scripts。
所以我补充道:
C:\阿纳康达\ LIB \站点包\ pylearn2-0.1dev-py2.7.egg \ pylearn2 \脚本\
到PATH变量。
如果我想使用'execfile'函数执行上述文件夹中的一个脚本(例如'train.py'),我是否需要再次添加它的路径? 我一直在翻译中尝试这个:
>>> execfile('train.py')
但是,我收到错误消息:
IOError: [Errno 2] No such file or directory: 'train.py'
python不应该在PATH变量的目录路径中查找脚本吗?
如果可以,请帮助我。
答案 0 :(得分:1)
不,execfile
不会搜索PATH
。它只需要一个普通的文件名(可以是相对的或绝对的),并打开它与任何其他文件处理函数完全相同。
最重要的是,您很少想使用execfile
。在这种特殊情况下,你应该做的是从cmd(“DOS box”)提示符运行脚本,而不是Python提示符。
如果你真的想用Python提示代替cmd作为你的“shell”,你可以这样做,但你仍然希望能够通过PATH
找到程序,在一个单独的地方运行它们解释器实例等。使用subprocess
的方法。例如:
>>> from subprocess import check_call # you only have to do this once
>>> check_call(['train.py'])
当然,这比你从cmd需要的打字要多得多:
C:\> train.py
...但是你不能在cmd上运行任意Python语句,所以需要权衡。