一、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()获取文件信息,便于进一步的操作和处理。