将更新的数据写入Python中的现有文件

时间:2014-11-05 03:44:13

标签: python-3.x

我正在使用的数据文件采用以下格式:

6345 Alfonso Chavez 98745.35 
2315 Terry Kulakowski 234.0 
4455 Yu Chen 78000.0 

我要做的是用我在代码中生成的更新余额替换余额(行中的最后一项)。我不确定如何使用现有文件来完成此操作而不首先擦除整个事物,这显然不是我想要的。我正在考虑使用for循环迭代该行并将其拆分为单独的列表元素,但这将更新每个用户的余额而不是特定的人。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

如果这是一个文本文件,那么没有好办法。通常,在不保存/重写整个文本文件的情况下,保存文本文件中的更改可能是不可能/非常困难的。相反,你应该关注的是你需要O(n)时间来遍历整个文件寻找特定的人。

说了这么多,python模块fileinput似乎是一个很好的方法来做到这一点。见this。您可以将inplace = True设置为使您看起来只是在改变该单行。

但这仍然是O(n)。它只是秘密地为你背后的整个文件重写。

此前还讨论了其他一些解决方案here