file = open("songs.txt" , "r")
songs = {}
for line in file:
(song, name) = line.split(",")
songs[song] = str(name)
print(songs)
songs = {}
print("Welcome to the Virtual Playlist!")
while True:
print("")
print("What would you like to do?")
print("1. View the playlist")
print("2. View playlist sorted by artist name")
print("3. View playlist sorted by song name")
print("5. Add a song")
print("6. Exit")
choice = input("").strip()
if choice == "1":
print(file.read())
我正在尝试从文件中读取然后输出其中的所有内容,如果我排除了读取每一行的部分并将其存储到字典中,它就可以正常工作。但如果包含该部分,它就不起作用。为什么会这样?
此外,当它将歌曲和艺术家存储到字典中时,它在某些条目中包含/ n,因为文件中有空格。有没有办法排除那个/ n的东西,因为我只是不喜欢歌曲名称/艺术家。
答案 0 :(得分:0)
在此循环for line in file:
之后,您处于文件末尾。因此,下一个file.read()
无需阅读。如果您真的想再次阅读该文件,可以使用以下命令开头:
file.seek(0)
但您已经阅读songs
中的所有歌曲,为什么要重新定义songs = {}
并再次删除它们?为什么不:
if choice == "1":
for song, name in songs.items():
print(name, song)
使用strip()
删除\n
个字符:
song, name = line.strip().split(",")