我有一个文件名列表,需要根据字符串中的某个部分对其进行排序。但是,只有当我将文件扩展名作为排序字典的一部分时,它才起作用。如果文件是.jpg或.png,我希望它可以工作,因此我尝试在“u”和“.”字符上进行拆分
sorting = ['FRONT', 'BACK', 'LEFT', 'RIGHT', 'INGREDIENTS', 'INSTRUCTIONS', 'INFO', 'NUTRITION', 'PRODUCT']
filelist = ['3006345_2234661_ENG_PRODUCT.jpg', '3006345_2234661_ENG_FRONT.jpg', '3006345_2234661_ENG_LEFT.jpg', '3006345_2234661_ENG_RIGHT.jpg', '3006345_2234661_ENG_BACK.jpg', '3006345_2234661_ENG_INGREDIENTS.jpg', '3006345_2234661_ENG_NUTRITION.jpg', '3006345_2234661_ENG_INSTRUCTIONS.jpg', '3006345_2234661_ENG_INFO.jpg']
sort = sorted(filelist, key = lambda x : sorting.index(x.re.split('_|.')[3]))
print(sort)
这将返回错误“AttributeError:“str”对象没有属性“re”
我需要做什么才能在和上进行拆分。当我把字符串分开进行排序时?我只想将拆分用于排序,而不是重新形成字符串
以下是固定代码:
re.split()
的字符串输入应作为第二个参数传递给函数;不能对字符串调用re.split()
。第一个参数是您正确的正则表达式本身另外:您需要使用
\
对.
进行转义,因为句号或句点是正则表达式中匹配所有内容的特殊字符输出:
编辑:正如@Todd在评论中提到的,如果您想另外确保字符串在进行第一次排序后按数字部分排序,请使用:
相关问题 更多 >
编程相关推荐