【发布时间】:2019-07-19 03:29:27
【问题描述】:
我有 *.exe 程序,它需要简单的命令来创建用户(在 cmd 中): 我打开 cmd,导航到 my.exe 位置,然后像这样运行它:
my.exe cu 用户名密码邮箱
cu - 是 my.exe 用来创建用户的命令。
由于我有很多用户要创建,我想用 python 运行 my.exe。
我没有收到任何错误,但未创建用户。我已经在cmd中手动完成了,没有问题。由于我对python的这个模块不熟悉,所以我不太明白这是怎么回事。
我的脚本:
# import details for users from csv and write them to a list:
import csv
with open(r'C:\temp\test.csv', 'rb') as f:
reader = csv.reader(f)
users_list = list(reader) # list of lists
# run my.exe for each list entry, each is a list as well
import subprocess
for each in users_list:
arguments = 'cu' +" "+ str(each[0]) +" "+ str(each[1]) +" "+ str(each[2])
subprocess.call([r"C:\Software\ikfbatool\ikfbatool.exe", arguments])
【问题讨论】:
-
您错误地使用了
subprocess.call()。您必须将参数作为单独的列表项传递,而不是作为一个大字符串传递。即类似subprocess.call(['command.exe', 'arg1', 'arg2', 'arg3'])
标签: python python-2.7 subprocess