1

たとえば、一連の行を含む単純な.txtファイルがあります

motorola phone
happy cows
teaching
school work
far far north
teaching
hello

今私がしたいのは、これらすべての文字列を読み取って出力することだけです。したがって、行に印刷したい教育が含まれている場合、teaching is awesome ここに私のコードがあります

with open("input.txt", "r") as fo:
    for line in fo:
        if "teaching" in line:
            line = line.rstrip('\n') + " is awesome"
            print line
        else:
            print(line.rstrip('\n'))

しかし、これは印刷です

ここに画像の説明を入力

残りの文字列に何が起こっているのか。だって印刷って教わるってすごいじゃないですか。Pythonのこの動作を説明できる人はいますか。ありがとう

4

3 に答える 3

1
rstrip('\r\n') 

魅力のように機能します。私はUbuntuを使用していることに言及する必要がありますが、Windowsでのみ動作します'\n' .

于 2017-01-24T17:55:44.400 に答える
0

おそらく、windows ファイルに'\r\n'and rstripis \rreturn があります。これは、改行が行頭に戻り、上書きされていることを意味します。

試すrstrip('\r').rstrip('\n')

于 2017-01-24T16:09:33.323 に答える