使批处理文件运行带有参数的python代码

时间:2018-09-30 12:56:01

标签: python batch-file

如何制作运行.bat(批处理)文件和.bat文件的python代码
 用参数调用另一个python吗?
我知道,如果您想使用.bat调用python文件,则需要编写:

C:\python27\python.exe D:\XXX\XXX\XXX\XXX.py %*

关于参数呢?我需要这个D:\ XXX \ XXX \ XXX \ XXX.py文件来获取args ... 谢谢!

3 个答案:

答案 0 :(得分:0)

import argparse

parser = argparse.ArgumentParser()
parser.add_argument("foo")
parser.add_argument("bar")
args = parser.parse_args()

print(args.foo, args.bar)

以上代码是用于简单argparse示例的python代码。命名为example.py

您的蝙蝠文件应该像

C:\python27\python.exe D:\XXX\XXX\XXX\example.py hello world

简单的单行代码。

将此批处理文件另存为example.bat,然后在cmd窗口中执行。

答案 1 :(得分:0)

如果要从python程序运行批处理文件,则应执行以下操作

OS:Windows

run.py

import os
os.system("<bat_file_name> argument1 argument2 argument3")

批处理文件

run.bat

echo %1
echo %2
echo %3

这些将打印所有3个参数。

万一您想使用批处理执行python脚本

run.py

python run.py argument1 argument2 argument3

,然后在python文件中将其抓取为

import sys
arg1 = sys.argv[1]
arg1 = sys.argv[2]
arg1 = sys.argv[3]

答案 2 :(得分:0)

感谢您的回答!

如果要从python获取参数进行批处理,
您只需将它们一一隔开,例如:

output = subprocess.check_output("abc.bat "+ arg1 + " " + arg2)

并在批处理文件中使用它们:

%1 - for the first argument
%2 - for the second argument
%3 - for the third argument

等等。

谢谢:)