本文将从以下几个方面讲解Python获取当前路径下所有文件名的方法:
- 使用os模块的listdir方法获取当前路径下所有文件名
- 使用os模块的walk方法遍历当前路径及其子目录下所有文件名
- 使用glob模块获取当前路径下指定类型的文件名
- 扩展:修改获取文件名的方式,获取更详细的文件信息
一、使用os模块的listdir方法获取当前路径下所有文件名
os模块是Python操作系统接口的标准库,提供了与操作系统交互的一系列方法。其中,listdir方法可以列出目录中的所有文件名。通过获取当前路径再使用listdir方法,我们可以得到当前路径下所有文件名:
import os
cur_dir = os.getcwd() # 获取当前路径
files = os.listdir(cur_dir) # 获取当前路径下所有文件名
print(files)
运行结果为:
['file1.txt', 'file2.py', 'dir1', 'dir2']
listdir方法返回的是一个列表,其中包含了当前路径下所有的文件名和子目录名。
二、使用os模块的walk方法遍历当前路径及其子目录下所有文件名
walk方法可以遍历指定目录及其子目录下的所有文件名。与listdir方法不同的是,walk方法可以遍历子目录,例如:
import os
cur_dir = os.getcwd() # 获取当前路径
for root, dirs, files in os.walk(cur_dir):
for file in files:
print(os.path.join(root, file))
运行结果为:
C:\Users\Administrator\Desktop\file1.txt
C:\Users\Administrator\Desktop\dir2\file3.py
C:\Users\Administrator\Desktop\dir2\file4.txt
C:\Users\Administrator\Desktop\dir1\file2.py
C:\Users\Administrator\Desktop\dir1\file5.txt
使用walk方法,我们可以遍历当前路径下及其子目录下所有文件名。相比使用listdir方法只能获取当前路径下的文件名,walk方法是一个更加全面的方法。
三、使用glob模块获取当前路径下指定类型的文件名
glob模块提供了查找符合特定规则的文件路径名的方法。使用它可以轻松筛选出当前路径下指定类型的文件名。
import glob
cur_dir = './' # 获取当前路径
files = glob.glob(cur_dir + '*.py') # 获取当前路径下所有后缀为py的文件名
print(files)
运行结果为:
['file2.py']
使用glob模块可以方便地筛选出当前路径下指定类型的文件名,如.py、.txt等。
四、扩展:修改获取文件名的方式,获取更详细的文件信息
如果我们不仅需要获取文件名,还需要获取文件的其他信息,例如文件大小、修改时间等,可以通过os模块的stat方法获取文件的详细信息。stat方法返回的是一个元组,包含了文件的详细信息。在元组中,第7个元素为文件大小,第8个元素为文件修改时间。
import os
cur_dir = os.getcwd() # 获取当前路径
for file in os.listdir(cur_dir):
file_path = os.path.join(cur_dir, file) # 获取文件路径
file_size = os.stat(file_path).st_size # 获取文件大小,单位为字节
file_mtime = os.stat(file_path).st_mtime # 获取文件修改时间,单位为秒
print(file, file_size, file_mtime)
运行结果为:
file1.txt 6 1635369736.6280584
file2.py 25 1635369736.6280584
dir1 4096 1634890712.3626368
dir2 4096 1635369015.7753992
通过修改获取文件名的方式,我们可以获取更加详细的文件信息。
本文链接:https://my.lmcjl.com/post/5903.html
展开阅读全文
4 评论