2

テキストファイルを編集できるPythonプログラムを試しています。この機能は後で他のプログラムで使用しますが、エラーが発生します:[errno 22]引数:'test.txt\r'。また、test.txtに\rを追加したことはありません。これが私のコードです:

 def menu():
     print("Type in the full name of the text file you would like to add to.")
     file1 = input()
     with open(file1, "br") as add:
         print("What do you want to write?")
         text = input()
         add.write(text)
 menu()

さて、新しい問題。私はコードを編集して、今ではそれfile1 = input().strip()が表示され、別のエラーが発生するまですべて正常に機能するようにしました。エラーは次のとおりio:UnsupportedOperation: writeです。エラーは、それがと言う部分の7行目にあることを示していますadd.write(text)

open(file1, "br")気にしないでください、私はwithをwithに変更しました、open(file1, "a")そしてそれは今うまくいきます。あなたのすべての助けてくれてありがとう!!!

4

2 に答える 2

4

使用する:

file1 = input().strip()

input()最後に新しい行を返すため、ファイル名が無効になります。

于 2012-11-04T21:36:17.760 に答える
1

input().strip()入力から末尾の新しい行を削除するために使用します。これは、ターミナルまたはcmdでプログラムを実行したことが原因である可能性があります。

于 2012-11-04T21:36:58.510 に答える