18

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.

2 Answers 2

21

your_script.bat:

set VAR_1=this
set VAR_2=that

python your_script.py %1 %VAR_1% %VAR_2%
Sign up to request clarification or add additional context in comments.

2 Comments

@Tim Henigan: I think you meant python test.py %1 %VAR_1% %VAR_2%
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%.
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.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.