在python中读取文本时找不到文件错误

2024-04-24 03:23:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图通过python读取硬盘上的文本文件,脚本如下:

fileref = open("H:\CloudandBigData\finalproj\BeautifulSoup\twitter.txt","r")

但它给出了以下错误:

IOError                                   Traceback (most recent call last)
<ipython-input-2-4f422ec273ce> in <module>()
----> 1 fileref = open("H:\CloudandBigData\finalproj\BeautifulSoup\twitter.txt","r")

IOError: [Errno 2] No such file or directory: 'H:\\CloudandBigData\x0cinalproj\\BeautifulSoup\twitter.txt'

我也试过其他方法:

with open('H:\CloudandBigData\finalproj\BeautifulSoup\twitter.txt', 'r') as f:
    print f.read()

最后也犯了同样的错误。文本文件位于指定的目录中。


Tags: txt脚本most错误twitteropen文本文件traceback
2条回答

替换

fileref = open("H:\CloudandBigData\finalproj\BeautifulSoup\twitter.txt","r")

fileref = open(r"H:\CloudandBigData\finalproj\BeautifulSoup\twitter.txt","r")

在这里,我创建了一个原始字符串(r"")。这将导致诸如"\t"之类的内容不被解释为制表符。

另一种不用原始字符串的方法是

fileref = open("H:\\CloudandBigData\\finalproj\\BeautifulSoup\\twitter.txt","r")

这样就不会出现反斜杠(即"\\" => \)。


一个更好的解决方案是使用os模块:

import os
filepath = os.path.join('H:', 'CloudandBigData', 'finalproj', 'BeautifulSoup', 'twitter.txt')
fileref = open(filepath, 'r')

这将以一种与操作系统无关的方式创建您的路径,因此您不必担心这些事情。


最后一个音符。。。一般来说,我认为您应该使用问题中提到的with结构。。。我没有回答是为了简洁。

我遇到了同样的问题。此问题是由于不同的文件路径符号Python导致的。
例如,Windows中的filepath用反斜杠读取,如:“D:\ Python\Project\file.txt”

但是Python用正斜杠读取文件路径,如:“D:/Python/Project/file.txt”

我使用了r“filepath.txt”和“os.path.join”和“os.path.abspath”来缓解压力。os库还以Windows表示法生成文件路径。然后我使用IDE符号。

如果“file.txt”位于同一目录中,则不会遇到此错误,因为文件名已附加到工作目录中。

PS:我在Windows机器上使用Python3.6和Spyder IDE。

相关问题 更多 >