首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python可以打开的最大文件大小是多少?

Python可以打开的最大文件大小是多少?
EN

Stack Overflow用户
提问于 2011-08-21 04:05:49
回答 1查看 23.4K关注 0票数 12

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

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

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

我已更改为建议的代码。缓冲区是一个8 MB的HTML文件,超过150k行。替换代码可以完美地工作;只是它不能替换所有内容。或者举个例子,一个令人痛苦的错误是:

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-21 04:08:08

不,对Python可以打开的文件大小没有可达的最大值。8兆字节在现代术语中是很小的。你在什么地方搞错了。

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

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

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

您说您“检查并将文件加载到一个字符串中”--这听起来像是您可能犯的第一个错误。要将文件加载到字符串中,只需执行fileobject.read()。如果你用其他方式来做,那可能就是问题所在。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7134338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档