要在Python 3中使用subprocess.run()
检测Asciidoctor-pdf的属性,您可以使用check_output()
函数来获取命令的输出并将其存储在一个变量中。然后,您可以解析该输出以查找所需的属性。
下面是一个示例代码:
import subprocess
import shlex
# 定义要运行的命令
command = "asciidoctor-pdf --version"
# 使用subprocess.run()运行命令并捕获输出
output = subprocess.check_output(shlex.split(command), stderr=subprocess.STDOUT, universal_newlines=True)
# 解析输出以查找所需的属性
lines = output.strip().split('\n')
for line in lines:
if line.startswith('Asciidoctor PDF '):
version = line.split(' ')[-1]
print(f"版本号: {version}")
break
请注意,我使用shlex.split()
函数来将命令字符串转换为适合subprocess.run()
函数的列表形式。将universal_newlines=True
传递给check_output()
函数以将输出解码为字符串。
此示例假设asciidoctor-pdf --version
命令的输出类似于Asciidoctor PDF version 1.0.0
,并且您希望提取版本号。如果输出格式不同,请根据实际情况修改解析逻辑。
希望这可以帮助到您!