Вот небольшая программа:
import sys
f = sys.argv[1]
print type(f)
print u"f=%s" % (f)
Вот мой запуск программы:
$ python x.py 'Recent/רשימת משתתפים.LNK'
<type 'str'>
Traceback (most recent call last):
File "x.py", line 5, in <module>
print u"f=%s" % (f)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd7 in position 7: ordinal not in range(128)
$
Проблема в том, что sys.argv [1] думает, что он получаетстрока ascii, которую он не может преобразовать в Unicode.Но я использую Mac с полным терминалом, поддерживающим Unicode, поэтому x.py
фактически получает строку Unicode.Как мне сказать Python, что sys.argv [] - это Unicode, а не Ascii?В противном случае, как я могу преобразовать ASCII (в котором есть Unicode) в Unicode?Очевидные преобразования не работают.