Enthought Canopy中的Python文件open()失败:"IOError No such file or directory"

Aim*_*mee 7 python file-io working-directory enthought canopy

我在Enthought Canopy下运行代码来打开并读取文件.它一直告诉我IOError.

但我很确定文本文件名是正确的,并且它与Python文件位于同一目录中,并且代码在其他IDE(如Python IDLE)中运行良好.不知道出了什么问题.有什么建议?

inFile = open('words.txt', 'r')
words = inFile.read().split()
Run Code Online (Sandbox Code Playgroud)

失败了 IOError: [Errno 2] No such file or directory: 'words.txt'

小智 17

更新:Canopy 1.0.3及更高版本不需要以下hack.在Python窗格中右键单击,然后选择Keep Directory Synced to Editor.

python shell的工作目录与打开的编辑器不同步.因此,您的python shell的工作目录可能与您的python文件不同.要将shell的目录更改为python文件的目录:

  1. 打开有问题的python文件.
  2. 在python窗格中右键单击并选择"更改为编辑器目录"选项

希望有所帮助.

上面的解决方案确实是正确的.不幸的是,即使在当前版本的Canopy中也是必要的 - 版本:1.3.0(64位)