如果目录中包含非ASCII字符,我在使用tkFileDialog.askdirectory()
的Windows上遇到问题。
以下是一个例子:
import tkFileDialog
# Open folder C:\notused\weekly\1\Music\岩崎 琢
# (But while the dialog is open, the dialog itself shows the name mangled
# as "C:\notused\weekly\1\Music\?? ?")
o_result = tkFileDialog.askdirectory()
# Return result is unicode, which is correct..
print type(o_result)
# ...but the result string has the non-English characters mangled.
print o_result
# And it's not just the display, they seem to be actually mangled.
print ord(o_result[-1])
# The ordinal value of the final character is the same as the question-mark
print ord('?')
我注意到对话框本身在我触摸它之前显示了受损的字符串(这告诉我这不是我的处理错误),但我找不到任何其他参数或设置来更改为{{ 1}}在这种情况下正常工作。
我错过了什么?
答案 0 :(得分:0)
我有时间使用Windows下的tkFileDialog,最后用文件解析解决了我的问题:
import Tkinter
Tkinter.wantobjects = 0
请注意,我使用的是askopenfiles()
而不是askdirectory()
,但它可能适用于您的情况。