在 Enthought Canopy 中打开 Python 文件失败,显示 "IOError No such file or directory"。

7
我正在Enthought Canopy中运行代码以打开和读取文件。它一直告诉我IOError。
但我很确定文本文件名是正确的,而且它与Python文件在同一个目录中,而且这段代码在其他IDE(如Python IDLE)中也能正常工作。不知道哪里出了问题。有什么建议吗?
inFile = open('words.txt', 'r')
words = inFile.read().split()

出现IOError: [Errno 2] No such file or directory: 'words.txt'错误


确保它不是“words.txt.txt”。 - Ashwini Chaudhary
它是否存在于与Python文件相同的目录中? - karthikr
谢谢大家,punchagan的答案对我有用! - Aimee
2个回答

17
更新:在Canopy版本1.0.3及更高版本中,不需要使用以下hack。右键单击Python窗格内部,并选择同步目录到编辑器
Python shell的工作目录与打开的编辑器不同步。因此,您的Python shell的工作目录可能与Python文件不同。要将shell的目录更改为Python文件的目录,请执行以下操作:
  1. 打开相关的Python文件。
  2. 在Python窗格内部右键单击并选择“转到编辑器目录”选项。
希望这有所帮助。
上述解决方案确实正确。遗憾的是,即使在当前版本的Canopy - 版本:1.3.0(64位)中,也仍然需要这个解决方案。

1
默认情况下,Canopy中的ipython shell工作目录是用户主目录,在那里可以找到words.txt。但是你的Python文件可能在其他地方。在ipython中,“pwd”通常会“打印工作目录”,而“cd xxx”则允许你更改工作目录。 - Jonathan March
在 Canopy 1.0.3 及更高版本中,在 Python 窗格内单击右键,然后选择“将目录与编辑器同步保持一致”。 - punchagan

0

当在括号中给出完整路径时,也可以打开一个txt文件,并将所有\替换为/

来自:

text=open('C:\Users\Korisnik\Desktop\abeceda.txt')

至:

text=open('C:/Users/Korisnik/Desktop/abeceda.txt')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接