Python获取文件名:从基础到实践

引言

在编写代码时,经常需要获取文件名。Python提供了多种方法来获取文件名和文件扩展名。在这篇文章中,我们将从基础知识开始,逐步深入,讲解Python获取文件名的各种方法。

基础知识

在Python中,获取文件名的方法主要涉及到两个模块:

import os
import os.path

os模块提供了许多与操作系统相关的函数,而os.path模块则提供了许多与路径相关的函数。

获取完整路径

在Python中,我们可以使用os.path.abspath()函数来获取文件的完整路径。

import os
path = "test.txt"
full_path = os.path.abspath(path)
print(full_path)

输出结果为:

/home/user/test.txt

获取文件名和扩展名

使用os.path.splitext()函数可以获取文件名和扩展名。

import os
path = "test.txt"
file_name, file_ext = os.path.splitext(path)
print(file_name, file_ext)

输出结果为:

test .txt

获取文件名

如果只需要获取文件名,可以使用os.path.basename()函数。

import os
path = "test.txt"
file_name = os.path.basename(path)
print(file_name)

输出结果为:

test.txt

获取文件夹名

如果需要获取文件所在的文件夹名,可以使用os.path.dirname()函数。

import os
path = "/home/user/test.txt"
dir_name = os.path.dirname(path)
print(dir_name)

输出结果为:

/home/user

实战

下面我们来看一个实际的例子,演示如何使用Python获取文件名。

需求

我们需要编写一个程序,读取某个目录下的所有文件,并输出文件名和文件大小。

实现

首先,我们需要使用os模块的listdir()函数获取目录下的所有文件。

import os
path = "/home/user/my_folder"
files = os.listdir(path)
for file in files:
    print(file)

输出结果为:

file1.txt
file2.txt
file3.txt

接下来,我们使用os.path.getsize()函数获取文件大小。

import os
path = "/home/user/my_folder"
files = os.listdir(path)
for file in files:
    file_path = os.path.join(path, file)
    file_size = os.path.getsize(file_path)
    print(file, file_size)

输出结果为:

file1.txt 1024
file2.txt 2048
file3.txt 3072

最后,我们把文件名和文件大小格式化输出。

import os
path = "/home/user/my_folder"
files = os.listdir(path)
for file in files:
    file_path = os.path.join(path, file)
    file_size = os.path.getsize(file_path)
    print("{0} - {1} bytes".format(file, file_size))

输出结果为:

file1.txt - 1024 bytes
file2.txt - 2048 bytes
file3.txt - 3072 bytes

总结

Python提供了多种方法来获取文件名和文件路径。在实际应用中,我们可以根据具体需求选择不同的方法。本文从基础知识开始,逐步深入,讲解了Python获取文件名的各种方法,并通过一个实际例子演示了如何使用Python获取文件名和文件大小。

本文来源:词雅网

本文地址:https://www.ciyawang.com/9e5bwk.html

本文使用「 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 」许可协议授权,转载或使用请署名并注明出处。

相关推荐