1

そのPythonコードを使用して3つの入力を取得し、ファイルに書き込みましたが、/ tmpの下にあるoutput.txtという名前のファイルを見ると、文字列の最後に「i」が追加されています。 a、b、c、それぞれ私はそのような入力を取得します:abci。この問題を解決するにはどうすればよいですか?

    name = raw_input("Name:")
    email = raw_input("Email:")
    phone = raw_input("Telephone:")

    a=open("/tmp/output.txt","w")
    a.writelines( name+' '+email+' '+phone)
    a.close()
4

3 に答える 3

1

私はしません:

$ cat >/tmp/t <<_EOF_
> name = raw_input("Name:")
> email = raw_input("Email:")
> phone = raw_input("Telephone:")
>
> a=open("/tmp/output.txt","w")
> a.writelines( name+' '+email+' '+phone)
> a.close()
> _EOF_

$ (echo "John Smith"; echo "nobody@example.com"; echo "123-45-678") | python /tmp/t

$ hexdump -C /tmp/output.txt
00000000  4a 6f 68 6e 20 53 6d 69  74 68 20 6e 6f 62 6f 64  |John Smith nobod|
00000010  79 40 65 78 61 6d 70 6c  65 2e 63 6f 6d 20 31 32  |y@example.com 12|
00000020  33 2d 34 35 2d 36 37 38                           |3-45-678|
00000028
于 2012-11-27T04:16:15.217 に答える
1

phone最後にあるか'i'、後で何かがファイルに追加'i'されます。

.writelines()文字列のシーケンスを受け入れます。ここでは偶然にも機能します (任意の文字列も 1 つの文字列のシーケンスです)。文字列をファイルに書き込むには、代わりに使用できます.write()'\n'必要に応じて最後に追加してください。改行も追加もしません.writelines().write

于 2012-11-27T05:23:29.580 に答える
0

印刷してみる

print phone

変数「phone」の内容が期待どおりかどうかを確認する

于 2012-11-27T04:11:39.010 に答える