Я не думаю, что я даже использую прикольные символы - просто пытаюсь передать "-d", но моя черта, кажется, напортачить. Если я просто распечатываю sys.argv [1], все выглядит нормально, но если я распечатываю весь список sys.argv, я могу видеть прикольные символы вместо моей черты.
Mac OSX 10.6.8
Python 2.6.1
#!/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?
Заранее спасибо!