.bat文件下批量执行python脚本
bat文件包含以下内容:
1)注明echo
echo off
C:
cd C:\Users\Desktop
2)设置参数变量
3) 执行python文件
eg:
test.bat
echo off
C:
cd C:\Users\Desktop
set a=1
set b=2
call python python.py %a% %b%
import sys
def test(a,b):
print(a+b)
if __name__ == "__main__":
test(sys.argv[1],sys.argv[2])
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
输出结果:
12
python.py
1
2
sys.argv[0]为shell 本身。
遇到的bug
1.
set a = 1
set b = 2
设置变量的时候,等号左右加了空格,导致一直报错:
Traceback (most recent call last):
File “python.py”, line 7, in
test(sys.argv[1],sys.argv[2])
IndexError: list index out of range
2.
start命令, 启动另一个窗口运行指定的程序或命令。
call命令, 从批处理程序调用另一个程序, 直到被调用程序退出, 再继续原先的批处理程序。
使用start的时候没有返回结果,调用python脚本用call。
参考资料:
http://www.cnblogs.com/linglizeng/archive/2010/01/29/Bat-CMD-ChineseVerion.html