Skip to content

标准库汉化清单 ​

ChinesePython 的标准库汉化到哪一步了、报错正文和异常类名都落在哪些库里。数字都是实测的。

由 tools/生成标准库汉化清单.py 生成,不要手改。

先分清两件事 ​

「库汉化了」在这个项目里指的是两件完全不同的事,别混:

汉化了什么你能怎么写
报错正文库自己 raise 的那些句子,显示的时候换中文API 一个字没变:import zipfile 还是 import zipfile,ZipFile(...) 还是 ZipFile(...),方法名还是英文
模块异常类名zipfile.BadZipFile 这种显示名也一样:类名本身(type(e).__name__)还是英文,只有屏幕上是中文

换句话说:这两件事都只在「屏幕上」生效,不会让你用中文写库调用。 能用中文写的只有名字层那几样(关键字、内置名、形参名、类型方法名),见 中文关键字表 等几篇。

一、报错正文:2808 条,落在 294 个库文件里 ​

下表「已译 / 该库自己 raise 的」是这个文件自己的数字;分母 0 表示这个文件没有提取器看得见的正文。

库文件已译该库自己 raise 的
_pyio.py8080
zipfile/__init__.py6767
_pydatetime.py6464
asyncio/base_events.py6464
typing.py5757
TAR压缩包.py5656
IP地址.py5555
re/_parser.py5252
pickle.py4949
argparse.py4646
inspect.py4646
email/_header_value_parser.py4545
pdb.py4545
statistics.py4545
enum.py4444
ssl.py4242
unittest/mock.py4242
_pydecimal.py4040
pickletools.py4040
subprocess.py3535
optparse.py3434
IMAP客户端.py3232
threading.py3232
multiprocessing/connection.py3131
tomllib/_parser.py3030
xml/dom/minidom.py2828
functools.py2727
mailbox.py2626
urllib/parse.py2626
WAV音频.py2525
dataclasses.py2525
random.py2525
configparser.py2424
logging/config.py2424
shutil.py2424
xml/etree/ElementTree.py2424
_py_warnings.py2323
importlib/_bootstrap.py2323
importlib/_bootstrap_external.py2323
zipimport.py2323
urllib/request.py2121
http/client.py2020
logging/__init__.py2020
socket.py2020
doctest.py1919
pathlib/__init__.py1818
unittest/case.py1818
zoneinfo/_zoneinfo.py1818
gzip.py1717
xmlrpc/client.py1616
asyncio/tasks.py1515
asyncio/unix_events.py1515
base64.py1515
turtle.py1515
uuid.py1515
_strptime.py1414
annotationlib.py1414
asyncio/streams.py1414
concurrent/futures/process.py1415
multiprocessing/managers.py1414

(只列前 60 个文件;完整 291 个见 Lib/zh_errmessages_lib.py 的 对照 表,每条都带英文原文。)

二、模块自带的异常类名:184 个 ​

显示成 模块.中文名(前缀留着 —— 中文名里有 13 组会撞车)。

tarfile(18 个) ​

显示名(英文)显示成
tarfile.AbsoluteLinkErrortarfile.绝对链接错误
tarfile.AbsolutePathErrortarfile.绝对路径错误
tarfile.CompressionErrortarfile.压缩错误
tarfile.EOFHeaderErrortarfile.文件结束头错误
tarfile.EmptyHeaderErrortarfile.空头错误
tarfile.ExtractErrortarfile.提取错误
tarfile.FilterErrortarfile.筛选错误
tarfile.HeaderErrortarfile.头错误
tarfile.InvalidHeaderErrortarfile.非法头错误
tarfile.LinkFallbackErrortarfile.链接回退错误
tarfile.LinkOutsideDestinationErrortarfile.链接指向目标之外错误
tarfile.OutsideDestinationErrortarfile.目标之外错误
tarfile.ReadErrortarfile.读错误
tarfile.SpecialFileErrortarfile.特殊文件错误
tarfile.StreamErrortarfile.流错误
tarfile.SubsequentHeaderErrortarfile.后续头错误
tarfile.TarErrortarfile.Tar错误
tarfile.TruncatedHeaderErrortarfile.被截断头错误

