我很难让python 3.4识别Windows 8系统上的路径或文本文件。我尝试了各种不同的方法,但得到了类似的错误(这可能意味着语法方面的一些简单)。
文件本身与尝试打开它的脚本文件位于同一文件夹中: C:\ Users \ User \ Desktop \ Python stuff \ Data.txt
为简单起见,访问文件的最简单方法(至少我知道)是
f=open
这些行编码为:
f = open("Data.txt", "r")
和
f = open("C:/Users/User/Desktop/Python stuff/Data.txt", "r")
但返回错误:
Traceback (most recent call last):
File "C:\Users\User\Desktop\Python stuff\Testscript.py", line 3, in <module>
f = open("C:/Users/User/Desktop/Python stuff/Data.txt", "r")
FileNotFoundError: [Errno 2] No such file or directory: 'C:/Users/User/Desktop/Python stuff/Data.txt'
答案 0 :(得分:4)
使用Windows时,您需要记住,如果您将文件命名为&#34; data.txt&#34;该文件实际上是&#34; data.txt.txt&#34;,但是windows会将其显示为&#34; data.txt&#34;因为Windows隐藏了文件扩展名。
如果您然后搜索&#34; data.txt&#34;确实没有这样的文件。
答案 1 :(得分:1)
f = open("Data.txt", "r")
确保您的.py和.txt文件位于同一目录中。
f = open("C:/Users/User/Desktop/Python stuff/Data.txt", "r")
我认为Python stuff
中的空间搞砸了。
更新:我刚试了一下..实际上这个空间似乎还不错。
>>> [i for i in open('/Users/pk-msrb/projects/temp/temp es/temp.txt')]
['1\n', '2\n', '3\n', '\n']
答案 2 :(得分:0)
请检查您当前的目录。
为此,只需执行以下操作:
import os
print (os.getcwd())
答案 3 :(得分:0)
这是一个古老的问题,但是我想我还是要扔两美分。
我有同样的问题。我在我的IDE中使用VS Code,并且将文件夹设置设置为我拥有文件的位置上方的文件夹。这显然是问题所在。一旦我在VScode中打开了代码和文本文件都位于的文件夹,就可以毫无问题地打开文件。
答案 4 :(得分:0)
问题可能出在您正在执行文件的确切位置。
我遇到了同样的问题,但是注意到,我的IDE(VS代码)中的终端正在其他位置执行文件。通过简单地cd
到终端中的文件位置,一切正常。 ;)
答案 5 :(得分:0)
我遇到了同样的问题,但现在对我有用。我曾经用一个子地图打开一个大地图,而文件在其中一个子地图中。现在,我打开程序和file.txt所在的子图,并且代码open("file.txt", "r")
有效
答案 6 :(得分:0)
我知道这是一个老问题,但这里有另一种选择。
如果您在同一个文件夹中有多个文件,请设置您的 parent_folder:
parent folder = "C:/Users/User/Desktop/"
必要时扩展文件夹:
import os.path
folder = os.path.join( parent_folder, "python stuff" )
添加文件名:
file = os.path.join( folder, "Data.txt" )
打开文件:
if os.path.exists( file ):
with open( file, "r" ) as infile:
data = infile.read()
或:
import os
import os.path
# get the desktop location ( since this is a special folder )
desktop = os.path.join(( os.environ["userprofile"] ), "desktop" )
file = os.path.join( desktop, "python stuff", "data.txt" )
if os.path.exists( file ):
with open( file, "r" ) as infile:
data = infile.read()
答案 7 :(得分:0)
我在使用 vs 代码时遇到了类似的问题。如果使用内置的绿色三角形运行,它似乎可以运行代码,但它不知道在哪里查找文件。打开一个集成终端到正确的文件夹并从终端行运行。似乎有些东西与代码可以弄清楚......
答案 8 :(得分:0)
我在使用 pyCharm 时遇到了同样的问题。我发现您有时必须通过编辑配置和工作目录来指定目录