【问题标题】:Cannot pass an argument from ".bat" file to python script无法将参数从“.bat”文件传递给 python 脚本
【发布时间】:2021-02-24 02:32:50
【问题描述】:

我正在尝试从我的 .bat 文件运行 python 脚本,但我无法传递参数。请在下面找到我的代码:

.bat 文件

set fileDestination = "\home\a\.."
set fileLocation = "\home\b\.."
set fileName = "myFile.xlsx"

"C:\Swdtools\Python3.6.3 X64\Python" fileTransfer.py %fileDestination% %fileLocation% %fileName%

文件传输.py

import sys

print(sys.argv[2]) 

上面的打印语句给了我

IndexError: 列表索引超出范围

【问题讨论】:

  • print(sys.argc) 应该提供一些细节。
  • 去掉set语句中=周围的空格。
  • 你真的要在变量的值中加上引号吗?

标签: python-3.x windows batch-file argv


【解决方案1】:

变量名和等号之间的空格成为名称的一部分,后面的空格成为值的一部分。摆脱空白:

set fileDestination="\home\a\.."
set fileLocation="\home\b\.."
set fileName="myFile.xlsx"

【讨论】:

  • 哦,哇,我完全忘记了。非常感谢!!
猜你喜欢
  • 1970-01-01
  • 2011-08-31
  • 1970-01-01
  • 2015-06-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-10
  • 1970-01-01
相关资源
最近更新 更多