您的位置:

使用Python os模块操作目录,快速读取文件列表

一、什么是Python os模块?

Python中的os模块是一个函数库,其提供了与操作系统相关联的函数,这些函数可以让你执行文件、目录和进程操作,以及处理文件路径。在使用Python编写程序时,os模块经常被用于在不同操作系统上处理文件系统路径和文件I/O操作中。

比如,在Linux中路径是以 /开始,而在Windows中,路径是以盘符开始的,如C:\

# 引入os模块
import os

# 获取当前工作路径
path = os.getcwd()
print(path)

运行以上代码可以输出当前工作目录的路径,如:/home/xxx/test/

在特定的路径中,我们经常需要遍历文件夹的所有文件并进行操作,下面我们详细说明一下Python os模块如何遍历文件夹、读取文件信息等,快速读取文件列表。

二、遍历文件夹

遍历文件夹是指遍历某一文件夹下的所有文件夹及文件,并对每一个文件进行一定的操作,如获取文件名、修改文件、删除文件等。我们可以使用os模块中的listdir、walk、glob等函数进行遍历。

1、使用os.listdir()

os.listdir()用于返回指定文件夹包含的文件或文件夹的名字的列表。使用该方法返回文件夹下的所有文件列表:

# 获取指定文件夹下的文件列表
import os
folder_path = "/home/xxx/test/"
file_list = os.listdir(folder_path)
print(file_list)

运行以上代码可以输出指定文件夹下的所有文件列表。

2、使用os.walk()

os.walk()会生成目录树下的每一个目录及文件名。它首先产生当前目录下的文件名,然后使用os.path.isdir()函数判断是否为目录,如果是目录,则进入该目录,执行上述操作,直到当前目录全部完成。

使用该方法返回文件夹下的所有文件列表:

# 获取指定文件夹下的文件列表
import os

folder_path = "/home/xxx/test/"
for root, dirs, files in os.walk(folder_path):
    for file in files:
        print(os.path.join(root, file))

运行以上代码可以输出指定文件夹下的所有文件列表。

三、读取文件信息

在获取了文件列表之后,我们需要读取每个文件的信息,如文件大小、创建时间、修改时间等,下面我们通过Python os模块的示例来演示如何读取文件的一些基本信息。

1、获取文件大小

使用os.path.getsize(path)方法可以获取文件的大小,返回的是字节数。

# 获取文件大小
import os

file_path = "test.txt"
size = os.path.getsize(file_path)
print("文件大小为:", size, "字节")

输出结果为:

文件大小为: 56 字节

2、获取文件创建时间

使用os.path.getctime(path)方法可以获取文件的创建时间,返回一个时间戳。

# 获取文件创建时间
import os
import time

file_path = "test.txt"
ctime = os.path.getctime(file_path)
print("文件创建时间为:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(ctime)))

使用time.localtime()方法将时间戳转换为格式化的日期时间字符串。

输出结果为:

文件创建时间为: 2021-07-28 11:47:58

3、获取文件修改时间

使用os.path.getmtime(path)方法可以获取文件的修改时间,返回一个时间戳。

# 获取文件修改时间
import os
import time

file_path = "test.txt"
mtime = os.path.getmtime(file_path)
print("文件修改时间为:", time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(mtime)))

使用time.localtime()方法将时间戳转换为格式化的日期时间字符串。

输出结果为:

文件修改时间为: 2021-07-28 14:27:23

四、小结

以上就是本文对使用Python os模块操作目录,快速读取文件列表的详细介绍,我们通过讲解os模块中的几个重要方法,如listdir、walk、getsize、getctime和getmtime,以及详细介绍了如何遍历文件夹、读取文件信息等操作。