标签: python-3.x
我正在使用的数据文件采用以下格式:
6345 Alfonso Chavez 98745.35 2315 Terry Kulakowski 234.0 4455 Yu Chen 78000.0
我要做的是用我在代码中生成的更新余额替换余额(行中的最后一项)。我不确定如何使用现有文件来完成此操作而不首先擦除整个事物,这显然不是我想要的。我正在考虑使用for循环迭代该行并将其拆分为单独的列表元素,但这将更新每个用户的余额而不是特定的人。任何帮助表示赞赏。
答案 0 :(得分:1)
如果这是一个文本文件,那么没有好办法。通常,在不保存/重写整个文本文件的情况下,保存文本文件中的更改可能是不可能/非常困难的。相反,你应该关注的是你需要O(n)时间来遍历整个文件寻找特定的人。
说了这么多,python模块fileinput似乎是一个很好的方法来做到这一点。见this。您可以将inplace = True设置为使您看起来只是在改变该单行。
但这仍然是O(n)。它只是秘密地为你背后的整个文件重写。
此前还讨论了其他一些解决方案here。