osx python-如何解码sys.argv?
我甚至不认为我在使用时髦的角色——只是想通过a“-d”,但我的破折号似乎被吞没了。如果我只打印sys.argv[1],看起来还可以,但是如果我打印整个列表sys.argv,我可以看到时髦的字符而不是破折号。 Mac OSX 10.6.8 Python 2.6.1osx python-如何解码sys.argv?,python,macos,Python,Macos,我甚至不认为我在使用时髦的角色——只是想通过a“-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
#!/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
输出的第一行上那个时髦的字符串似乎真的弄乱了像optpass这样的东西,它看不到我的破折号
有什么我需要告诉sys给我一个正常的argv吗
提前谢谢 不知何故,您键入的不是连字符,而是实际的破折号字符(选项-),Unicode 8211,其UTF-8表示形式是三字节字符串
\xe2\x80\x93
。我们总是将命令行选项前面的字符称为“破折号”,但它实际上是连字符 你在复制粘贴这个吗?我刚接了前两个破折号
当我用-d:./deleteme.py–d/Library/Python/2.6/site-packages调用它时,它给出了这一点
python
Python 2.7.1 (r271:86832, Jun 16 2011, 16:59:05)
[GCC 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> '–'
'\xe2\x80\x93'
>>> '-'
'-'
>>>
这是来自word文档或pdf还是其他什么?重新键入它,您应该会很好。如何键入该破折号?从MS Office复制并粘贴?非常感谢!就这样。我从一个网页上剪切并粘贴了我的-d/路径,该网页必须具有选项-。那会教我剪切和粘贴。。。