configparser(14 个) ​

显示名(英文)显示成
configparser.DuplicateOptionErrorconfigparser.重复选项错误
configparser.DuplicateSectionErrorconfigparser.重复节错误
configparser.Errorconfigparser.错误
configparser.InterpolationDepthErrorconfigparser.插值深度错误
configparser.InterpolationErrorconfigparser.插值错误
configparser.InterpolationMissingOptionErrorconfigparser.插值缺少选项错误
configparser.InterpolationSyntaxErrorconfigparser.插值语法错误
configparser.InvalidWriteErrorconfigparser.非法写错误
configparser.MissingSectionHeaderErrorconfigparser.缺少节头错误
configparser.MultilineContinuationErrorconfigparser.多行续行错误
configparser.NoOptionErrorconfigparser.没有选项错误
configparser.NoSectionErrorconfigparser.没有节错误
configparser.ParsingErrorconfigparser.解析错误
configparser.UnnamedSectionDisabledErrorconfigparser.未命名节已停用错误

xml(9 个) ​

显示名(英文)显示成
xml.dom.DOMExceptionxml.dom.DOM异常
xml.etree.ElementInclude.FatalIncludeErrorxml.etree.ElementInclude.致命包含错误
xml.etree.ElementInclude.LimitedRecursiveIncludeErrorxml.etree.ElementInclude.受限递归包含错误
xml.etree.ElementTree.ParseErrorxml.etree.ElementTree.解析错误
xml.parsers.expat.ExpatErrorxml.parsers.expat.Expat错误
xml.sax._exceptions.SAXExceptionxml.sax._exceptions.SAX异常
xml.sax._exceptions.SAXNotRecognizedExceptionxml.sax._exceptions.SAX 无法识别异常
xml.sax._exceptions.SAXNotSupportedExceptionxml.sax._exceptions.SAX不支持异常
xml.sax._exceptions.SAXParseExceptionxml.sax._exceptions.SAX解析异常

email(8 个) ​

显示名(英文)显示成
email._header_value_parser._InvalidEwErroremail._header_value_parser.非法编码字错误
email.errors.BoundaryErroremail.errors.边界错误
email.errors.CharsetErroremail.errors.字符集错误
email.errors.HeaderParseErroremail.errors.头解析错误
email.errors.HeaderWriteErroremail.errors.头写错误
email.errors.MessageErroremail.errors.消息错误
email.errors.MessageParseErroremail.errors.消息解析错误
email.errors.MultipartConversionErroremail.errors.多部分转换错误

asyncio(7 个) ​

显示名(英文)显示成
asyncio.exceptions.BrokenBarrierErrorasyncio.exceptions.屏障破裂错误
asyncio.exceptions.CancelledErrorasyncio.exceptions.已取消错误
asyncio.exceptions.IncompleteReadErrorasyncio.exceptions.不完整读错误
asyncio.exceptions.InvalidStateErrorasyncio.exceptions.非法状态错误
asyncio.exceptions.LimitOverrunErrorasyncio.exceptions.上限越界错误
asyncio.exceptions.SendfileNotAvailableErrorasyncio.exceptions.发送文件不可用错误
asyncio.tools.CycleFoundExceptionasyncio.tools.发现成环异常

smtplib(7 个) ​

显示名(英文)显示成
smtplib.SMTPAuthenticationErrorsmtplib.SMTP认证错误
smtplib.SMTPConnectErrorsmtplib.SMTP连接错误
smtplib.SMTPDataErrorsmtplib.SMTP数据错误
smtplib.SMTPExceptionsmtplib.SMTP异常
smtplib.SMTPHeloErrorsmtplib.SMTP问候错误
smtplib.SMTPNotSupportedErrorsmtplib.SMTP不支持错误
smtplib.SMTPResponseExceptionsmtplib.SMTP响应异常

multiprocessing(6 个) ​

