- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个带有 while 循环的程序,该程序会将大量数据写入 csv 文件。可能超过 100 万行。
考虑到运行时间、内存使用、调试等,两者之间哪个更好:
打开一个 CSV 文件,保持打开状态并逐行写入,直到 100 万行全部写入
打开一个文件,写入约100行,close(),再次打开,写入约100行,......
我想我只是想知道如果我们一直保持文件打开,是否会占用更多内存?哪一个需要更长的时间?
我无法运行代码进行比较,因为我对代码使用 VPN,并且通过测试进行测试对我来说会花费太多美元。因此,对于这件事来说,只需一些经验法则就足够了。
最佳答案
我相信写入操作会立即写入磁盘,因此关闭并重新打开文件没有任何好处。文件打开时并不存储在内存中,您实际上只是获得一个指向该文件的指针,然后一次加载或写入其中的一部分。
编辑
更明确地说,不,打开大文件不会使用大量内存。同样,写入大量数据不会使用大量内存,只要在将数据写入文件后不将数据保存在内存中即可。
关于python - 将大量数据写入 .csv 文件时,是否经常打开和关闭文件更好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31009284/
当运行 scala.util.Random().nextInt(3) 81 次时,我看到如下结果(Java 开发人员,请参阅 edit 了解这之间的关系): 200010202002112102222
在使用 native 应用程序在混合模式 C++/CLI 中调试时,我遇到了进程挂起问题。这是无法忍受的,我的调试几乎 70% 都会发生这种情况,我需要一次又一次地重新启动该过程。 是否有任何修补程序
我不知道这是一个错误还是某种误用/错误配置。希望有人能帮忙。谢谢! 如果我更改模块或 list 目录中的文件,通常会导致错误,大部分是以下类型 无法找到节点上的类 在节点上找不到定义类 当 Puppe
我是一名优秀的程序员,十分优秀!