将文本文件导入python?

时间:2014-05-22 00:53:36

标签: python

我是编程游戏的新手,本季度在学校学习python。我在导入和读取纯文本文件时遇到了一些问题。出于某种原因,我的老师编写的代码与他也写的纯文本文件一起工作,但是当我只是更改文件的名称并尝试打开另一个纯文本文件时,我收到一条错误消息。

以下是我老师的代码:

fileHandler = open("carBrands.txt","r")
car = fileHandler.readline(4)
print(car)

这是我的代码:

fileHandler = open("cars.txt","r")
car = fileHandler.readline(4)
print(car)

正如您所看到的,我唯一改变的是文件名,但由于某种原因,我收到此错误消息:

Traceback (most recent call last):
  File "/Users/**********/Downloads/5-13 and 5-15 Files 2/testopen.py", line 2, in <module>
    fileHandler = open("cars.txt")
FileNotFoundError: [Errno 2] No such file or directory: 'cars.txt'

我已经三次检查确实存在&#39; cars.txt&#39;文件,有些我想知道是否有人可以帮助清理我犯错误的地方。

谢谢!

1 个答案:

答案 0 :(得分:1)

传递到open的路径是 relative 到当前工作目录。在大多数情况下,这是您运行脚本时所在的目录,而必然是脚本所在的目录。

以下是一个示例 - 假设您在主目录script.py中的目录test/中有一个文件/home/kellan/。它的完整路径是/home/kellan/test/script.py,它包含以下内容:

fileHandler = open("cars.txt", "r")
car = fileHandler.readline(4)
print(car)

cars.txt放入test/,使其完整路径为/home/kellan/test/cars.txt。在您的主目录中,使用以下命令运行脚本:

python test/script.py

这应该会引发FileNotFoundErrorIOError

现在,运行mv test/cars.txt cars.txt以使cars.txt现在位于您的主目录中,然后再次运行该脚本。它应该现在可以工作,因为在脚本中,您打开的文件的路径相对于当前工作目录。