显示名(英文)显示成
multiprocessing.context.AuthenticationErrormultiprocessing.context.认证错误
multiprocessing.context.ProcessErrormultiprocessing.context.进程错误
multiprocessing.context.TimeoutErrormultiprocessing.context.超时错误
multiprocessing.managers.RemoteErrormultiprocessing.managers.远程错误
multiprocessing.pool.MaybeEncodingErrormultiprocessing.pool.可能编码错误
multiprocessing.resource_tracker.ReentrantCallErrormultiprocessing.resource_tracker.可重入调用错误

optparse(6 个) ​

显示名(英文)显示成
optparse.AmbiguousOptionErroroptparse.有歧义选项错误
optparse.BadOptionErroroptparse.坏选项错误
optparse.OptParseErroroptparse.选项解析错误
optparse.OptionConflictErroroptparse.选项冲突错误
optparse.OptionErroroptparse.选项错误
optparse.OptionValueErroroptparse.选项值错误

mailbox(5 个) ​

显示名(英文)显示成
mailbox.Errormailbox.错误
mailbox.ExternalClashErrormailbox.外部冲突错误
mailbox.FormatErrormailbox.格式错误
mailbox.NoSuchMailboxErrormailbox.没有这个信箱错误
mailbox.NotEmptyErrormailbox.非空错误

shutil(5 个) ​

显示名(英文)显示成
shutil.Errorshutil.错误
shutil.ReadErrorshutil.读错误
shutil.RegistryErrorshutil.注册错误
shutil.SameFileErrorshutil.同一个文件错误
shutil.SpecialFileErrorshutil.特殊文件错误

_pickle(3 个) ​

显示名(英文)显示成
_pickle.PickleError_pickle.序列化错误
_pickle.PicklingError_pickle.序列化错误
_pickle.UnpicklingError_pickle.反序列化错误

_pyrepl(3 个) ​

显示名(英文)显示成
_pyrepl._module_completer.ParseError_pyrepl._module_completer.解析错误
_pyrepl.keymap.KeySpecError_pyrepl.keymap.键规格错误
_pyrepl.windows_console.WinError_pyrepl.windows_console.Windows错误

concurrent(3 个) ​

显示名(英文)显示成
concurrent.futures._base.CancelledErrorconcurrent.futures._base.已取消错误
concurrent.futures._base.Errorconcurrent.futures._base.错误
concurrent.futures._base.InvalidStateErrorconcurrent.futures._base.非法状态错误

http(3 个) ​

显示名(英文)显示成
http.client.HTTPExceptionhttp.client.HTTP异常
http.cookiejar.LoadErrorhttp.cookiejar.加载错误
http.cookies.CookieErrorhttp.cookies.Cookie错误

importlib(3 个) ​

显示名(英文)显示成
importlib._bootstrap._DeadlockErrorimportlib._bootstrap.死锁错误
importlib.metadata.PackageNotFoundErrorimportlib.metadata.包未找到错误
importlib.resources.abc.TraversalErrorimportlib.resources.abc.遍历错误

pickle(3 个) ​

显示名(英文)显示成
pickle.PickleErrorpickle.序列化错误
pickle.PicklingErrorpickle.序列化错误
pickle.UnpicklingErrorpickle.反序列化错误

socket(3 个) ​

显示名(英文)显示成
socket._GiveupOnSendfilesocket.放弃发送文件
socket.gaierrorsocket.地址信息错误
socket.herrorsocket.主机信息错误

urllib(3 个) ​

显示名(英文)显示成
urllib.error.ContentTooShortErrorurllib.error.内容太短错误
urllib.error.HTTPErrorurllib.error.HTTP错误
urllib.error.URLErrorurllib.error.URL错误

xmlrpc(3 个) ​

显示名(英文)显示成
xmlrpc.client.Errorxmlrpc.client.错误
xmlrpc.client.ProtocolErrorxmlrpc.client.协议错误
xmlrpc.client.ResponseErrorxmlrpc.client.响应错误

腌制(3 个) ​

显示名(英文)显示成
腌制.PickleError腌制.序列化错误
腌制.PicklingError腌制.序列化错误
腌制.UnpicklingError腌制.反序列化错误

argparse(2 个) ​

显示名(英文)显示成
argparse.ArgumentErrorargparse.参数错误
argparse.ArgumentTypeErrorargparse.参数类型错误

