我有一个脚本 abc.sh ,其中包含带有标志的命令列表。
例子
//abc.sh
echo $FLAG_name
cp $FLAG_file1 $FLAG_file2
echo 'file copied'
我想通过python代码执行这个脚本。
说
//xyz.py
name = 'FUnCOder'
filename1 = 'aaa.txt'
filename2 = 'bbb.txt'
subprocess.call([abc.sh, name, filename1, filname2], stdout=PIPE, stderr=PIPE, shell=True)
这个电话打不通。
还有哪些其他选择?
shell 脚本文件也位于其他目录中。我希望输出进入日志。
通常你想使用Popen http://docs.python.org/2/library/subprocess.html#popen-constructor因为事后你可以控制过程。尝试:
import subprocess
process = subprocess.Popen(['abc.sh', name, filename1, filname2], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
process.wait() # Wait for process to complete.
# iterate on the stdout line by line
for line in process.stdout.readlines():
print(line)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)