Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【python3】2つのテキストファイルを結合する(cat, merge)

2つのテキストファイルを結合する必要があった
コマンドラインでいうところのcat

そんなに重いファイルじゃないから、cat hoge1.txt hoge2.txt > merged.txt みたいな感じのコマンドをシェルを呼び出す関数で実行しようと思ってた

が、いくらやってもうまく行かない・・・

■ 参考 : シェルコマンドを実行する

subprocess.call('cat hoge1.txt hoge2.txt > merged.txt ')でいけるかと思ってました

が、subprocessでリダイレクトとかパイプを使うのは大変っぽい


一応、subprocessだけでもできるらしい・・・
■ 参考 : subprocessモジュールでリダイレクト(>, >>)を実現する


しょうがないので、2つのテキストを開いて、1つにまとめる方法でやる。

■ 参考 : Pythonはテキストファイルを連結する

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)
これで一応うまくいった

ランキング参加中です

↓クリックしていただけると嬉しいです〜