为什么 python 在将 csv.writer 与 QUOTE_NONNUMERIC 一起使用时会崩溃



当我使用 csv.writer 在 python 3.7 中创建 csv 文件时csv.QUOTE_NONNUMERIC python 崩溃并显示消息

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

这发生在 python 3.7.4 和 3.7.3 中,而不是 3.6.9。 如果我不通过csv.QUOTE_NONUMERIC,就不会发生.

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

由于我在网上找不到对此问题的任何引用,因此我认为这不是python或csv中的错误。当我编译python时,我似乎缺少依赖项,但是我从未能够提交完整的依赖项列表,因此我不确定我可能缺少什么。

重现步骤:

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

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

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

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

最新更新