我的以下代码有问题:
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"
。)
如果bash脚本的第一行是shell的路径,则不需要shell=True
参数(在Linux等Posix系统下)。例如#!/bin/bash
。