On Sep 1, 9:54 am, goldtech <[EMAIL PROTECTED]> wrote: > Hi, > > I'm passing what I think is a string parameter to another Python > program (spawn.py) - see the code snip below. But only the counter > part gets printed to a log file via spawn.py. Yet the echo print to > the output window shows the whole string with the fc part. Better > explained below I hope, there's the calling .py and the spawn > script .py: > ...snip... > while fc: > counter = counter + 1 > fc_cntr = str(counter) + ' : ' + fc > print fc_cntr + '\n' # Print to Pythonwin interactive window - > eg. "1 : New York" - all is printed OK > > arglist = [] > arglist.append(pythonPath) > arglist.append(spawn_script) > arglist.append(fc_cntr) # This gets sent to the spawn_script but > only "1" gets printed > > os.spawnv(os.P_WAIT, pythonPath, arglist) > fc = fcs.next() > ... > -------------------------- > ## the spawn_script > import win32com.client, sys, os, time, re > > in_featclass = sys.argv[1] > handle = open('C:\\log_file.txt', 'a') > handle.write(in_featclass + "\n") # ONLY the counter part gets printed > to the log file! Why? > --------------------------
Try handle.write(repr(sys.argv[1:]) + "\n") and come back with your conclusions ... unless of course someone has spoonfed you in the meantime. Another clue: write yourself a little arg-dumper script and try running it in a Command Prompt window. 8<--- import sys for x, arg in enumerate(sys.argv): print x, repr(arg) 8<--- HTH, John -- http://mail.python.org/mailman/listinfo/python-list