【发布时间】:2019-03-08 12:08:18
【问题描述】:
我看过多篇关于传递字符串的帖子,但无法找到从批处理文件中读取传递给 python 脚本的字符串的好解决方案。这是我的问题。
我正在从批处理文件中调用 python 脚本并传递参数。
string_var = "123_Asdf"
bat 'testscript.py %string_var%'
我的 python 代码中有以下内容。
import sys
passed_var = sys.argv[1]
当我运行上面的代码时,我总是看到下面的错误。
passed_var = sys.argv[1]
IndexError: list index out of range
以前有人见过这个问题吗?我只传递字符串,并希望它作为我传递给脚本的第一个参数的一部分被读取。
【问题讨论】:
-
您是否尝试过传递字符串而不是变量?也许变量是空的?
-
还要运行 python 脚本,您需要在命令前面加上
python,例如python myscript.py your_argument -
这就是我调用代码的方式。 bat 'D:\\BuildTools\\tools\\python27\\python.exe testscript.py %string_var%
标签: python batch-file parameter-passing