binascii(2 个) ​

显示名(英文)显示成
binascii.Errorbinascii.错误
binascii.Incompletebinascii.不完整

calendar(2 个) ​

显示名(英文)显示成
calendar.IllegalMonthErrorcalendar.非法月错误
calendar.IllegalWeekdayErrorcalendar.非法星期错误

ipaddress(2 个) ​

显示名(英文)显示成
ipaddress.AddressValueErroripaddress.地址值错误
ipaddress.NetmaskValueErroripaddress.网络掩码值错误

subprocess(2 个) ​

显示名(英文)显示成
subprocess.CalledProcessErrorsubprocess.被调用进程错误
subprocess.SubprocessErrorsubprocess.子进程错误

zoneinfo(2 个) ​

显示名(英文)显示成
zoneinfo._common.ZoneInfoNotFoundErrorzoneinfo._common.时区未找到错误
zoneinfo._tzpath.InvalidTZPathWarningzoneinfo._tzpath.非法时区路径警告

FTP传输(1 个) ​

显示名(英文)显示成
FTP传输.ErrorFTP传输.错误

XML工具(1 个) ​

显示名(英文)显示成
XML工具.dom.DOMExceptionXML工具.dom.DOM异常

_csv(1 个) ​

显示名(英文)显示成
_csv.Error_csv.错误

_curses(1 个) ​

显示名(英文)显示成
_curses.error_curses.错误

_curses_panel(1 个) ​

显示名(英文)显示成
_curses_panel.error_curses_panel.错误

_dbm(1 个) ​

显示名(英文)显示成
_dbm.error_dbm.错误

_gdbm(1 个) ​

显示名(英文)显示成
_gdbm.error_gdbm.错误

_hashlib(1 个) ​

显示名(英文)显示成
_hashlib.UnsupportedDigestmodError_hashlib.不支持摘要算法错误

_lzma(1 个) ​

显示名(英文)显示成
_lzma.LZMAError_lzma.LZMA错误

_py_warnings(1 个) ​

显示名(英文)显示成
_py_warnings._OptionError_py_warnings.选项错误

_pydecimal(1 个) ​

显示名(英文)显示成
_pydecimal.DecimalException_pydecimal.十进制异常

_queue(1 个) ​

显示名(英文)显示成
_queue.Empty_queue.空

_tkinter(1 个) ​

显示名(英文)显示成
_tkinter.TclError_tkinter.Tcl错误

compression(1 个) ​

显示名(英文)显示成
compression.zstd.ZstdErrorcompression.zstd.Zstd错误

copy(1 个) ​

显示名(英文)显示成
copy.Errorcopy.错误

ctypes(1 个) ​

显示名(英文)显示成
ctypes.ArgumentErrorctypes.参数错误

dataclasses(1 个) ​

显示名(英文)显示成
dataclasses.FrozenInstanceErrordataclasses.冻结实例错误

decimal(1 个) ​

显示名(英文)显示成
decimal.DecimalExceptiondecimal.十进制异常

doctest(1 个) ​

显示名(英文)显示成
doctest.UnexpectedExceptiondoctest.意料之外异常

encodings(1 个) ​

显示名(英文)显示成
encodings.CodecRegistryErrorencodings.编解码器注册错误

ftplib(1 个) ​

显示名(英文)显示成
ftplib.Errorftplib.错误

getopt(1 个) ​

显示名(英文)显示成
getopt.GetoptErrorgetopt.选项解析错误

getpass(1 个) ​

显示名(英文)显示成
getpass.GetPassWarninggetpass.口令警告

graphlib(1 个) ​

显示名(英文)显示成
graphlib.CycleErrorgraphlib.成环错误

idlelib(1 个) ​

显示名(英文)显示成
idlelib.zoomheight.WmInfoGatheringErroridlelib.zoomheight.窗口管理信息收集错误

inspect(1 个) ​

显示名(英文)显示成
inspect.ClassFoundExceptioninspect.发现类型异常

json(1 个) ​

显示名(英文)显示成
json.decoder.JSONDecodeErrorjson.decoder.JSON解码错误

locale(1 个) ​

