gpt4 book ai didi

带有下划线前缀的python导入模块

转载 作者:太空宇宙 更新时间:2023-11-04 10:14:00 25 4
gpt4 key购买 nike

嗨,今天我遇到了一些我不明白的 python 魔法,那就是

我有脚本,我正在使用像

这样的 csv 模块
import csv 

它抛出

$> python generate_xml.py
generate_xml.py:21: SyntaxWarning: name 'parser' is assigned to before global declaration
global parser
Traceback (most recent call last):
File "generate_xml.py", line 2, in <module>
import csv
File "/usr/local/python2.5.1/lib/python2.5/csv.py", line 7, in <module>
from _csv import Error, __version__, writer, reader, register_dialect, \
ImportError: No module named _csv

所以我检查了csv.py文件,我看到的是这个

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__
from _csv import Dialect as _Dialect

所以我已经运行了 python 控制台并像这样重新输入了它

>>> _csv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '_csv' is not defined
>>> from _csv import Error
>>>

我的问题是,这是什么? _(下划线)在导入语句中的作用是什么?以及为什么它找不到 _csv 模块

编辑更新的回溯这个版本是作为第二个安装在系统上的,不是我安装的

因为我做了一些谷歌搜索看起来_只是一个约定,应该没有任何意义,将检查模块搜索路径

最佳答案

一些纯 python 模块具有用 C 编写的关联模块,用于性能目的或处理低级操作。 _csv 就是这样一个 csv 模块的关联模块。可以看源here如果你有兴趣。

构建或安装 Python 时应安装 _csv 模块。如果标准 CPython 安装中缺少它——即 Python 不是为移动或嵌入式设备等有限平台构建的——那么它表明你的安装已损坏或损坏,需要重新安装。

关于带有下划线前缀的python导入模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36478488/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com