运行使用Python获取参数的可执行文件

时间:2016-08-01 19:56:03

标签: python exe

我正在编写一个小的python脚本,我打开一个现有的可执行文件(.exe),然后发送一个字符串作为参数。

我正在使用subprocess.call方法,我收到以下错误:

File "C:\Python34\lib\subprocess.py", line 537, in call
   with Popen(*popenargs, **kwargs) as p:
File "C:\Python34\lib\subprocess.py", line 767, in __init__
   raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer

我的代码

import os
import subprocess

x = subprocess.call("C:\\Users\\Desktop\\Program\\Program.exe", y)

其中y是我传递的字符串。

我正在尝试升级旧的VB代码。原始代码调用可执行文件并传递参数,如下所示。我试图用Python复制它。

Private comm As ExecCmd
Dim cmd As String
Dim app As String
Dim e As New ExecCmd

exec_1= "...\Desktop\Program.exe"
x = "Text" & Variable & " Hello" & Variable2

comm.StartApp exec_1, x   'starts the .exe file with an argument

2 个答案:

答案 0 :(得分:4)

首先将程序和您想要的任何参数放入数组中。

import os
import subprocess

x = subprocess.call(["C:\\Users\\Desktop\\Program\\Program.exe", y])

答案 1 :(得分:3)

命令和参数应该在列表中

x = subprocess.call(["C:\\Users\\Desktop\\Program\\Program.exe", y])

Documentation