我有一个循环,每次都要在新行上写入文本。。下面是Python中的代码:
for j in b:
data = json.loads(json.dumps(j))
data = json.dumps(data)
data = json.loads(data)
from_id = data['from_id']
text = data['text']
if (os.path.exists(f'{user_id}.txt')):
with open(f'{user_id}.txt', 'w', encoding='utf-8') as file:
file.write(f'{from_id}: {text}n')
我试着在最后使用n,但它不适合我。结果为它只写最后一行
:
Abcdefg
Gkfdjawsfd
fasfjk
结果:
fasfjk
写模式w
从文件开头开始写。
当代码不循环时,您只需要追加,只需追加模式a
,它看起来像:
with open(f'{user_id}.txt', 'a', encoding='utf-8') as file:
file.write(f'{from_id}: {text}n')
但是这里你有一个循环,文件不依赖于循环(user_id
没有在循环中定义),所以你可以在循环外打开文件一次
with open(f'{user_id}.txt', 'w', encoding='utf-8') as file:
for data in b:
from_id = data['from_id']
text = data['text']
file.write(f'{from_id}: {text}n')
而且转储/加载部分似乎无用,我删除了它