web-dev-qa-db-ja.com

Pythonエラーメッセージio.UnsupportedOperation:not readable

簡単なプログラムを作成しましたが、実行すると次のエラーが表示されます。

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行目
ファイル内の行:

UnsupportedOperation:読み取り不可

26
Sachin Patil

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.
59
TheDarkKnight

ファイルを開くモードはいくつかあります(読み取り、書き込みなど)。

ファイルから読み取りたい場合は、file = open("File.txt","r")よりも書き込む場合は、file = open("File.txt","w")と入力する必要があります。使用に関して適切な許可を与える必要があります。

その他のモード:

  • r。読み取り専用でファイルを開きます。
  • rb。バイナリ形式でのみ読み取り用にファイルを開きます。
  • r +読み取りと書き込みの両方のためにファイルを開きます。
  • rb +読み取りと書き込みの両方のファイルをバイナリ形式で開きます。
  • w。書き込み専用にファイルを開きます。
  • こちら で他のモードを見つけることができます
5
omri_saadon

ファイルの読み取り、書き込み、および存在しない場合の作成の両方を行う場合は、a+を使用することをお勧めします。

a +追加と読み取りの両方のためにファイルを開きます。ファイルが存在する場合、ファイルポインターはファイルの末尾にあります。ファイルは追加モードで開きます。ファイルが存在しない場合、読み取りおよび書き込み用の新しいファイルが作成されます。 - Pythonファイルモード

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

注:withブロックでファイルを開くと、例外が発生した場合でも、ファイルがブロックの最後で適切に閉じられます。道。 try-finallyと同等ですが、はるかに短いです。

2
Sapnesh Naik