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

I';我在打开Python文件时遇到问题:(,python,file,Python,File,我在Python中创建的模块文件夹中以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

我在Python中创建的模块文件夹中以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'
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
fh=打开(“DictionaryE.txt”)
IOError:[Errno 2]没有这样的文件或目录:“DictionaryE.txt”

我做错了什么?请有人描述一个具体的、详细的步骤说明如何做?谢谢。

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

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

可能是som例如:

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

如果不知道您的项目结构和代码的上下文,就很难知道。Fwiw,当您只是“打开”一个文件时,它将在运行python程序的任何目录中查找,并且
\uuuu file\uuuu
是…python文件的完整路径。

可能类似于:

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

如果不知道您的项目结构和代码的上下文,就很难知道。Fwiw,当您只是“打开”时一个文件,它将在运行python程序的任何目录中查找,
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>是…python文件的完整路径。

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

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

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

请注意,我将斜杠改为“正确的方式”(Unix样式;-),而不是“Windows方式”。这是可选的,但是Python(实际上是底层的C运行时库)对此非常满意,并且在许多情况下它为您省去了麻烦(因为
\
,在Python字符串文本中就像在C中一样,是一个“转义标记”,偶尔,如果您使用它,您实际输入的字符串值不是您认为的值,而是“/”,没有问题)。

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

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

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

请注意,我将斜杠改为“正确的方式”(Unix样式;-),而不是“Windows方式”。这是可选的,但是Python(实际上是底层的C运行时库)对此非常满意,并且在许多情况下它为您省去了麻烦(因为
\
,在Python字符串文本中就像在C中一样,是一个“转义标记”,偶尔,如果您使用它,您实际输入的字符串值不是您认为的值,而是“/”,没有问题)。

为了补充Alex的答案,您可以更具体、更明确地说明您想用
DictionaryE.txt
做什么。基本内容:

读取(这是默认值):

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

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

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

更多信息可在此处找到:

为了补充Alex的答案,您可以更具体、更明确地说明如何使用
DictionaryE.txt
。基本知识:

读取(这是默认值):

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

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

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

更多信息可以在这里找到:

为什么它不会是“fh=open”(“DictionaryE.txt”)?你是对的,修复了为什么它不会是“fh=open”(“DictionaryE.txt”)“?你是对的,修正了这一点,我该如何计算文件的完整路径?下面的答案建议使用当前文件的路径可能是一个好方法。我该如何计算文件的完整路径?下面的答案建议使用当前文件的路径可能是一个好方法。+1我不知道这一点。一直以来,我都是我们ing
r“C:\path\to\file.txt”
+1我不知道这一点。我一直在使用
r“C:\path\to\file.txt”