python subprocess.Popen vs shlex问题

时间:2011-09-23 23:50:14

标签: python list subprocess pipe

2 个答案:

答案 0 :(得分:2)

听起来你想要运行一对命令并加入它们的输出:

cmds = [
    'find /media/FreeAgent\ GoFlex\ Drive/tobins-media -type f',
    'find /home/bludiescript/tv-shows -type f'
]

ouput = '\n'.join(subprocess.check_output(shlex.split(cmd)) for cmd in cmds)

答案 1 :(得分:0)

尝试os.walk而不是调用find。这将产生更强大的代码。以下内容相当于您第一次调用find

top = '/media/FreeAgent GoFlex Drive/tobins-media'
for dirpath, dirnames, filenames in os.walk(top):
    for filename in filenames:
        print os.path.join(dirpath, filename)

但这并没有回答这个问题。