subprocess.run()不返回预期的输出[关闭]
Posted
技术标签:
【中文标题】subprocess.run()不返回预期的输出[关闭]【英文标题】:subprocess.run() doesn't return the expected output [closed] 【发布时间】:2022-01-22 17:13:47 【问题描述】:我正在尝试在 python 中执行一个 shell 脚本,但我没有得到预期的结果
脚本.sh
#!/bin/bash
file1=$1
file2=$2
cat $file1 $file2
蟒蛇:
print(sp.run(/path/script.sh + " text1.txt text2.txt", shell=True, check=True, text=True, capture_output=True))
如果我在终端上运行脚本结果是正确的,我会加入这两个文件。 但是如果我运行 python 代码,它似乎什么都不做。
【问题讨论】:
/path/script.sh
不是有效的 Python 文字。
【参考方案1】:
以下 sn-p 应该适合你:
import subprocess as sp
file_name = "path/to/script.sh"
file1 = "path/to/file1"
file2 = "path/to/file2"
output = sp.run([file_name, file1, file2], check=True, text=True, capture_output=True)
print(output.stdout)
【讨论】:
以上是关于subprocess.run()不返回预期的输出[关闭]的主要内容,如果未能解决你的问题,请参考以下文章