Сообщение об ошибке 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
, но намного короче.