Я не думаю, что я даже нахожусь в стиле фанк-персонажей - просто пытаюсь передать «-d», но мой тире кажется, что он ругается. Если я просто печатаю sys.argv [1], это выглядит нормально, но если я распечатаю весь список sys.argv, я могу увидеть фанки-символы вместо моей тире. Mac OSX 10.6.8 Python 2.6.1osx python - как декодировать sys.argv?
#!/usr/bin/env python
import sys
if __name__ == "__main__":
try:
print "SVH FLAG sys.argv ",sys.argv
num_args = len(sys.argv)
for i in range(0,num_args):
print "SVH FLAG sys.argv[",i,"] ",sys.argv[i]
except:
print "problem with sys.argv"
Что дает мне это, когда я называю его с опцией -d: ./deleteme.py -d /Library/Python/2.6/site-packages
SVH FLAG sys.argv ['./deleteme.py', '\xe2\x80\x93d', '/Library/Python/2.6/site-packages']
SVH FLAG sys.argv[ 0 ] ./deleteme.py
SVH FLAG sys.argv[ 1 ] –d
SVH FLAG sys.argv[ 2 ] /Library/Python/2.6/site-packages
Эта фанковая строка на первой строке вывода, похоже, действительно испортила что-то вроде optparse, которая не видит мой тире.
Есть ли что-то, что мне нужно, чтобы рассказать sys, чтобы дать мне нормальный вид argv?
Заранее благодарен!
Как вы набираете эту тире? – geoffspear