我正在尝试创建一个关于猜名字的小测验。 当我从字符串中删除小写字符时出现错误,并且由于我还是Python的新手,所以我没有关于修复它的线索。 解决该问题我需要做什么?
artists = open('artists.txt') ## IF YOU WANT TO EDIT THE SONG NAMES AND ARTISTS
songs = open('songs.txt') ## YOU NEED TO LEAVE THEM IN ORDER
songfilter = 'abcdefghijklmnopqrstuvwxyz\/' #Lowercase Alphabet With Some Slashes To Remove "/n"
songsFiltered = [songs.replace(alphabet, '') for w in songs]
guessList = list(zip(artists, songs))
songSelect = random.choice(guessList)
print(songSelect)
我希望收到输出,例如
('Billie Eilish', 'B G')
答案 0 :(得分:0)
歌曲不是字符串对象(因此没有替换功能),它是文件(读取器)对象(TextIOWrapper)。
要获取字符串,您必须读取()文件,
喜欢:
with open('songs.txt', 'r') as f:
content = f.read()
content.replace(alphabet, '')
代码中的歌曲同样适用,您无法遍历歌曲,必须将文件读取到字符串数组/列表中。