【发布时间】:2023-04-05 12:31:01
【问题描述】:
我是 python 新手。我正在使用它来批处理一些在文件名和内容中都带有 Unicode 字符的文本文件。我已经在开头声明了编码。我能够处理 Unicode 内容,但是当我尝试在 Windows 上列出文件时,这就是我得到的。
26-??????-P.txt
文件的实际名称是
26-देहजरी-P.txt
这是我正在使用的脚本
# -*- coding: utf-8 -*-
import re
from os import listdir
allfiles = [f for f in listdir('./')]
for f in allfiles:
if f.endswith('.txt'):
print f;
我想有选择地打开和处理文本文件并输出与输入文件名称相似的新文件(以便以后可以匹配)。
请指导如何实现这一点。提前致谢。
【问题讨论】:
-
只需...使用 Python 3:它具有内置的 Unicode 支持并且这是该语言的未来,因此您将获得所有新功能,而 Python 2 的开发即将暂停。
-
感谢@ForceBru 的建议。
-
如果您能够打开和处理文件,这看起来更像是一个装饰性显示问题
-
您的意思是非 ASCII 名称?因为像 a-z 0-9 这样的所有字母也是 Unicode
-
@tripleee,这些“?”字符是 ANSI API 中最佳匹配转换的常见结果。在某些特定情况下,可能存在实际的最佳拟合映射,例如“∞”->“8”,但通常最终使用默认的“?”特点。天城文没有代码页;我认为印度的系统使用西欧代码页 1252 作为系统 ANSI 代码页,在这种情况下,我希望所有问号。如果它是正确的 ANSI 并由控制台使用其旧代码页(默认为 OEM)解码,那么我希望 mojibake 而不是问号。
标签:
python
windows
python-2.7
unicode
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:在 windows 上的 python 2.7 中列出具有 Unicode 名称的文件 - Python技术站