kuroの覚え書き

96の個人的覚え書き

文字列内に変数を展開してコマンドを投げる。

Pythonからshellスクリプトを実行するとして、shellに変数を渡したいときはどうすればいいのか?

cmd = "ls /data/file/folder/*/*.bam > list.txt"
subprocess.call(cmd, shell=True)

この/data/file/folder/*/*.bamをPythonから引数として渡したい。
そういうときは

cmd1 = '/data/file/folder/*/*.bam'
cmd = 'ls  %s  > list.txt' % cmd1
subprocess.call(cmd, shell=True)

こんな感じで変数展開するといい。

参考
http://motw.mods.jp/Python/printf.html