显示名(英文)显示成
locale.Errorlocale.错误

netrc(1 个) ​

显示名(英文)显示成
netrc.NetrcParseErrornetrc.netrc解析错误

plistlib(1 个) ​

显示名(英文)显示成
plistlib.InvalidFileExceptionplistlib.非法文件异常

py_compile(1 个) ​

显示名(英文)显示成
py_compile.PyCompileErrorpy_compile.Py编译错误

re(1 个) ​

显示名(英文)显示成
re.PatternErrorre.模式错误

runpy(1 个) ​

显示名(英文)显示成
runpy._Errorrunpy.错误

signal(1 个) ​

显示名(英文)显示成
signal.ItimerErrorsignal.间隔计时器错误

statistics(1 个) ​

显示名(英文)显示成
statistics.StatisticsErrorstatistics.统计错误

struct(1 个) ​

显示名(英文)显示成
struct.errorstruct.错误

termios(1 个) ​

显示名(英文)显示成
termios.errortermios.错误

threading(1 个) ​

显示名(英文)显示成
threading.BrokenBarrierErrorthreading.屏障破裂错误

tokenize(1 个) ​

显示名(英文)显示成
tokenize.TokenErrortokenize.记号错误

tomllib(1 个) ​

显示名(英文)显示成
tomllib._parser.TOMLDecodeErrortomllib._parser.TOML解码错误

traceback(1 个) ​

显示名(英文)显示成
traceback.TracebackExceptiontraceback.回溯异常

turtle(1 个) ​

显示名(英文)显示成
turtle.TurtleGraphicsErrorturtle.Turtle图形错误

unittest(1 个) ​

显示名(英文)显示成
unittest.mock.InvalidSpecErrorunittest.mock.非法规格错误

wave(1 个) ​

显示名(英文)显示成
wave.Errorwave.错误

webbrowser(1 个) ​

显示名(英文)显示成
webbrowser.Errorwebbrowser.错误

wsgiref(1 个) ​

显示名(英文)显示成
wsgiref.validate.WSGIWarningwsgiref.validate.WSGI警告

xx(1 个) ​

显示名(英文)显示成
xx.errorxx.错误

xxlimited(1 个) ​

显示名(英文)显示成
xxlimited.Errorxxlimited.错误

xxlimited_35(1 个) ​

显示名(英文)显示成
xxlimited_35.errorxxlimited_35.错误

zipapp(1 个) ​

显示名(英文)显示成
zipapp.ZipAppErrorzipapp.Zip应用错误

zipimport(1 个) ​

显示名(英文)显示成
zipimport.ZipImportErrorzipimport.Zip导入错误

zlib(1 个) ​

显示名(英文)显示成
zlib.errorzlib.错误

单元测试(1 个) ​

显示名(英文)显示成
单元测试.mock.InvalidSpecError单元测试.mock.非法规格错误

多进程(1 个) ​

显示名(英文)显示成
多进程.context.TimeoutError多进程.context.超时错误

海龟绘图(1 个) ​

显示名(英文)显示成
海龟绘图.TurtleGraphicsError海龟绘图.Turtle图形错误

电子邮件(1 个) ​

显示名(英文)显示成
电子邮件._邮件头值解析._InvalidEwError电子邮件._邮件头值解析.非法编码字错误

运行库(1 个) ​

显示名(英文)显示成
运行库._Error运行库.错误

三、怎么自己查 ​

python
# 1. 某个异常显示成什么(只看显示层,对象本身没变)
import traceback, re
try: re.compile('(?P<1>a)')
except Exception as e:
    print(traceback.format_exception_only(type(e), e)[-1].strip())
    print(type(e).__name__, type(e).__module__)   # 还是英文

# 2. 三张对照表就在 Lib/ 里,都是普通的 Python 字典/列表
import zh_errmessages as 手写        # 手写:异常名 + 高频正文 + 框架行
import zh_errmessages_gen as C层     # 解释器 C 层长尾
import zh_errmessages_lib as 库层    # 标准库自己 raise 的
import zh_excnames as 模块异常名

以 MIT / Apache-2.0 等宽松许可发布 · 联系作者 QQ:1396257961