我在打开Python文件时遇到问题:(

时间:2010-08-17 01:34:49

标签: python file

我将文件保存为我在Python中创建的Modules文件夹中的DictionaryE.txt。然后我输入:

fh = open("DictionaryE.txt")

我收到此错误消息:

Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    fh = open("DictionaryE.txt")
IOError: [Errno 2] No such file or directory: 'DictionaryE.txt'

我做错了什么?有人可以描述一下具体的,详细的逐步说明,该怎么做?感谢。

4 个答案:

答案 0 :(得分:3)

正如其他答案所示,您需要指定文件的路径,而不仅仅是名称。

例如,如果您知道该文件位于C:\Blah\Modules,请使用

fh = open('c:/Blah/Modules/DictionaryE.txt')

请注意,我已经将“斜杠”改为“正确的方式”(Unix风格;-)而不是“Windows方式”。这是可选的,但是Python(实际上是底层的C运行时库)非常满意它,它可以在很多场合(自\以来)在Python字符串文字中省去麻烦,就像在C,是一个“逃避标记”,偶尔,如果你使用它,你实际输入的字符串值你认为的那个 - 用'/'代替,零问题)。

答案 1 :(得分:1)

使用文件的完整路径?您正尝试在当前工作目录中打开该文件。

答案 2 :(得分:0)

可能是这样的:

import os
dict_file = open(os.path.join(os.path.dirname(__file__), 'Modules', 'DictionaryE.txt'))

如果不了解项目结构和代码的上下文,很难知道。 Fwiw,当你只是“打开”一个文件时,它会查看你正在运行python程序的任何目录,而__file__是... python文件的完整路径。

答案 3 :(得分:0)

为了补充Alex的答案,您可以更加明确和明确地使用DictionaryE.txt。基础知识:

READ(这是默认设置):

fh = open("C:/path/to/DictionaryE.txt", "r")

<强> WRITE:

fh = open("C:/path/to/DictionaryE.txt", "w")

<强> APPEND:

fh = open("C:/path/to/DictionaryE.txt", "a")

可以在此处找到更多信息:Built-in Functions - open()