获取CSV读取器/写入器对象使用的文件对象

时间:2008-10-13 18:09:06

标签: python csv

在实例化后,是否有办法访问CSV编写器/读取器对象使用的文件对象?我打开了csv模块,看来它的比赛是内置的。我也尝试将文件对象设置为属性,但是我收到以下错误:

AttributeError: '_csv.writer' object has no attribute 'fileobj'

2 个答案:

答案 0 :(得分:3)

csv.writer是一个“内置”功能。也就是说,它是用编译的C代码而不是Python编写的。因此无法从Python代码访问其内部变量。

话虽如此,我不确定为什么您需要检查csv.writer对象以找出文件对象。在创建对象时指定该对象:

w = csv.writer(fileobj, dialect, ...)

因此,如果您以后需要访问该对象,只需将其保存在另一个变量中即可。

答案 1 :(得分:0)

据我所知,将文件对象放入csv对象后,没有直接的方法可以将文件对象取回。我的方法可能是将csv编写器和你正在使用的读者子类化,这样他们就可以随身携带这些数据。当然,这假设能够直接访问工厂函数所做的类类型(除其他外)。