python获取不了命令行的参数
我编写了一个python脚本文件、一个bat的批处理文件,见下图
我在命令行参数中输入以下内容:
结果出现这样
为什么命令行可以通过%1%2%*获取参数,而我的python脚本获取不了,请各位帮忙看看,谢谢
python获取不了命令行的参数
我编写了一个python脚本文件、一个bat的批处理文件,见下图
我在命令行参数中输入以下内容:
结果出现这样
为什么命令行可以通过%1%2%*获取参数,而我的python脚本获取不了,请各位帮忙看看,谢谢
在批处理文件中,调用python脚本时,传入批处理获取到的参数列表即可。
修改如下:
orderarg.bat (如果直接在运行来执行批处理,则需要将这个批处理文件所在目录添加到系统环境变量path下):
@echo off
REM test argument
echo Below is python
rem 下面这行代码调用python脚本,需要传入批处理得到的命令行参数,即%*,否则直接调用脚本,则参数未传入,则不会打印参数列表
rem 下面python脚本文件的绝对地址根据自己存放python脚本的地址来修改
@python.exe f:\orderarg.py %*
echo below is orderthing
echo first argv: %0
echo second argv: %1
echo third argv: %2
echo all argv: %*
pause
orderarg.py:(这个文件的存放地址需要和批处理中调用python脚本的地址一致)
import sys,os,time,os
def main():
print('参数列表: ',len(sys.argv),'个数')
print('参数列表为:', str(sys.argv))
print('脚本名为:',sys.argv[0])
for i in range(1,len(sys.argv)):
print('参数 %s 为 %s' % (i,sys.argv[i]))
main()
os.system('pause')