您的位置:

Python Path Walk: 遍历文件夹并获取文件信息

一、Python中文件系统操作模块介绍

在Python中进行文件系统操作可以使用os模块和shutil模块,其中os模块是Python中最常用的文件系统操作模块之一。它提供了许多强大的方法来访问文件系统,比如对文件、目录、进程等进行操作。在使用os模块时,需要注意不同操作系统文件系统之间可能存在差异。 shutil模块也是Python中常用的文件系统操作模块,提供了一些高级的文件处理功能,尤其是在文件拷贝和删除等操作上,用起来很方便。 在Python中获取路径信息和遍历目录也有一些常用的库,比如glob模块、os.path模块和pathlib模块。这些库都提供了方便的方法来处理和管理路径。

二、Python路径遍历方法介绍

1. os.walk()

os.walk()是Python中遍历目录的方法之一,它能够遍历指定路径下的所有目录和文件。下面是使用os.walk()获取文件夹中的所有文件名并打印的示例代码:
import os
for root, dirs, files in os.walk("/path/to/folder"):
    for filename in files:
        print(filename)
上面的代码中,os.walk()返回的是一个包含3个部分的元组,分别是当前目录的路径、当前目录下的所有目录、当前目录下的所有文件。我们可以使用循环将这些文件名依次输出。

2. pathlib.Path()

pathlib库是Python 3.4中新增的库,用于处理路径问题。它提供了Path对象来方便地操作和处理路径,Path对象可以用于创建、删除、复制、移动文件或目录,并提供了一些方法来操作文件和目录路径。 下面是使用pathlib.Path()获取文件夹中的所有文件名并打印的示例代码:
from pathlib import Path
for file in Path("/path/to/folder").iterdir():
    if file.is_file():
        print(file.name)
上面的代码中,使用iterdir()方法获取目录中所有子文件或子目录的Path对象,使用name属性获取文件名。

三、Python获取文件信息方法介绍

1. os.stat()

os.stat()方法可以获取文件信息,返回的是一个包含文件信息的stat_result对象。stat_result对象包含了文件的许多信息,比如大小、创建时间、修改时间等。下面是使用os.stat()获取文件信息并输出的示例代码:
import os
file_info = os.stat("/path/to/file")
print(f"File size: {file_info.st_size} bytes")
print(f"File created time: {file_info.st_ctime}")
print(f"File modified time: {file_info.st_mtime}")
上面的代码中,使用os.stat()获取文件信息,使用st_size属性获取文件大小,使用st_ctime属性获取文件创建时间,使用st_mtime属性获取文件修改时间。

2. pathlib.Path().stat()

pathlib.Path()库也可以获取文件信息,它的Path对象有一个stat()方法可以获取文件信息。下面是使用pathlib.Path().stat()获取文件信息并输出的示例代码:
from pathlib import Path
file_info = Path("/path/to/file").stat()
print(f"File size: {file_info.st_size} bytes")
print(f"File created time: {file_info.st_ctime}")
print(f"File modified time: {file_info.st_mtime}")
上面的代码中,使用Path().stat()获取文件信息,使用st_size属性获取文件大小,使用st_ctime属性获取文件创建时间,使用st_mtime属性获取文件修改时间。

四、总结

Python中有多种方式可以遍历文件夹和获取文件信息。其中os.walk()和pathlib.Path()是比较常用的方法,但是每种方法都有自己的优缺点,需要根据实际情况选择。同时,获取文件信息也很重要,可以使用os.stat()和pathlib.Path().stat()获取文件信息,便于进一步的操作和处理。