当我尝试在Python中打开一个文件时,我得到一个错误。下面是我的代码:
>>> import os.path
>>> os.path.isfile('/path/to/file/t1.txt')
>>> True
>>> myfile = open('/path/to/file/t1.txt','w')
>>> myfile
>>> <open file '/path/to/file/t1.txt', mode 'w' at 0xb77a7338>
>>> myfile.readlines()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IOError: File not open for reading
我也试过了:
for line in myfile:
print(line)
我得到了同样的错误。有人知道为什么会发生这个错误吗?
发布于 2012-11-09 22:05:14
您可以通过将模式指定为'w'
来打开要写入的文件;改为打开要读取的文件:
open(path, 'r')
'r'
是默认值,因此可以省略它。如果同时需要读写,请使用+
模式:
open(path, 'w+')
w+
打开文件进行写入(将其截断为0字节),但也允许您从中读取。如果你使用r+
,它也是打开的,可以读写,但不会被截断。
如果您要使用双模式,如r+
或w+
,则还需要熟悉.seek()
method,因为同时使用读和写操作将移动文件中的当前位置,并且您很可能希望在这些操作之间显式地移动当前文件位置。
有关更多详细信息,请参阅documentation of the open()
function。
发布于 2012-11-09 22:10:59
如果你仔细想想,就会发现这是一个简单的错误。在您的代码中,您正在执行以下操作:
myfile = open('/path/to/file/t1.txt','w')
它指定它是用于写入的,您需要做的是将它设置为r,它用于读取
myfile = open('/path/to/file/t1.txt','r')
https://stackoverflow.com/questions/13309548
复制相似问题