您的位置:

Python os.path.splitext:分离文件名和扩展名

一、介绍

Python中的os.path模块提供了很多处理文件和目录的方法,其中os.path.splitext()方法用于分离文件名和扩展名。

在文件处理的过程中,我们常常需要对文件名和扩展名进行分离处理,os.path.splitext()方法能够简单快速地帮助我们实现这个功能。

二、用法

os.path.splitext(path)方法接受一个字符串作为参数,该字符串表示文件路径,返回一个包含文件路径和扩展名的元组。

如果路径参数中没有扩展名,则返回的元组中扩展名部分为空字符串。

import os

file_path = '/path/to/file.txt'
filename, ext = os.path.splitext(file_path)

print('File name:', filename)
print('Extension:', ext)

该代码的输出结果为:

File name: /path/to/file
Extension: .txt

注意:os.path.splitext()方法并不检查文件是否存在,它只是处理一个文件路径字符串。

三、示例

1. 处理多个文件

os.path.splitext()方法可以很方便地对多个文件进行批量处理。

import os

files = ['/path/to/file1.txt', '/path/to/file2.jpg', '/path/to/file3.py']

for file in files:
    filename, ext = os.path.splitext(file)
    print('File name:', filename)
    print('Extension:', ext)

该代码的输出结果为:

File name: /path/to/file1
Extension: .txt
File name: /path/to/file2
Extension: .jpg
File name: /path/to/file3
Extension: .py

2. 只列出指定扩展名的文件

在打印指定目录下所有文件时,可以使用os.path.splitext()方法来只列出指定扩展名的文件。

import os

dir_path = '/path/to/dir'
for file in os.listdir(dir_path):
    if os.path.splitext(file)[-1] == '.txt':
        print(file)

该代码只列出dir_path目录下所有扩展名为.txt的文件。

3. 创建不带扩展名的文件

在创建文件时,os.path.splitext()方法可以很容易地帮助我们创建不带扩展名的文件。

import os

dir_path = '/path/to/dir'
filename = 'myfile'
ext = '.txt'
file_path = os.path.join(dir_path, filename+ext)

with open(file_path, 'w') as f:
    f.write('Hello World!')

该代码创建一个名为myfile.txt的空文件,并向其中写入Hello World!。

四、总结

os.path.splitext()方法可以快捷地对文件名和扩展名进行分离处理,适用于各种文件处理场景。

它还可以与其他os.path模块中的方法配合使用,比如os.path.join()方法可以创建一个文件路径字符串。