我有很多文件,其名称结构如下:
this_is_a_file.extension
我必须将它们从最后一个下划线(包括在内)中删除,保留扩展名,然后将具有新名称的文件保存到另一个目录中。
请注意,这些名称的长度是可变的,因此我无法利用单个字符的位置。
此外,它们具有不同数量的下划线,否则我将应用类似的内容:split a file name
我该怎么办?
答案 0 :(得分:1)
您可以创建一个函数,该函数将原始文件名用下划线分隔,并在句点之间分隔最后一段。然后,您可以像这样再次将它们重新结合在一起:
def myJoin(filename):
splitFilename=filename.split('_')
extension=splitFilename[-1].split('.')
splitFilename.pop(-1)
return('_'.join(splitFilename)+'.'+extension[-1])
一些示例来说明它的工作原理:
>>> p="this_is_a_file.extension"
>>> myJoin(p)
'this_is_a.extension'
>>> q="this_is_a_file_with_more_segments.extension"
>>> myJoin(q)
'this_is_a_file_with_more.extension'