处理Python字符串中的ascii字符
当我在 python 上打印此文件名时,我有一个名为 "SSE-Künden, SSE-Händler.pdf"
的文件,其中包含这两个 unicode char ( ü,ä)
解释器将 unicode 值转换为相应的 ascii 值,我猜 'SSE-K\x81nden, SSE-H\x84ndler.pdf'
但我想
测试目录包含名为“SSE-Künden,SSE-Händler.pdf”的 pdf 文件
我尝试过: 路径 = 'C:\test' 对于 os.walk(path) 中的 a、b、c: print c
['SSE-K\x81nden, SSE-H\x84ndler.pdf']
我如何将此 ascii 字符转换为其各自的 unicode 值,我想在解释器上显示原始名称(“SSE-Künden,SSE-Händler.pdf”
)并写入某个文件就这样。我该如何实现这一目标。我正在使用 Python 2.6 和 Windows 操作系统。
谢谢。
i have file having name "SSE-Künden, SSE-Händler.pdf"
which having those two unicode char ( ü,ä)
when i am printing this file name on python interpreter the unicode values are getting converted into respective ascii value i guess 'SSE-K\x81nden, SSE-H\x84ndler.pdf'
but i want to
test dir contains the pdf file of name 'SSE-Künden, SSE-Händler.pdf'
i tried this:
path = 'C:\test'
for a,b,c in os.walk(path):
print c
['SSE-K\x81nden, SSE-H\x84ndler.pdf']
how do i convert this ascii chars to its respective unicode vals and i want to show the original name("SSE-Künden, SSE-Händler.pdf"
) on interpreter and also writeing into some file as it is.how do i achive this. I am using Python 2.6 and windows OS.
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
用于写入文件: http://docs.python .org/howto/unicode.html#reading-and-writing-unicode-data
For writing to a file: http://docs.python.org/howto/unicode.html#reading-and-writing-unicode-data
假设您的终端支持显示字符,请迭代文件列表并单独打印它们(或使用 Python 3,它在列表中显示 Unicode):
另请注意,我使用 Unicode 字符串 (u'.') 作为路径。这指示 os.walk 返回 Unicode 字符串而不是字节字符串。当处理非 ASCII 文件名时,这是一个好主意。
在 Python 3 中,字符串默认为 Unicode,并向用户显示非 ASCII 字符,而不是显示为转义码:
Assuming your terminal supports displaying the characters, iterate over the list of files and print them individually (or use Python 3, which displays Unicode in lists):
Also note I used a Unicode string (u'.') for the path. This instructs
os.walk
to return Unicode strings as opposed to byte strings. When dealing with non-ASCII filenames this is a good idea.In Python 3 strings are Unicode by default and non-ASCII characters are displayed to the user instead of displayed as escape codes: