是否有从文件名中提取扩展名的功能?


当前回答

您可以在pathlib模块(python3.x中提供)中找到一些很棒的东西。

import pathlib
x = pathlib.PurePosixPath("C:\\Path\\To\\File\\myfile.txt").suffix
print(x)

# Output 
'.txt'

其他回答

def NewFileName(fichier):
    cpt = 0
    fic , *ext =  fichier.split('.')
    ext = '.'.join(ext)
    while os.path.isfile(fichier):
        cpt += 1
        fichier = '{0}-({1}).{2}'.format(fic, cpt, ext)
    return fichier
import os.path
extension = os.path.splitext(filename)[1][1:]

只获取扩展名的文本,而不获取点。

上面的任何解决方案都有效,但在linux上,我发现扩展字符串末尾有一个换行符,这将阻止匹配成功。将strip()方法添加到末尾。例如:

import os.path
extension = os.path.splitext(filename)[1][1:].strip() 

值得在那里加一个较低的,这样你就不会发现自己为什么JPG没有出现在你的列表中。

os.path.splitext(filename)[1][1:].strip().lower()

您可以在pathlib模块(python3.x中提供)中找到一些很棒的东西。

import pathlib
x = pathlib.PurePosixPath("C:\\Path\\To\\File\\myfile.txt").suffix
print(x)

# Output 
'.txt'