0

テキスト ファイルから入力を取得し、「\n」文字に遭遇するたびにテキストを分割しようとしていますが、何も分割されません。タブとスペースで試してみましたが、完全に機能します。何らかの理由で、改行文字では機能しません。文字列を取得する方法と関係がありますか? ファイルをプログラムにパイプしています。同じコード行を IDLE で試してみると、問題なく動作します。

t= input("input string : " )
...


tps = t.split('\n')
print(tps)
4

2 に答える 2

3

input()1 行だけ読み取ります。一度に 1 行ずつ読み取り、ループで実行する必要があります。

try:
    while True:
        t = input("input string : " )  # Or raw_input for Python 2
        print t.replace('e', 'X')
except EOFError:
    pass

その例を次のように実行するpython x.py < x.pyと、次のように出力されます。

input string : try:
input string :     whilX TruX:
input string :         t = raw_input("input string : " )
input string :         print t.rXplacX('X', 'X')
input string : XxcXpt EOFError:
input string :     pass
input string :
于 2013-07-05T19:53:49.927 に答える
0

改行で複数行の文字列を分割するには、通常、str.splitlines()代わりに使用します。これは、さまざまな改行規則を処理します。

>>> 'Test\r\nlines\nall mixed\r'.splitlines()
['Test', 'lines', 'all mixed']

いずれにせよ、最初の行input()のみが表示されることに注意してください。複数行の入力の場合は、おそらく代わりに読み取りたいと思うでしょう:sys.stdin

for line in sys.stdin:
    # handle a line

またはループで行を読み取ります。

while True:
    line = input()
于 2013-07-05T19:52:33.637 に答える