2016-07-04 10 views
0

私は辞書を持っている:テキストファイル内の文字列全体をインデントする方法は?

page_info = {'LISTS':['string 1', 'string 2']} 

私は言葉をテキストファイルに印刷するには、右側にその下に表示されるキーとインデント1つのスペースのヘッダと値という「LISTS」。ご覧のとおり enter image description here

、最初の行だけが各文字列のためにインデントされています

with codecs.open(stats_file, 'a', encoding="utf8") as file: 
    file.write('LISTS:' + '\n') 
    for tag in page_info['LISTS']: 
     file.write('\t' + tag + '\n\n') 

は、ここでファイルに出力します。文字列のテキストブロック全体をどのようにインデントするのですか?

+0

これらの文字列をそれぞれ独自の行に分割し、それぞれをインデントする必要があります。文字列全体だけを処理しているので、内部改行については何もしません。最初の行だけです。 –

答えて

2

はあなたの行を折り返すと、各行にインデントを追加するtextwrap moduleを使用します。

wrapper = textwrap.TextWrapper(initial_indent='\t', subsequent_indent='\t') 
for tag in page_info['LISTS']: 
    wrapped = wrapper.fill(tag) 
    file.write(wrapped + '\n') 

あなたもwidth引数を指定することもできます。デフォルトは70文字に設定されています。

関連する問題