1

Python スクリプトを使用して UNIX コマンドを実行しています。その出力 (複数行) を文字列変数に格納しています。次に、その複数行の文字列を 3 つの部分に分割して (パターンEnd---Endで区切られた) 3 つのファイルを作成する必要があります。

これは私の出力変数に含まれるものです

Output = """Text for file_A
something related to file_A
End---End
Text for file_B
something related to file_B
End---End
Text for file_C
something related to file_C
End---End"""

ここで、この出力の値に対して、file_A、file_B、および file_C の 3 つのファイルが必要です。

file_Aの内容

Text for file_A
something related to file_A

file_Bの内容

Text for file_B
something related to file_B

file_Cの内容

Text for file_C
something related to file_C

また、出力にそれぞれのファイルのテキストがない場合、そのファイルを作成したくありません。

例えば

Output = """End---End
Text for file_B
something related to file_B
End---End
Text for file_C
something related to file_C
End---End"""

file_Aのテキストがないため、file_Bとfile_Cのみを作成したい

file_Bの内容

Text for file_B
something related to file_B

file_Cの内容

Text for file_C
something related to file_C

これをPythonでどのように実装できますか? 区切り文字を使用して複数行の文字列を分割するモジュールはありますか?

ありがとう :)

4

2 に答える 2

2

split()次の方法を使用できます。

>>> pprint(Output.split('End---End'))
['Text for file_A\nsomething related to file_A\n',
 '\nText for file_B\nsomething related to file_B\n',
 '\nText for file_C\nsomething related to file_C\n',
 '']

末尾にa があるため'End---End'、最後の分割は を返す''ため、分割数を指定できます。

>>> pprint(Output.split('End---End',2))
['Text for file_A\nsomething related to file_A\n',
 '\nText for file_B\nsomething related to file_B\n',
 '\nText for file_C\nsomething related to file_C\nEnd---End']
于 2015-01-06T14:23:38.387 に答える