2つのテキストファイルを結合する必要があった
コマンドラインでいうところのcat
そんなに重いファイルじゃないから、cat hoge1.txt hoge2.txt > merged.txt みたいな感じのコマンドをシェルを呼び出す関数で実行しようと思ってた
が、いくらやってもうまく行かない・・・
subprocess.call('cat hoge1.txt hoge2.txt > merged.txt ')でいけるかと思ってました
が、subprocessでリダイレクトとかパイプを使うのは大変っぽい
一応、subprocessだけでもできるらしい・・・
■ 参考 : subprocessモジュールでリダイレクト(>, >>)を実現する
しょうがないので、2つのテキストを開いて、1つにまとめる方法でやる。
filenames = ["hoge1.txt"', "hoge2.txt"]
with open("merged.txt", 'w') as outfile:
for line in itertools.chain.from_iterable(itertools.imap(open, filnames)):
outfile.write(line)
これで一応うまくいった
with open("merged.txt", 'w') as outfile:
for line in itertools.chain.from_iterable(itertools.imap(open, filnames)):
outfile.write(line)
ランキング参加中です
↓クリックしていただけると嬉しいです〜