我制作了一个简单的程序,但是当我运行它时会显示以下错误:
line1 = []
line1.append("xyz ")
line1.append("abc")
line1.append("mno")
file = open("File.txt","w")
for i in range(3):
file.write(line1[i])
file.write("\n")
for line in file:
print(line)
file.close()
显示以下错误消息:
文件“C:/ Users / Sachin Patil / fourth,py.py”,第18行,在中 对于文件中的行:
UnsupportedOperation:不可读
答案 0 :(得分:49)
您要将文件打开为w
,代表writable
。
使用w
您将无法读取该文件。请改用以下内容:
file = open("File.txt","r")
此外,以下是其他选项:
"r" Opens a file for reading only.
"r+" Opens a file for both reading and writing.
"rb" Opens a file for reading only in binary format.
"rb+" Opens a file for both reading and writing in binary format.
"w" Opens a file for writing only.
答案 1 :(得分:5)
打开文件的方式很少(读,写等)。
如果您想从文件中读取,则应键入file = open("File.txt","r")
,如果写入时不是file = open("File.txt","w")
。您需要就使用情况给予正确的许可。
更多模式:
答案 2 :(得分:2)
如果您要同时打开文件以进行读取,写入和创建(如果该文件不存在),那么我建议您使用a+
。
a +打开一个文件以进行附加和读取。文件指针位于 文件的末尾(如果文件存在)。该文件在附件中打开 模式。如果该文件不存在,它将创建一个新文件以供读取 和写作。 -Python file modes
with open('"File.txt', 'a+') as file:
print(file.readlines())
file.write("test")
注意:在with
块中打开文件可确保在块末尾正确关闭文件,即使途中出现异常也是如此。它等效于try-finally
,但更短。
答案 3 :(得分:2)
如果文件不存在,这将允许您读取,写入和创建文件:
f = open('filename.txt','a+')
f = open('filename.txt','r+')
常用命令:
f.readline() #Read next line
f.seek(0) #Jump to beginning
f.read(0) #Read all file
f.write('test text') #Write 'test text' to file
f.close() #Close file
答案 4 :(得分:1)
Sreetam Das 的表不错,但根据 w3schools 和我自己的测试需要进行一些更新。不确定这是否是由于迁移到 python 3。
"a" - Append - 将追加到文件的末尾,如果指定的文件不存在,将创建一个文件。
"w" - 写入 - 将覆盖任何现有内容并在指定文件不存在时创建一个文件。
"x" - 创建 - 将创建一个文件,如果文件存在则返回错误。
我会直接回复,但我没有代表。