gpt4 book ai didi

python - 使用 pkg_resources 时以通用换行模式打开文件?

转载 作者:太空宇宙 更新时间:2023-11-03 13:52:43 24 4
gpt4 key购买 nike

我正在处理 CSV 文件并具有以下工作代码:

reader = csv.reader(open(filename, 'rU'), dialect='excel')
header = reader.next()

但是,为了与代码库中的其他地方兼容,我需要使用一个使用 pkg_resources.resource_stream 的文件对象,如下所示:

fileobj = pkg_resources.resource_stream('foo', 'tests/bar.csv')
reader = csv.reader(fileobj, dialect='excel')
header = reader.next()

(我在这里进行了简化 - 基本上 csv.reader 代码在一个我无法控制的函数中,它需要一个 fileobj。)

这会引发以下错误。

Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?

知道如何在我的 fileobj 中使用通用换行模式吗?我在 pkg_resources 文档中看不到任何相关信息。

谢谢。

最佳答案

如果流总是有一个 fd(例如,因为它是文件系统上的一个正常打开的文件),您可以使用 os.fdopen(fileobj.fileno(), 'rU') 打开它使用正确的模式。

关于python - 使用 pkg_resources 时以通用换行模式打开文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4052489/

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