Sending arguments from Batch file to Python script
Asked Answered
M

2

17

I'm running Python 3.2 on Win XP. I run a python script thru a batch file via this:

C:\Python32\python.exe test.py %1

%1 is an argument that i pass to do some processing in the python script.

I have 2 variables in the batch file that I also want to send as arguments to the python script.

set $1=hey_hi_hello

set $2=hey_hi

I want to be able to do something like this if possible:

C:\Python32\python.exe test.py %1 $1 $2

And then retrieve these argiments in the python script via sys.argv[2] and sys.argv[3]

Would appreciate any help with this. Thank you.

Maidenhair answered 30/5, 2012 at 19:34 Comment(0)
F
21

your_script.bat:

set VAR_1=this
set VAR_2=that

python your_script.py %1 %VAR_1% %VAR_2%
Franzen answered 30/5, 2012 at 19:41 Comment(2)
@Tim Henigan: I think you meant python test.py %1 %VAR_1% %VAR_2%Gapin
Note that this applies to any sort of environment variable, local or global. So you could do something like python %USERPROFILE%\scripts\test.py %1 %VAR_1% %VAR_2%.Gingili
I
0

Another option is to write arguments right after the python script, following the example:

python your_script.py this that

If you are using Linux .sh file, remember to run dos2unix XXX.sh before you run: bash XXX.sh.

The reason, in a simple version, is that dos and unix use different newline breakers.

Intumescence answered 16/9, 2021 at 3:59 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.