我知道有更好的方法可以做到这一点,但我不知道它是什么.我正在整理文件列表,我想删除"通常的嫌疑人",以便我可以将一个列表与另一个列表进行比较.
根据我的理解,name.replace()会查看listToClean中的每个项目以查找我选择的短语,如果存在则替换它们.必须有一个更好的方法来做到这一点......
def cleanLists(listToClean, extList):
cleanFileList = []
for filename in listToClean:
name = os.path.split(filename)[1]
ext = os.path.splitext(name)
if ext[1] in extList:
name = name.replace(ext[1], '')
name = name.replace('1080p', '')
name = name.replace('1080P', '')
name = name.replace('720p', '')
name = name.replace('720P', '')
name = name.replace('HD', '')
name = name.replace('(', ' ')
name = name.replace(')', '')
name = name.replace('.', ' ')
cleanFileList.append(name)
cleanFileList.sort(key=lambda x: x.lower())
return cleanFileList
Run Code Online (Sandbox Code Playgroud)
bad_names = ['1080p', '720p'] # and so on
for bad_name in bad_names:
name = name.replace(bad_name, '')
Run Code Online (Sandbox Code Playgroud)
显然,您从每个名称清除的单词声明将发生在函数的顶部,而不是文件列表上的每次迭代.
| 归档时间: |
|
| 查看次数: |
132 次 |
| 最近记录: |