如何写入文件并每两条记录留一个空行?

pan*_*087 -5 python python-3.x

Python 3.7 我有一个城市列表,我想把它们写在一个文本文件中。有没有办法我可以每两个城市留一个空行?

例如:

listc=[London,Rome,Moscow,Paris]
nfile=open("towns.txt",'w')
for line in nfile:
    for town in listc:
        if line%2==0:
            nfile.write(town+'\n')
        else:
            nfile.write('\n')
nfile.close()
Run Code Online (Sandbox Code Playgroud)

我想实现这一目标:

listc=[London,Rome,Moscow,Paris]
nfile=open("towns.txt",'w')
for line in nfile:
    for town in listc:
        if line%2==0:
            nfile.write(town+'\n')
        else:
            nfile.write('\n')
nfile.close()
Run Code Online (Sandbox Code Playgroud)

但这是错误的,因为它跳过了城市而不是接下来写它们。

Kum*_*nus 5

你应该做这样的事情:

listc=["London", "Rome", "Moscow", "Paris"]
nfile=open("towns.txt", 'w')

i = 0

for town in listc:
       nfile.write(town)
       if i == 2:
           nfile.write('\n')
           i = 0
           continue
       i += 1

nfile.close()
Run Code Online (Sandbox Code Playgroud)

如果您只想重用您的代码,只需替换

nfile.write('\n')
Run Code Online (Sandbox Code Playgroud)

nfile.write(town)
Run Code Online (Sandbox Code Playgroud)

因为这意味着如果它不是第二行,你只想写“\n”,这意味着空行 => 它会遗漏城镇