我希望newline
只能在3个句子之间打印一次。但是,通过以下code
,在新newline
句之前,每个句子都打印了newline
和另外一个index
。
with open(convert_file) as infile:
for line in infile:
with open('convert-profile.txt', "a") as f1:
if "index" in line:
f1.write("\n"+line)
elif "scan start time" in line:
f1.write(line)
elif "binary: [4]" in line:
f1.write(line)
f1.close
我猜是因为旧文件index
中的每个scan time
,binary
和convert_file
都以newline
结尾。
如何在同一line
中附加这三个并将它们写在新文件中?
另一件事,当我对"w"
使用print
模式时,它似乎继续在第一行打印。最后,我得到一个空白文件。如果我希望每当code
"w"
无效时运行getLocationJson(term: string) {
var term = "Mechelsesteenweg+64";
return this._http.get('https://maps.googleapis.com/maps/api/geocode/json?address=Someroad+64&key=AIzkeystuffjXDm6eU5mPP9Nczg')
.subscribe((json: any) => {
var obj = JSON.parse(json);
var jsonParsed = obj["results"];
});
}
,我应该使用什么模式重写文件?
答案 0 :(得分:2)
我建议您首先为要编写的行构建string
,然后编写整行。如果您要删除换行character
,则应使用line.rstrip()
,如下所示:
line = line.rstrip()
result = ''
if "index" in line:
result += line
elif "scan start time" in line:
result += line
elif "binary: [4]" in line:
result += line
result += '\n'
对于模式,with open('convert-profile.txt', 'w') as f1:
应该可以正常工作。