如何使用python在可执行输出中搜索文本字符串?

时间:2019-06-28 16:07:11

标签: python python-3.x

我正在尝试创建一个python脚本来自动为我更新程序。当我运行program.exe --help时,它给出的输出很长,并且输出中是值为"Version: X.X.X"的字符串。如何制作运行该命令并从可执行文件的输出中隔离版本号的脚本?

我应该提到我尝试了以下操作:

import re 
import subprocess

regex = r'Version: ([\d\.]+)'

match = re.search(regex, subprocess.run(["program.exe", "--help"])) 

print((match.group(0)))  

并收到错误:

Traceback (most recent call last):
  File "run.py", line 6, in <module>
    match = re.search(regex, subprocess.run(["program.exe", "--help"]))
  File "C:\Python37\lib\re.py", line 183, in search
    return _compile(pattern, flags).search(string)
TypeError: expected string or bytes-like object

1 个答案:

答案 0 :(得分:0)

类似的事情应该起作用:

re.search(r'Version: ([\d\.]+)', subprocess.check_output(['program.exe', '--help']).decode()).group(1)