我的以下代码有问题:
callBash.py:
import subprocess print "start" subprocess.call("sleep.sh") print "end"
sleep.sh:
sleep 10
我希望10秒钟后打印“结束”。(我知道这是一个愚蠢的示例,我可以简单地在python中睡眠,但是这个简单的sleep.sh文件只是作为测试)
使sleep.sh可执行并添加shell=True到参数列表中(如先前答案中所建议)可以正常工作。根据搜索路径,您可能还需要添加./或其他合适的路径。(即,更改"sleep.sh"为"./sleep.sh"。)
shell=True
./
"sleep.sh"
"./sleep.sh"
shell=True如果bash脚本的第一行是shell的路径,则不需要该参数(在Linux等Posix系统下)。例如,#!/bin/bash。
#!/bin/bash