我试图用fabric读取远程文件。文件正在下载到StringIO中。因此,对于new,让我们假设文件是本地的:
fd=StringIO('#test=123\nblabla=456').getvalue()
现在我想删除注释并同时更改test的值:
dict(next(csv.reader([item], delimiter='=', quotechar="'")) for item in next(csv.reader([fd], delimiter='\n', quotechar="'")))
我得到了一个错误:
_csv.Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
但是如何在通用换行模式下打开文件呢?在
编辑:
所以,我读了StringIO。但我也在改变它:
^{pr2}$
保持在
csv
标准能力内,不要获取StringIO
文件的值。只需倒带并传递给csv.reader
:结果:
^{pr2}$此处不需要
fd.seek(0)
,但如果fd
是通过某个调用写入的,则需要使用它:您必须倒带缓冲区才能将其传递给csv.reader
相关问题 更多 >
编程相关推荐