2013-08-16 8 views

答えて

14

str.rstrip()は、改行の末尾にある改行を削除します。結局のところ、長い文字列が1つあります。

str.splitlines()を使用して、ドキュメントを改行なしでに分割します。;あなたがしたい場合は、それを再度参加することができます

doclines = doc.splitlines() 
doc_rejoined = ''.join(doclines) 

が、今doc_rejoinedは、区切り文字なしで一緒に実行されているすべての行を持つことになります。

2

rstrip文字列全体の末尾のスペースを削除します。個々の行で動作することを期待している場合は、文字列を最初にdoc.split('\n')のような行を使用して分割する必要があります。

+2

または単に 'replace( '\ n'、 '')'。行の終わりは、行の終わりを除いては発生しません。 – user2357112

+0

@ user2357112ベストアンサー。 – Deneb

3

あなたは次のようになります1つの文字列に、文書全体を読んでいるので:あなたは、その文字列にrstrip('\n')を行うと、唯一の右端の\nは、他のすべては、手つかずのままに、削除されます

'a\nb\nc\nd\n' 

、その文字列

'a\nb\nc\nd' 

解決方法は、ファイルを複数の行に分割し、次にすべての行を右から削除することです。あるいは、すべての改行文字を何も無しに置き換えてください。s.replace('\n', '')は、'abcd'です。

1

代わりにこれを試してみてください:

with open('doc.txt') as f: 
    for line in f: 
     print line, 

説明:

  • 最後にファイルを閉じるの世話をwithを使用しているファイルを開くために推奨される方法、
  • あなたが反復することができますファイルの各行で使用するfor line in f
  • 今はrstrip()に電話する必要はありません1行ずつ印刷することをお勧めします
0

replaceを使用し、 '\ n'の各インスタンスを ''に置き換えることを検討してください。これは、入力テキストのすべての改行文字を取り除きます。