在python中打开文件时出错

时间:2014-02-05 14:09:21

标签: python

让我们考虑以下代码:

fp=open('PR1.txt','r')
ch=fp.readlines()
print "%s" % (' '.join(ch))
print "\n"
fp.close()

上面的代码给出了错误:

IOError: [Errno 2] No such file or directory: 'PR1.txt'

但是当我提供它的完整位置时,

fp=open('D:/PR1.txt','r')

然后它正常工作......

是否有必要提供文件的完整位置或者还有其他方法?

1 个答案:

答案 0 :(得分:6)

不,没有必要,但您需要确定使用正确的工作目录运行脚本。您的脚本工作目录显然是 not D:/

实际上,如果您完全控制工作目录,最好只使用相对路径。您可以使用os.getcwd()获取当前工作目录并使用os.chdir()进行设置,但使用绝对路径通常会更好。

对于相对于当前模块或脚本的路径,请使用__file__ global来生成目录名称:

import os.path

here = os.path.dirname(os.path.absolute(__file__))

然后使用os.path.join()使相对路径绝对参考here