Сообщение об ошибке Python io.UsupportedOperation: не читается

Я сделал простую программу, но при запуске я вижу следующую ошибку:

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/4th, py.py", строка 18, в
для строки в файле:

Неподтвержденная работа: не читается

Ответ 1

Вы открываете файл как 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.

Ответ 2

Существует несколько режимов открытия файла (чтение, запись и т.д.).

Если вы хотите прочитать из файла, вы должны ввести file = open("File.txt","r"), если пишите, чем file = open("File.txt","w"). Вы должны дать правильное разрешение относительно вашего использования.

больше режимов:

  • р. Открывает файл только для чтения.
  • гь. Открывает файл для чтения только в двоичном формате.
  • r+ Открывает файл для чтения и записи.
  • rb+ Открывает файл для чтения и записи в двоичном формате.
  • ш. Открывает файл только для записи.
  • вы можете найти больше режимов здесь

Ответ 3

Если вы хотите открыть файл для чтения, записи и создания его, если он не существует, я предлагаю вам использовать a+.

a+ Открывает файл для добавления и чтения. Указатель файла находится в конце файла, если файл существует. Файл открывается в режиме добавления. Если файл не существует, он создает новый файл для чтения и записи. - режимы файлов Python

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

Примечание: открытие файла в блоке with гарантирует, что файл будет надлежащим образом закрыт в конце блока, даже если на пути возникает исключение. Это эквивалентно try-finally, но намного короче.