我有一个python脚本,它可以根据给定的输入生成一些shell命令。问题是,当它试图执行生成的命令时,它会失败,但是当我自己运行生成的命令(即从命令行)时,它们会成功执行。shell命令从python失败,从shell中可以正常工作
这里是生成的命令:
find /home/me/downloader/0-29/ -type f | grep -i .rpm$ | xargs -i cp {} /home/me/downloader/builds/0-29/
下面是当它是由python脚本运行错误消息:
find: paths must precede expression: | Usage: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
你能帮助我了解的问题是什么?
UPD:这里是功能我使用的执行产生的命令:
def exec_command(command):
process = subprocess.Popen(command.split(), stdout=subprocess.PIPE)
output = process.communicate()[0]
return output
你是如何从python执行该行的?提供一些代码? – theAlse
你可能需要在python中引用你的命令来执行... – user3