use*_*069 0 python file-io pickle
我第一次玩Python,并且手上有一个迷你项目,我正在忙着掌握这种语言.我基本上有兴趣知道我是否想要一个好的解决方案,或者是否有更好的方法去做.
有一个CSV文件基本上列出了整数(或应列出整数),每行约有三个整数,用逗号分隔.我这样做的方法是:
这是非常直接的,从技术上来说,"做到了".但是,在我阅读了一些建议使用pickle模块来读取由整数组成的文件的Python文档后,我的思绪发生了冲突.
显然,如果正在读取readline,则每行都以字符串形式读入.这意味着,整数也被作为字符串读入,这里可能会有精度损失?Pickle是一个神奇的模块,可以将所有内容转换为字符串表示形式,然后可以将其转换回原始数据类型表示而不会丢失精度.
恕我直言,我的程序代码在没有使用pickle模块的情况下工作正常,但是为了编写好的代码,你们有什么建议以及它背后的理由是什么:
pickle期望文件采用特定格式,由pickle模块本身生成.要读取CSV文件,您应该使用该csv模块.
此外,Python支持任意长度的整数,因此不必担心它们是字符串; 一旦他们被转换,你将得到每一个数字.
>>> int('1234567890123456789012345678901234567890')
1234567890123456789012345678901234567890L
Run Code Online (Sandbox Code Playgroud)