|
发表于 2023-7-22 09:27:32
|
显示全部楼层
要做到每条记录单独占用一行,您需要在每个名字后面添加一个换行符( '\n' )。同时,您需要使用append模式('a')写入文件,以防止新内容覆盖旧内容。您需要使用 open() 函数以append模式打开文件,然后写入内容。 pathlib.Path.write_text() 是以覆盖模式写入内容的,所以它不能满足您的需求。
您可以将代码改写如下:
- from pathlib import Path
- while True:
- print("输入q退出")
- a = input("输入你的名字:")
- if a == 'q':
- break
- path = Path("guest_book.txt")
- with path.open('a', encoding='utf-8') as f:
- f.write(a + '\n')
复制代码
在这段代码中, 'a' 表示append模式,这意味着当我们写入内容时,新的内容会被添加到文件的末尾,而不是覆盖原有的内容。 encoding='utf-8' 指定了文件的编码方式,这对于包含非ASCII字符的文本(例如中文)非常重要。 f.write(a + '\n') 将输入的名字和一个换行符一起写入文件,这样每个名字都会单独占用一行。 |
|