subprocess.run() 没有 return 预期的输出
subprocess.run() doesn't return the expected output
我正在尝试在 python 中执行 shell 脚本,但我没有得到预期的结果
script.sh
#!/bin/bash
file1=
file2=
cat $file1 $file2
python:
print(sp.run(/path/script.sh + " text1.txt text2.txt", shell=True, check=True, text=True, capture_output=True))
如果我运行终端上的脚本结果正确,我加入两个文件。
但是如果我 运行 python 代码似乎什么都不做。
以下代码段应该适合您:
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)
我正在尝试在 python 中执行 shell 脚本,但我没有得到预期的结果
script.sh
#!/bin/bash
file1=
file2=
cat $file1 $file2
python:
print(sp.run(/path/script.sh + " text1.txt text2.txt", shell=True, check=True, text=True, capture_output=True))
如果我运行终端上的脚本结果正确,我加入两个文件。 但是如果我 运行 python 代码似乎什么都不做。
以下代码段应该适合您:
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)