无法读取绝对存在的文件

时间:2014-11-16 17:13:22

标签: python

我编写了以下代码来打开特定文件。该文件肯定存在,为什么Python说没有这样的文件?

try:
    fh = open("F:/EveryThing! Python/CorePython/Strings/tester.txt");
    strg = fh.read();
    print (strg);
except IOError, e:
    print e;
    print "outputting e",e.args;
finally:
    print "This is bound to be executed";

输出:

[Errno 2] No such file or directory: 'F:/EveryThing! Python/CorePython/Strings/tester.txt'
outputting e (2, 'No such file or directory')
This is bound to be executed

2 个答案:

答案 0 :(得分:0)

你必须错误地指定文件名,因此根据python它不“肯定存在”。使用os.path.exists检查文件是否确实存在于给定位置。例如,我在运行下面代码的目录中创建了一个文件“a.txt”,但是“b.txt”不存在:

import os

print os.path.exists("a.txt")
print os.path.exists("b.txt")

try:
    open("a.txt")
except IOError, e:
    print e

try:
    open("b.txt")
except IOError, e:
    print e

这里的输出是:

> python ff.py 
True
False
[Errno 2] No such file or directory: 'b.txt'

答案 1 :(得分:0)

我刚刚遇到了相同的错误,我怀疑您的原因与我的原因相同。如果您使用的是Windows 10,请确保要通过OneDrive访问目录,而不是直接从用户那里访问桌面路径。所以不用打字

open("C:/Users/UserName/Desktop/FileName.ext");

open("C:/Users/UserName/OneDrive/Desktop/FileName.ext");

您可以通过输入

来检查当前目录中有哪些文件
import os;
os.chdir("directoryPath");
os.listdir();

来源:https://stackoverflow.com/a/12202004/8955961