0

我正在关注 Pylearn2 教程,并在其中一个步骤中编写了以下内容:

您的 PATH 环境变量中应该有 pylearn2/scripts。

所以我补充说:

C:\Anaconda\Lib\site-packages\pylearn2-0.1dev-py2.7.egg\pylearn2\scripts\

到 PATH 变量。

如果我想使用“execfile”函数执行上述文件夹中的脚本之一(例如“train.py”),是否需要再次添加路径?我一直在解释器中尝试这个:

>>> execfile('train.py')

但是,我收到错误消息:

IOError: [Errno 2] No such file or directory: 'train.py'

python不应该在PATH变量的目录路径中查找脚本吗?

如果可以,请你帮助我。

4

1 回答 1

1

不,execfile不搜索PATH. 它只需要一个普通的文件名(可以是相对的或绝对的)并以与任何其他文件处理函数完全相同的方式打开它。

最重要的是,您很少想要使用execfile. 在这种特殊情况下,您可能应该做的是从 cmd(“DOS 框”)提示符而不是 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 语句,所以需要权衡。

于 2013-08-03T03:23:14.507 回答