所以我有一个列表如下:Python。遍历文件列表,找到相同的文件名,但扩展名不同
mylist = ['movie1.mp4','movie2.srt','movie1.srt','movie3.mp4','movie1.mp4']
注:一个简单的列表进行测试,该脚本将处理未知文件名和更多其中。
所以我想找到配对的srt文件的电影文件,并将它们放在一个字典中。剩下的东西(即movie3.mp4)将留在列表中并在稍后处理。
我一直在玩列表理解,虽然它可能不会留下剩余的数据,并允许我构造字典。
import re matches = [ x for x, a in mylist if (re.sub('\.srt$', '\.mp4$', a) == x or re.sub('\.srt$', '\.mp4$', a) == x) ]
这将返回: ValueError: too many values to unpack
如何,我可能接近这个任何想法?
这很好用。我之前没有使用os.path.splitext;很有用。谢谢! – ryan461 2014-10-29 11:10:04