【发布时间】:2021-10-03 11:47:51
【问题描述】:
我有一个文本文件,内容如下:
'artist
song
'artist2
song2
'artist3
song3
song4
'artist4
song5
我想在控制台打印:
song'artist
song2'artist2
song3'artist3
song4'artist3
song5'artist4
但是文本文件发生了变化,所以我不能只合并特定的行。 到目前为止,我有这个代码来合并艺术家姓名和艺术家姓名下方的第一首歌曲,但是当同一艺术家有多首歌曲时(如上面的示例文本文件所示),我希望它打印出所有该艺术家的歌曲后跟艺术家姓名,而不仅仅是第一首歌曲。
这是我当前的代码:
SongsFile = open('songs.txt', 'r')
Lines3 = SongsFile.readlines()
for line in Lines3:
count += 1
try:
if line.startswith("\'"):
x = count + 1
at3.append(x)
at4.append(line)
if count = at3[0]:
at3.clear()
sa = line + at4[0]
at4.clear()
print(str(sa).replace("\n", " "))
except:
pass
这几乎可以工作,但不是输出我想要的(上面的示例),而是输出这个(如果使用了我上面给出的示例文件)
song'artist
song2'artist2
song3'artist3
song5'artist4
对不起,如果这令人困惑,我已尽力解释。
【问题讨论】:
标签: python python-3.x file-handling txt