Python错误消息io.UnsupportedOperation:不可读

问题描述 投票:17回答:3

我做了一个简单的程序,但是当我运行它时会显示以下错误:

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行,in 对于文件中的行:

UnsupportedOperation:不可读

python-3.x file
3个回答
55
投票

您打开文件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.

5
投票

打开文件的方式很少(读,写等)。

如果你想从文件中读取,你应该键入file = open("File.txt","r"),如果写入比file = open("File.txt","w")。您需要就使用情况给予正确的许可。

更多模式:

  • 河打开文件以供阅读。
  • RB。打开文件以仅以二进制格式读取。
  • r +打开文件进行读写。
  • rb +以二进制格式打开文件进行读写。
  • W上。打开文件仅供写入。
  • 你可以在here找到更多的模式

2
投票

如果你想打开一个文件进行阅读,写作并创建它,如果它不存在那么我建议你使用a+

a +打开文件以进行追加和阅读。如果文件存在,则文件指针位于文件的末尾。该文件以追加模式打开。如果该文件不存在,则会创建一个用于读写的新文件。 -Python file modes

with open('"File.txt', 'a+') as file:
    print(file.readlines())
    file.write("test")

注意:在with块中打开文件可确保文件在块结束时正确关闭,即使在途中引发异常也是如此。它相当于try-finally,但更短。

© www.soinside.com 2019 - 2024. All rights reserved.