abc*_*def 10 python process command-line-arguments python-3.x
我需要运行一个应用程序(二进制文件)并使用Python代码传递参数.一些参数表示在Python文件处理期间获得的字符串
for i in range ( len ( files ) ) :
subprocess.call(["test.exe", files[i]]) //How to pass the argument files[i]
Run Code Online (Sandbox Code Playgroud)
谢谢...
更新的问题:
也许我不理解在Python 3中传递参数.没有参数的代码运行正常
args = ['test. exe']
subprocess.call(args)
Run Code Online (Sandbox Code Playgroud)
但是带参数的代码会导致错误:
args = ['test. exe']
subprocess.call(args, '-f') //Error
Run Code Online (Sandbox Code Playgroud)
错误:
Error File "C:\Python32\lib\subprocess.py", line 467, in call
return Popen(*popenargs, **kwargs).wait()
File "C:\Python32\lib\subprocess.py", line 652, in __init__
raise TypeError("bufsize must be an integer")
TypeError: bufsize must be an integer
Run Code Online (Sandbox Code Playgroud)
Win*_*ert 17
args = ['test. exe']
subprocess.call(args, '-f') //Error
Run Code Online (Sandbox Code Playgroud)
应该:
args = ['test.exe', '-f']
subprocess.call(args)
Run Code Online (Sandbox Code Playgroud)
命令行参数应该都在subprocess.call的第一个参数的单个列表中.调用的第二个参数是bufsize,它应该是一个整数(因此你得到错误的原因)
您需要做的就是将其包含在参数列表中,而不是作为单独的参数:
subprocess.call(["test.exe", files[i]])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31669 次 |
| 最近记录: |