【问题标题】:Python: Find substring in list of stringPython:在字符串列表中查找子字符串
【发布时间】:2023-04-03 03:22:01
【问题描述】:

我有两个列表:songs 是歌曲名称列表,filenames 是通过运行 os.listdir() 生成的歌曲 MP3 文件列表。

songs = ['The Prediction', 'Life We Chose', 'Nastradamus', 'Some of Us Have Angels', 'Project Windows', 'Come Get Me', "Shoot 'em Up", 'Last Words', 'Family', 'God Love Us', 'Quiet Niggas', 'Big Girl', 'New World', 'You Owe Me', 'The Outcome']

每首歌曲都是 unicode。

filenames = ['Nas - Big Girl.mp3', 'Nas - Come Get Me.mp3', 'Nas - God Love Us.mp3', 'Nas - Life We Chose.mp3', 'Nas - Nastradamus.mp3', 'Nas - New World.mp3', "Nas - Shoot 'Em Up.mp3", 'Nas - Some of Us Have Angels.mp3', 'Nas - The Outcome.mp3', 'Nas - The Prediction.mp3', 'Nas Feat. Bravehearts - Quiet Niggas.mp3', 'Nas Feat. Ginuwine - You Owe Me.mp3', 'Nas Feat. Mobb Deep - Family.mp3', 'Nas Feat. Nashawn - Last Words.mp3', 'Nas Feat. Ronald Isley - Project Windows.mp3']

每个文件名都是一个字符串。

我希望能够查看songs 列表,如果songs 列表中的一项与filenames 列表中的项目匹配,则将文件重命名为歌曲的文件。

【问题讨论】:

  • 是的,这是有道理的。你试过什么?
  • 不,这没有意义。你期望结果是什么?描述你最终会得到的变量以及文件夹应该包含的文件名。
  • 您似乎只是想从某些 mp3 中删除艺术家姓名,在这种情况下,您可以使用 ID3-TagIt 之类的东西并从 ID3 标签生成新文件名。作为奖励,这将防止出现 "Shoot 'em Up""Shoot 'Em Up" 之类的错误。
  • 你不关心"Nas - Shoot 'Em Up.mp3"不被改变吗?因为发布的答案都没有考虑到这一点。

标签:
python
regex
string
substring
matching