在Windows中将希伯来文件名作为命令行参数传递

时间:2012-07-26 20:01:00

标签: python unicode command-line-arguments hebrew

我有一个小的Python程序。我使用Windows注册表使用右键单击上下文菜单启用文件打开。我的注册表项:

  

C:\ Users \ me \ projects \ 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))

但它不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

原来这是一个问题。有关解决方案,请参阅here。您需要使用Windows API来获取参数。