Python可以打开的最大文件大小?

2024-04-20 01:56:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python打开了一个8mb的文件,因为我想批量更改各种类型的文件名。我检查并将文件加载到一个字符串中,并使用string方法replace替换所有内容。然后我注意到只有一半的文件被替换了;好像Python没有完全打开文件一样。

是否有某种字符串大小限制或最大文件大小限制,我必须在Python的范围内播放?

请参阅Python search and replace not replacing properly中的代码。

我已改为建议的代码。缓冲区是一个8mb HTML文件,超过150k行。替换代码工作得很好;只是它没有替换所有的代码。例如,一个错误是痛苦的:

当我试图将字符串ff10替换为FF-10时,它将被更改为FF-010。


Tags: and文件方法字符串代码内容searchstring
1条回答
网友
1楼 · 发布于 2024-04-20 01:56:27

不,Python可以打开的文件大小没有可达到的最大值。现代意义上,8mb是微小的。你在某个地方犯了个错误。

人们定期将gigabytes的数据加载到内存中。根据计算机的RAM,无论是64位还是32位操作系统和处理器,在获得MemoryError之前,实际的最大内存可能在1 GB以上。

作为测试,我刚刚将一个350MB的文件加载到一个字符串中。只花了几秒钟。然后我把它写回一个文件。花了点时间。然后我对文件进行了哈希运算。两者是相同的。

Python对于大型字符串没有问题,直到达到RAM、操作系统或处理器的极限。

你说你“浏览并将文件加载到一个字符串中”——这听起来像是你可能犯错误的第一个地方。要将文件加载到字符串中,只需执行fileobject.read()。如果你用别的方法,那可能就是问题所在。

相关问题 更多 >