为什么python在使用csv.writer时会崩溃

2024-06-26 14:46:30 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用csv.writercsv.QUOTE_NONNUMERIC在python3.7中创建csv文件时,python会崩溃并显示消息

python: Objects/typeobject.c:3117: _PyType_Lookup: Assertion `!PyErr_Occurred()' failed.
Aborted (core dumped)

这在python3.7.4和3.7.3中发生,但在3.6.9中没有发生。 如果我没有通过csv.QUOTE_NONUMERIC,就不会发生这种情况

python的所有版本都是在Linux Mint 19上同时编译的

因为我在网上找不到任何关于这个问题的参考资料,所以我假设它不是python或csv中的bug。似乎我在编译python时缺少了一个依赖项,但是我从来没有能够提交一个完整的依赖项列表,所以我不确定可能缺少什么

复制步骤:

import csv
with open('tmp.csv', 'w') as f:
 csv.writer(f, csv.QUOTE_NONNUMERIC)

Tags: 文件csv消息objectslookupquotewriterassertion
1条回答
网友
1楼 · 发布于 2024-06-26 14:46:30

引号应作为关键字而不是位置参数传递给csv.writer by

import csv
with open('tmp.csv', 'w') as f:
    csv.writer(f, quoting=csv.QUOTE_NONNUMERIC)

否则,它将被传递给dialect参数,该参数需要一个用于选择csv.Dialect子类的字符串来格式化输出。由于csv.QUOTE_NONNUMERIC是一个int,我认为它被传递给了c模块中的一个函数,并导致了一个低级错误

相关问题 更多 >