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

Sac*_*til 29 file python-3.x

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

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()
Run Code Online (Sandbox Code Playgroud)

它显示以下错误消息:

文件"C:/ Users/Sachin Patil/fourth,py.py",第18
行,输入文件中的行:

UnsupportedOperation:不可读

Sre*_*Das 65

您正在打开文件w,代表writable.

使用w你将无法读取文件.请改用以下内容:

file = open("File.txt","r")
Run Code Online (Sandbox Code Playgroud)

此外,以下是其他选项:

"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.
Run Code Online (Sandbox Code Playgroud)

  • 每隔几个月就回来一次同样的错误! (6认同)

Sap*_*aik 17

使用a+打开一个文件进行读,写,以及如果它不存在,创建它。

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

with open('"File.txt', 'a+') as file:
    print(file.readlines())
    file.write("test")
Run Code Online (Sandbox Code Playgroud)

注意:with块中打开文件可确保文件在块的末尾正确关闭,即使在此过程中引发异常。它相当于try-finally,但要短得多。


omr*_*don 5

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

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

更多模式:

  • 河 打开一个文件以供只读。
  • rb。打开文件以仅以二进制格式读取。
  • r +打开一个文件以供读取和写入。
  • rb +打开一个文件,用于以二进制格式读取和写入。
  • w。打开仅用于写入的文件。
  • 您可以在这里找到更多模式


Pun*_*rud 5

如果文件不存在,您可以读取、写入和创建该文件:

f = open('filename.txt','a+')
f = open('filename.txt','r+')
Run Code Online (Sandbox Code Playgroud)

经常使用的命令:

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
Run Code Online (Sandbox Code Playgroud)