Ваш код отлично работает, если вы его исправите.
Возможно, проблема в вашей logIt
функции.
Если я исправлю это (на самом деле не работает в опубликованном виде):
for o, a in getopts:
if o in ("-l", "--log"): #log
logIt(a) # Problem here a='Big'
с этим (и используя print
):
for o, a in opts:
if o in ("-l", "--log"): #log
print a # No Problem here a=["Big String I want to as single argument"]
печатает то, что должно печатать:
C:\Python26>python myscript.py -l "Big String I want to as single argument"
Big String I want to as single argument
Так что, вероятно, ваша проблема не в getopt
, а в вашей функции logIt
.