IO.UnsupportedOperation: Python에서 쓰기 불가 오류
Python은 파일에서 데이터를 읽고 쓰는 데 매우 효율적입니다. 파일 처리에 도움이 되는 다양한 기능이 있습니다.
파일 처리의 기본은 open()
함수를 사용하여 파일을 열고 파일 모드에 따라 데이터를 읽거나 쓰는 것입니다.
open()
은 주어진 파일을 열고 파일에서 읽기 및 쓰기 작업을 수행하는 데 사용할 수 있는 파일 개체를 만듭니다.
파일은 다양한 유형의 모드로 열 수 있습니다. 기본적으로 읽기 모드에서 파일을 엽니다.
이 튜토리얼에서는 Python의 io.UnsupportedOperation: not writable
오류와 이를 수정하는 방법에 대해 설명합니다.
Python에서 io.UnsupportedOperation: 쓰기 불가능
오류 수정
이 오류는 읽기 모드로 열린 파일에서 쓰기
작업을 수행하려고 할 때 발생합니다. 읽기 모드로 열린 파일은 내용을 읽을 수만 있습니다.
예를 들어:
with open("sample.txt", "r") as f:
f.write("Text")
출력:
io.UnsupportedOperation: not writable
위의 예에서 r
모드(읽기)에서 파일을 열고 write()
함수를 사용하여 이 파일에 일부 데이터를 쓰려고 시도하므로 오류가 발생합니다.
이 문제를 해결하려면 이 작업을 지원하는 모드에서 파일을 여는 것을 잊지 마십시오. 쓰기(w
) 또는 추가(a
) 모드는 일부 데이터를 파일에 쓰는 데 사용됩니다.
w
모드에서 파일을 열면 이전 내용이 잘립니다. a
모드는 파일 끝에 내용을 추가하고 이전 데이터를 보존합니다.
예를 들어:
with open("sample.txt", "w") as f:
f.write("Text")
위의 예에서 성공적으로 오류를 피하고 파일에 데이터를 쓸 수 있습니다.
파일에서 데이터를 동시에 읽고 쓰려면 r+b
모드를 사용할 수 있습니다. 이 모드에서 파일을 열면 이진 모드에서 읽기 및 쓰기 작업을 수행할 수 있습니다.
예를 들어:
with open("sample.txt", "r+b") as f:
f.write(bytes("Text", "utf-8"))
파일이 바이너리 모드로 열리기 때문에 데이터를 바이트로 씁니다. 텍스트는 위의 예에서 utf-8
인코딩의 바이트로 인코딩됩니다.
또는 writable()
함수를 사용하여 파일 핸들을 사용하여 쓰기 작업을 수행할 수 있는지 여부를 확인할 수도 있습니다. True
또는 False
를 반환합니다.
아래 코드를 참조하십시오.
with open("sample.txt", "r") as f:
print(f.writable())
with open("sample.txt", "a") as f:
print(f.writable())
출력:
False
True
위의 예는 r
모드에서 파일을 열면 writable
함수가 False
를 반환하고 a
모드에서 파일을 열면 True
를 반환함을 보여줍니다.
결론
결론적으로 io.UnsupportedOperation: not writable
오류의 원인과 해결 방법에 대해 논의했습니다. 잘못된 모드에서 파일을 열면 어떻게 이 문제가 발생할 수 있고 어떤 파일 모드가 쓰기 작업을 지원하는지에 대해 논의했습니다.
또한 파일 개체가 쓰기 작업을 수행할 수 있는지 여부를 확인하는 데 사용할 수 있는 writable
함수의 사용을 시연했습니다.
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.