nob*_*ody 11 python string limit
我在Python中打开了一个8 MB的文件,因为我想批量更改各种类型的文件名.我经历并将文件加载到一个字符串中并使用字符串方法replace来替换所有内容.然后我注意到只有一半的文件被替换了; 好像Python没有完全打开文件.
是否存在某种字符串大小限制或最大文件大小限制,我必须在Python的范围内播放?
我已更改为建议的代码.缓冲区是一个8 MB的HTML文件,超过150k行.替换代码完美无缺; 只是它并没有取代一切.或者例如一个痛苦的错误是:
当我试图将字符串ff10替换为FF-10时,它将被更改为FF-010.
agf*_*agf 16
不,Python可以打开的文件大小没有可达的最大值.8 MB 在现代方面很小.你在某处弄错了.
人们经常将千兆字节的数据加载到内存中.根据计算机的RAM,无论是64位还是32位操作系统和处理器,实际最大值可能是1 GB之前的任何值MemoryError.
作为测试,我只是将一个350 MB的文件加载到一个字符串中.只花了几秒钟.然后我把它写回一个文件.这花了一点时间.然后我对文件进行了哈希处理.两者是相同的.
在您达到RAM,操作系统或处理器的限制之前,Python对大字符串没有任何问题.
你说你"通过并将文件加载到一个字符串中" - 这听起来像是你可能犯错的第一个地方.要将文件加载到字符串中,您就可以了fileobject.read().如果你采取其他方式,这可能是问题.
| 归档时间: |
|
| 查看次数: |
17846 次 |
| 最近记录: |