ここで髪を抜く...この1時間、これで遊んでいますが、私が望むことを実行することができません。改行シーケンスを削除します。
def add_quotes( fpath ):
ifile = open( fpath, 'r' )
ofile = open( 'ofile.txt', 'w' )
for line in ifile:
if line == '\n':
ofile.write( "\n\n" )
Elif len( line ) > 1:
line.rstrip('\n')
convertedline = "\"" + line + "\", "
ofile.write( convertedline )
ifile.close()
ofile.close()
手がかりはrstrip
の署名にあります。
文字列のコピーを返しますが、目的の文字が削除されているため、line
に新しい値を割り当てる必要があります。
line = line.rstrip('\n')
これにより、非常に便利な操作の連鎖が可能になります。
"a string".strip().upper()
Max。S がコメントで述べているように、Python文字列は不変です。つまり、「変更」操作を行うと、変更されたコピーが生成されます。
これは、多くのフレームワークと言語でどのように機能するかです。本当に可変の文字列タイプが必要な場合(通常はパフォーマンス上の理由から)、文字列バッファクラスがあります。
あなたはこのようにそれを行うことができます
def add_quotes( fpath ):
ifile = open( fpath, 'r' )
ofile = open( 'ofile.txt', 'w' )
for line in ifile:
line=line.rstrip()
convertedline = '"' + line + '", '
ofile.write( convertedline + "\n" )
ifile.close()
ofile.close()
Skurmedelの回答とコメントでほのめかされているように、次のようなことをする必要があります。
stripped_line = line.rstrip()
次に、striped_lineを書き出します。