2017-07-26 8 views
-1

私はPythonには初めて、コーディングでは初心者です。私はこの質問に対する具体的な答えを見つけられませんでしたが、それはとても簡単だと確信しています。python .write(raw_input( '>'))は動作しますが、次のコマンドラインに "None"と表示されます。

ファイルを 'r +'モードで開いて、生の入力に基づいて文字列を書き込むことができました。それはうまく動作し、ファイルに書き込まれた生の入力が、コマンドラインの次の行は自動的に単語 "なし"を返します。ここで

は私のコード

印刷txt.read()

プリントである "ファイルに追加するテキストを入力してください:"

印刷txt.write(raw_input( '> 「))

印刷ここで "感謝"

とretuです

RNファイルに追加するテキストを入力してください:

ここでは11:26午前

なし

おかげ

どのように取り除くことができますから、いくつかのテキストがありますこの「なし」出力のうち、何が原因ですか?私はリターン議論を探してきましたが、何をすべきか分かりません。

また、未処理の入力文字列を書いているドキュメントの新しい行に挿入するにはどうすればよいですか?

ありがとうございます!

+0

このn00bの教育をお手伝いいただき、ありがとうございます。私はより高度なプログラマーになったときに現物に戻ることを約束します。それまで私は以前に答えられた質問のためにこのリソースを精練し、私が見つけることができないものをもう一度尋ねるでしょう。乾杯。 – Hanzy

答えて

0

txt.write(raw_input(">"))を実行すると、コードは入力をファイルに書き込みます。しかし、関数は何もreturnではありません - それは必要ありません。それは、それだけで独自のものをする機能の1つです。

これを取り除くには、印刷しないでください。

+0

ありがとう!ですから、私はtxt.write(raw_input( '>'))と書くだけで十分です。 – Hanzy

+0

@Hanzy正解! – TerryA

+0

ありがとう!展開するだけで、私が書いているファイルの新しい行に生の入力文字列をどうやって置くことができますか? – Hanzy

0

printprint txt.write(raw_input('> '))から削除します。 Noneを印刷する理由は、組み込みのfile.write()が何も返さないため、単にファイルに書き込むためです。

text=raw_input('Enter some text to add to the file > ') 
print text 
txt.write(text) 
print 'Thanks' 
1

短い答えを - 3行目からprintを削除:ユーザーによって入力された入力を確認したい場合は、これを行います。

txt.write(raw_input('>'))はファイルに書き込みますが、Noneで表されるものは返しません。あなたはそれを呼び出す必要があります。この場合、

def test(): 
    print 'None appears below me' 

print test() 
#None appears below me 
#None 

を、そしてそれが印刷されます:あなたはリターンせずに、独自の機能を記述する場合

同じことが起こるでしょう

test() 
#None appears below me 

同じことがwrite()方法のために行きます。改行用の

txt.write(raw_input('>') + '\n')

0

のpython 2.7ノーリターン

ヘルプ(f.write)組み込み関数の書き込みに ヘルプ:

書き込み(...) 書き込み(STR) - >なし。文字列strをファイルに書き込みます。

Note that due to buffering, flush() or close() may be needed before 
the file on disk reflects the data written. 

python3.5

ヘルプ(f.write)組み込み関数の書き込みに ヘルプ:ストリーミングする_io.TextIOWrapperインスタンスの

書き込み(テキスト、/)メソッド 書き込み文字列。 書き込まれた文字数を返します(文字列の長さは常に に等しくなります)。

関連する問題