我正在试图找到一种方法,将songdata存储为.txt文件中的列表。我使用的方法似乎是将值存储在某个地方,但不是将它们写入文件。我还试图插入一个循环到它,这样我就可以继续输入“歌曲”,而不是只有一个。我以前没上过课,也不太懂怎么做。我可能做错了,需要重新格式化零件?任何建议都会很棒。你知道吗
class Song:
def __init__(self,song,chart,member):
self.song = song
self.chart = chart
self.member = member
def __str__(self):
return self.song + " topped the charts at " + str(self.chart)+ " band memebers include " + str(self.member)
songdata = Song(input("song"),input("chart spot"), input("bandemember"))
def readstring(f, line):
string = line.strip('\r\n')
return string
def writestring(f, string):
f.write(string)
with open("string.txt", "a+", encoding="utf-8") as f:
cont = "Y"
while cont.upper() == "Y":
d = input(songdata)
if d != "q":
string = " "+d
writestring(f, string)
else:
print("saving.....")
break
f.seek(0)
for line in f:
print(readstring(f,line))
f.close()
注意事项:
d = input(songdata)
中向用户请求信息时只初始化了一次类,input
的提示在第一次之后总是显示相同的内容。你知道吗d=...
的响应总是空的。初始化类时请求了歌曲信息(只做了一次),但从未将其写入文件(而是编写了f.write(string)
,其中string=" "+d
)write()
方法时,您实际上不需要特定的函数来写入文件。你知道吗我在下面重新编写了您的一些代码(写入文件部分)。我假设您希望用户能够随时通过输入键序列
q
退出程序,并且已经相应地这样做了。我相信你可以用发电机做一些更漂亮的东西,但这与问题无关:希望这有帮助:)
相关问题 更多 >
编程相关推荐