我在python中编写文本文件时会自动添加空格

时间:2019-05-14 18:12:36

标签: python python-3.x

我正在尝试使用json库在PC上编辑文本文件,这就是Text.txt文件包含的内容:

{"name": "mike", "born": 1998}

这是我正在编写的代码

import json

text = """\
{
"look": "avarage",
"income": "high"
}"""
File = open("Test.txt", "r+")
json_from_file = json.load(File)
json_from_text = json.loads(text)
json_from_file.update(json_from_text)
File.truncate(0)
json.dump(json_from_file, File)
File.close()

Text.txt应包含:

{"name": "mike", "born": 1998, "look": "avarage", "income": "high"}

但是相反,我在开头有几个空白(总共31个),看起来像这样

                              {"name": "mike", "born": 1998, "look": "avarage", "income": "high"}

有什么想法可以摆脱它吗?

1 个答案:

答案 0 :(得分:1)

用seek代替截断:

import json

text = """\
{
"look": "avarage",
"income": "high"
}"""
File = open("Test.txt", "r+")
json_from_file = json.load(File)
json_from_text = json.loads(text)
json_from_file.update(json_from_text)
File.seek(0)
json.dump(json_from_file, File)
File.close()

File.truncate不会更改当前文件位置,并且由于您已经读取了文件,因此已处于文件位置(示例中为31个字符)。

请记住,如果您以某种方式修改文件以使其更短,那么仅File.seek就不会起作用,因为您可能会在末尾留下不需要的字符。