是否有从文件名中提取扩展名的功能?
当前回答
您可以对文件名使用拆分:
f_extns = filename.split(".")
print ("The extension of the file is : " + repr(f_extns[-1]))
这不需要额外的库
其他回答
您可以使用以下代码拆分文件名和扩展名。
import os.path
filenamewithext = os.path.basename(filepath)
filename, ext = os.path.splitext(filenamewithext)
#print file name
print(filename)
#print file extension
print(ext)
name_only=file_name[:filename.index(".")
这将为您提供文件名,最多为第一个“.”,这将是最常见的。
从Python中的文件名提取扩展名
Python os模块splitext()
splitext()函数将文件路径拆分为具有两个值的元组:root和extension。
import os
# unpacking the tuple
file_name, file_extension = os.path.splitext("/Users/Username/abc.txt")
print(file_name)
print(file_extension)
使用Pathlib模块获取文件扩展名
获取文件扩展名的Pathlib模块
import pathlib
pathlib.Path("/Users/pankaj/abc.txt").suffix
#output:'.txt'
3.4版新增。
import pathlib
print(pathlib.Path('yourPath.example').suffix) # '.example'
print(pathlib.Path("hello/foo.bar.tar.gz").suffixes) # ['.bar', '.tar', '.gz']
我很惊讶还没有人提到pathlib,pathlib太棒了!
只需加入所有pathlib后缀。
>>> x = 'file/path/archive.tar.gz'
>>> y = 'file/path/text.txt'
>>> ''.join(pathlib.Path(x).suffixes)
'.tar.gz'
>>> ''.join(pathlib.Path(y).suffixes)
'.txt'
推荐文章
- 将Pandas或Numpy Nan替换为None以用于MysqlDB
- 使用pandas对同一列进行多个聚合
- 使用Python解析HTML
- django MultiValueDictKeyError错误,我如何处理它
- 如何在for循环期间修改列表条目?
- 我如何在Django中创建一个鼻涕虫?
- 没有名为'django.core.urlresolvers'的模块
- 蟒蛇导出环境文件
- Django - makemigrations -未检测到任何更改
- SQLAlchemy:引擎、连接和会话差异
- 在Python Pandas中删除多个列中的所有重复行
- 更改pandas DataFrame中的特定列名
- 将Pandas多索引转换为列
- 熊猫在每组中获得最高的n个记录
- 熊猫数据帧得到每组的第一行