【发布时间】:2018-02-01 11:09:28
【问题描述】:
我正在尝试在 Python3.6 脚本中运行 bash while 循环。到目前为止我尝试过的是:
subprocess.run(args=['while [ <condition> ]; do <command> done;'])
我收到以下错误:
FileNotFoundError: [Errno 2] 没有这样的文件或目录
有没有办法在Python 中运行这样的while 循环?
【问题讨论】:
-
欢迎来到 SO:请使用 tour 并注意阅读 minimal reproducible example。向我们展示您的代码,我们可以帮助您。
-
这缺少
shell=True关键字参数。照原样,您正在尝试使用传入的字符串的名称执行二进制文件。请注意,我从未见过有任何需要。 -
while不是程序,它是 bash 内置命令。试试bash -c "while ..." -
感谢@dhke 的成功。
-
你应该传递的参数是
['/bin/bash', '-c', ' .. your code ..']。这样,您可以根据需要控制 stdout 和 stderr。
标签: python bash python-3.x while-loop subprocess