Calling python script in dos and passing arguments

Alister alister.ware at ntlworld.com
Tue Apr 16 15:19:20 EDT 2013


On Tue, 16 Apr 2013 12:10:09 -0700, Chris Rebert wrote:

> On Tue, Apr 16, 2013 at 7:14 AM, PEnergy <prquinn at gmail.com> wrote:
>> Greetings,
>>
>> I am trying to write a python script that, when called from the DOS
>> prompt, will call another python script and pass it input variables. 
>> My current code will open the other python script but doesn't seem to
>> pass it any values:
>>
>> import os,sys,subprocess
>> subprocess.Popen(['python.exe','C:\NDEX\GRE2\uip\uip_20.py','t3c*'])
>>
>> Am I missing something or is this type of call not possible through
>> DOS?
> 
> 1. Backslash is an escape character in Python strings (e.g. "\n" =
> newline). You should therefore double-up on your backslashes. (Your
> exact string just so happens to work due to a misfeature regarding how
> invalid backslash escapes are handled.)
> 2. Glob/wildcard ("*") expansion is done by the shell, but
> subprocess.Popen does not use the shell by default (for good reason!).
> Use the `glob` library to do the expansion yourself, in Python:
> http://docs.python.org/2/library/glob.html
> 
> Cheers,
> Chris

why cant you just import the 2nd python program & then call its main 
function (or any other) with the required parameters?



-- 
You are wise, witty, and wonderful, but you spend too much time reading
this sort of trash.



More information about the Python-list mailing list