嗨,今天我遇到了一些我不明白的 python 魔法,那就是
我有我使用 csv 模块的脚本,例如
import csv
Run Code Online (Sandbox Code Playgroud)
它抛出
$> 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
Run Code Online (Sandbox Code Playgroud)
所以我检查了 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
Run Code Online (Sandbox Code Playgroud)
所以我运行了 python 控制台并重新输入了它
>>> _csv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name '_csv' is not defined
>>> from _csv import Error
>>>
Run Code Online (Sandbox Code Playgroud)
我的问题是,这是什么?_(下划线)在 import 语句中有什么作用?以及为什么找不到 _csv 模块
编辑更新的回溯此版本作为系统上的第二个安装,而不是我
正如我做了一些谷歌搜索看起来 _is 只是一个约定,应该没有任何意义,将检查模块搜索路径
| 归档时间: |
|
| 查看次数: |
3781 次 |
| 最近记录: |