python如何分离文件名和扩展名(python把文件分为几种文件类型)

liftword5个月前 (12-30)技术文章59

作为新手,如果需要用python将文件名和扩展名分开,你会怎么处理?

full_files = [
    'dsie.txt',
    'woeifj.py',
    'jfosdi.cpp',
    'dkjfowe.43.mp3',
    'doif.tar.gz'
]

通常如果上面的文件名,一般都会想到用字符串分割再拼接的方式:

for file in full_files:
    file_split = file.split(".")
    name = '.'.join(file_split[0 : -1])
    suffix = '.' + file_split[-1]
    print(f"name : {name}, suffix : {suffix}")

但上面的方式我不是很推荐,你可以直接用python自带的接口:

import os

for file in full_files:
    pure_path = os.path.splitext(file)
    name = pure_path[0]
    suffix = pure_path[1]
    print(f"name : {name}, suffix : {suffix}")

还有一种方式是我最推荐的,我之前写过《在python中如何去检测文件是否存在?》文章中提到过:

import pathlib

for file in full_files:
    pure_path = pathlib.PurePath(file)
    name = pure_path.stem
    suffix = pure_path.suffix
    print(f"name : {name}, suffix : {suffix}")

上述运行效果如下:

name : dsie, suffix : .txt
name : woeifj, suffix : .py
name : jfosdi, suffix : .cpp
name : dkjfowe.43, suffix : .mp3
name : doif.tar, suffix : .gz

大家有什么想法也可以相互交流相互学习。

相关文章

Python处理文件的6个常用代码,使用频率很高,值得收藏

日常工作中,我们经常会遇到一些查找、存储文件的问题,比如文件合并、文件分解等,这些问题涉及到对文件进行操作处理。对此,Python的OS库提供了很多功能模块供使用,本文整理了其中6个使用频率很高的常用...

Python基础-Python模块与包介绍(python模块总结)

当你在一个Python项目中编写的代码越来越多的时候,为了保证代码的可读性,我们引入了模块和包的概念,其中模块中包含了Python代码的单个文件,而包则是包括了Python中的多个模块,通过模块和包可...

Python文件读写技巧(python的文件读写)

一、Python绝对路径和相对路径明确一个文件所在的路径,有 2 种表示方式,分别是:◆ 绝对路径:总是从根文件夹开始,Window 系统中以盘符(C:、D:)作为根文件夹,而 OS X 或者 Lin...

单片机上运行Python——MicroPython(一)

MicroPython被设计为能够运行于单片机或者微控制器上。对于熟悉常规计算机编程的程序员来说,这些设备往往具有许多硬件上的限制。具体来讲,其可用的RAM资源和“硬盘”资源(Flash存储器)均十分...