什么是Python中的"_csv"?

Lar*_*tig 19 python csv symbols built-in

在尝试读取csv.py文件的源代码时(作为writer在另一个上下文中实现我自己的类的指南),我发现该文件中的大部分功能反过来都是从以下内容导入的_csv:

 from _csv import Error, __version__, writer, reader, register_dialect, \
                  unregister_dialect, get_dialect, list_dialects, \
                  field_size_limit, \
                  QUOTE_MINIMAL, QUOTE_ALL, QUOTE_NONNUMERIC, QUOTE_NONE, \
                  __doc__
Run Code Online (Sandbox Code Playgroud)

我在我的系统上找不到任何具有此名称的文件(包括搜索具有隐藏属性集的文件),尽管我可以import _csv从Python shell中执行此操作.

这个模块是什么,可以阅读吗?

Fre*_*Foo 19

_csvcsv模块的C"主干" .它的来源是Modules/_csv.c.您可以从Python命令提示符中找到此模块的编译版本:

>>> import _csv
>>> _csv
<module '_csv' from '/usr/lib/python2.6/lib-dynload/_csv.so'>
Run Code Online (Sandbox Code Playgroud)

Python源代码中没有隐藏文件:)


Vla*_*nko 14

不要不同意larsmans的回答.

PEP8中有模块命名约定的官方解释:

当用C或C++编写的扩展模块具有提供更高级别(例如更多面向对象)的接口的Python模块时,C/C++模块具有前导下划线(例如_socket)