Заставить пакетный файл запустить код Python с аргументами - PullRequest
0 голосов
/ 30 сентября 2018

как мне сделать код на python, который запускает файл .bat (batch), а файл .bat
вызывает другого питона с аргументами?
Я знаю, что если вы хотите вызвать файл python, используя.летучая мышь, вам нужно написать:

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

а как насчет аргументов?Мне нужен этот файл D: \ XXX \ XXX \ XXX \ XXX.py, чтобы получить аргументы ... Спасибо!

Ответы [ 3 ]

0 голосов
/ 30 сентября 2018

Если вы хотите запустить пакетный файл из программы Python, вам нужно сделать следующее:

ОС: Windows

run.py

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

В пакетном файле

run.

python run.py argument1 argument2 argument3

и в файле python вы получите их как

import sys
arg1 = sys.argv[1]
arg1 = sys.argv[2]
arg1 = sys.argv[3]
0 голосов
/ 01 октября 2018

Спасибо за ответы!

если вы хотите получить аргументы от python к пакету,
вы просто передаете их один за другим с пробелом между ними, например:

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

и использовать их в пакетном файле:

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

и пр.

Спасибо :))

0 голосов
/ 30 сентября 2018
import argparse

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

print(args.foo, args.bar)

Над кодом приведен код Python для простого примера argparse.Назовите его example.py

Ваш bat-файл должен выглядеть как

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

Простой однострочный код.

Сохраните этот пакетный файл как example.bat где-нибудь и выполнитеэто в окне cmd.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...