我试图从 python 脚本运行一个 Windows 命令行应用程序,命令中有一个 ini 配置文件,我怀疑它在执行时没有传递。
命令是 c:\BLScan\blscan.exe test.ini。
ini 文件是应用程序需要知道使用哪些参数进行扫描的配置文件。
这是我使用的脚本
import subprocess
from subprocess import Popen, PIPE
cmd = '/blscan/blscan test.ini'
p = Popen(cmd , stdout=PIPE, stderr=PIPE)
out, err = p.communicate()
print "Return code: ", p.returncode
print out.rstrip(), err.rstrip()
当我使用 subprocess.popen 调用应用程序时,它看起来并没有读取 ini 文件。设备行指示尚未从 ini 文件中识别调谐器,因此程序正在下降到默认调谐器。
Return code: 0
BLScan ver.1.1.0.1091-commited
Config name: .\test.ini
Device 0: TBS 6925 DVBS/S2 Tuner
Device number: Total Scan Time = 0.000s
Transponders not found !
>>>
这是从 dos shell 运行时的外观。
C:\BLScan>blscan test.ini
BLScan ver.1.1.0.1091-commited
Config name: .\test.ini
Scan interval 0
From 3400 to 3430 Mhz, Step 5 Mhz, Horizontal, Minimal SR 1000 KS, Maximal SR 10
0000 KS
3400 Mhz ...
3405 Mhz ...
3410 Mhz ...
任何意见,将不胜感激