在实例化后,是否有办法访问CSV编写器/读取器对象使用的文件对象?我打开了csv模块,看来它的比赛是内置的。我也尝试将文件对象设置为属性,但是我收到以下错误:
AttributeError: '_csv.writer' object has no attribute 'fileobj'
答案 0 :(得分:3)
csv.writer
是一个“内置”功能。也就是说,它是用编译的C代码而不是Python编写的。因此无法从Python代码访问其内部变量。
话虽如此,我不确定为什么您需要检查csv.writer对象以找出文件对象。在创建对象时指定该对象:
w = csv.writer(fileobj, dialect, ...)
因此,如果您以后需要访问该对象,只需将其保存在另一个变量中即可。
答案 1 :(得分:0)
据我所知,将文件对象放入csv对象后,没有直接的方法可以将文件对象取回。我的方法可能是将csv编写器和你正在使用的读者子类化,这样他们就可以随身携带这些数据。当然,这假设能够直接访问工厂函数所做的类类型(除其他外)。