2010-08-17 89 views
0

麻烦我在我的Python中创建的模块文件夹中保存的文件作为DictionaryE.txt然后I型:我在打开Python文件:(

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' 

什么我做错了吗?可能有人请说明上怎么办?谢谢具体,详细的一步一步的指示。

+0

为什么不是'fh = open(“DictionaryE.txt”)'? – duffymo 2010-08-17 01:40:32

+0

你是对的,修复了这个问题 – 2010-08-17 01:44:30

回答

3

其他答案建议,您需要指定文件的路径,而不仅仅是名称。

例如,如果你知道这个文件是在C:\Blah\Modules,使用

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

请注意,我已经变成了斜杠“了正确的方式”(Unix风格;-)而不是“在Windows办法”。这是可选的,但Python(实际上是底层的C运行时库)非常满意,它在很多场合为您节省了麻烦(因为\在Python字符串文本中就像在C中一样,是一个“转义标记” ,有一次,如果你使用它,你实际输入的字符串值是而不是你认为的 - 用'/'代替零问题。

+0

+1我不知道这一点。我一直在使用'r“C:\ path \ to \ file.txt”' – Kit 2010-08-17 01:47:30

+0

是的!这工作!谢谢! – 2010-08-17 01:48:37

+0

+1的确如此。像':'用于路径分隔符。 :) – 2010-08-17 02:24:34

1

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

+0

我该如何找出文件的完整路径? – 2010-08-17 01:43:20

+0

下面的答案建议使用当前文件的路径可能是一个好方法。 – 2010-08-17 16:57:31

0

大概是这样的:

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

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

0

为了补充Alex的回答,您可以更加具体和明确地说明您想要对DictionaryE.txt执行什么操作。基础知识:

READ(这是默认值):

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

写:

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

附加:

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

莫尔电子信息可以在这里找到:Built-in Functions - open()