2012-07-26 1 views
1

У меня есть небольшая программа Python. Я использую реестр Windows, чтобы открывать файлы с помощью контекстного меню контекстного меню. Мой раздел реестра:Передача имени иврита в качестве аргумента командной строки в Windows

C: \ Users \ мне \ проектов \ mynotepad \ notepad.exe "% 1"

Когда я пытаюсь открыть файл с древнееврейским именем, используя мой щелчок правой кнопки мыши контекстное меню, я получаю имя файла как вопросительные знаки, и получаю исключение, пытаясь получить размер файла.

Вот мой код:

file_name = sys.argv[1] 
file_size = os.path.getsize(unicode(file_name)) 

Я попытался это:

file_name = sys.argv[1].decode("cp1255").encode('utf-8') 
file_size = os.path.getsize(unicode(file_name)) 

Но это не сработало.

Любые советы?

ответ

2

Оказывается, это проблема. Для решения см. here. Вам нужно обратиться к Windows API, чтобы получить аргументы.

 Смежные вопросы

  • Нет связанных вопросов^_^