如何从 Python 中的输入同时附加和覆盖文件

西塞罗·多斯桑托斯

我正在尝试使用以下代码同时附加和覆盖:

with open("file.txt",'r') as f:
     data=f.readlines()
     user_amount = data[2].rstrip()

def deposit(event):
    if event >= 0:
        user_amount += event
    with open("file.txt", 'a') as a:
        a.writelines(event)

def save():
    with open("file.txt",'w') as f:
         for i,line in enumerate(data,1):             
             if i == 3:                                          
                f.writelines(user_amount)
             else:
                f.writelines(line)

该文件由以下几行组成:

 first line
 second line
 user_amount
 fourth line

所以,基本上我想做的是:我有一个名为“Deposit”的按钮,当我按下它时,调用函数 deposit() 从条目中获取值并保存在变量 user_amount 中。例如,如果我将 10 放入 Entry 并按下按钮存入 user_amount sum 10 并且该值显示在标签中。到目前为止还好,每次我按下按钮存款时,这些值都会附加到文件中。但是,还有另一个名为 log_out 的按钮,我需要按下并调用函数 save() 以在索引 2 处保存“新金额”!工作正常,我的文件中的索引 2 更新为新数量,但我的问题是所有附加都消失了。更清楚的是,我需要在文件末尾附加条目输入的所有值,当我按下按钮 log_out 时,我需要保存新金额并保留所有追加内容。第一、二、四行我不能修改。输出应该是:

first_line
second_line
user_amount (new_amount)
fourth_line
Deposit
100.0
Deposit
50.0
Deposit
200.0... line by line ( will show all deposits made)
谷仓

编辑:如果 event 是整数,我的代码可能无法正常工作,但是您显示的代码不会产生您显示的输出,特别是您没有显示任何在输出中添加“存款”行的内容表演。这就是为什么 StackOverflow 要求您在需要代码帮助时显示最小完整可验证示例https://stackoverflow.com/help/mcve

问题(我认为)是您将原始文件的副本保存在变量中data,并且在调用存款函数时没有更新它,因此当您调用保存函数(重写整个文件)时,内容变量data被写出,因此存款丢失

您可以通过像这样(未经测试)更新存款功能中的数据来修复它(我假设event是一个列表):

def deposit(event):
    if event >= 0:
        user_amount += event
    with open("file.txt", 'a') as a:
        a.writelines(event)
    data.extend(event)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从流附加到文件而不是在Python中覆盖

来自分类Dev

如何在Python中附加json文件?

来自分类Dev

如何避免在python中覆盖文件?

来自分类Dev

如何避免在python中覆盖文件?

来自分类Dev

如何使用文件中的文本和 tkinter python 中的条目将文本附加到标签

来自分类Dev

如何使用python在csv文件中写入和附加循环输出

来自分类Dev

如何在python http.server中同时提供文件夹和处理POST请求

来自分类Dev

如何在python中同时插入多个输入?

来自分类Dev

如何使用python和bs4读取和覆盖文件夹中的所有* .txt文件?

来自分类Dev

python 3.x:如何根据用户在新行中的输入将文本写入/附加到现有文件?

来自分类Dev

如何在 Ruby 中同时读取和覆盖文本文件

来自分类Dev

在IPython中,如何保存并附加到文件而不是覆盖文件?

来自分类Dev

如何仅在python 3中打开文件以进行附加

来自分类Dev

如何删除和更改python中的附加列表?

来自分类Dev

如何在python中同时使用封装和继承

来自分类Dev

在 Python 中抓取时如何同时打印段落和标题?

来自分类Dev

如何使用python覆盖文件中的字符串?

来自分类Dev

如何覆盖python脚本文件中的某些分配?

来自分类Dev

如何在python 2和3中都覆盖?

来自分类Dev

如何覆盖python中的方法?

来自分类Dev

如何在Python中使用输入和输出文件

来自分类Dev

如何附加到文件 (FTP Python)

来自分类Dev

如何在python文件中写入用户输入?

来自分类Dev

如何将输入文件作为参数在 Python 中读取?

来自分类Dev

Python:如何在PyQt中控制Lineedit的输入和输出

来自分类Dev

如何用python中的输入求解和方程

来自分类Dev

如何在 Python 中验证数组的负 # 和 alpha 输入

来自分类Dev

如何在忽略空格和新行的同时在 python 中读取行。Python

来自分类Dev

如何通过Python 2.7将字节附加到zip文件内部的文件中?

Related 相关文章

  1. 1

    如何从流附加到文件而不是在Python中覆盖

  2. 2

    如何在Python中附加json文件?

  3. 3

    如何避免在python中覆盖文件?

  4. 4

    如何避免在python中覆盖文件?

  5. 5

    如何使用文件中的文本和 tkinter python 中的条目将文本附加到标签

  6. 6

    如何使用python在csv文件中写入和附加循环输出

  7. 7

    如何在python http.server中同时提供文件夹和处理POST请求

  8. 8

    如何在python中同时插入多个输入?

  9. 9

    如何使用python和bs4读取和覆盖文件夹中的所有* .txt文件?

  10. 10

    python 3.x:如何根据用户在新行中的输入将文本写入/附加到现有文件?

  11. 11

    如何在 Ruby 中同时读取和覆盖文本文件

  12. 12

    在IPython中,如何保存并附加到文件而不是覆盖文件?

  13. 13

    如何仅在python 3中打开文件以进行附加

  14. 14

    如何删除和更改python中的附加列表?

  15. 15

    如何在python中同时使用封装和继承

  16. 16

    在 Python 中抓取时如何同时打印段落和标题?

  17. 17

    如何使用python覆盖文件中的字符串?

  18. 18

    如何覆盖python脚本文件中的某些分配?

  19. 19

    如何在python 2和3中都覆盖?

  20. 20

    如何覆盖python中的方法?

  21. 21

    如何在Python中使用输入和输出文件

  22. 22

    如何附加到文件 (FTP Python)

  23. 23

    如何在python文件中写入用户输入?

  24. 24

    如何将输入文件作为参数在 Python 中读取?

  25. 25

    Python:如何在PyQt中控制Lineedit的输入和输出

  26. 26

    如何用python中的输入求解和方程

  27. 27

    如何在 Python 中验证数组的负 # 和 alpha 输入

  28. 28

    如何在忽略空格和新行的同时在 python 中读取行。Python

  29. 29

    如何通过Python 2.7将字节附加到zip文件内部的文件中?

热门标签

归档