Python获取当前路径下所有文件名

本文将从以下几个方面讲解Python获取当前路径下所有文件名的方法:

  1. 使用os模块的listdir方法获取当前路径下所有文件名
  2. 使用os模块的walk方法遍历当前路径及其子目录下所有文件名
  3. 使用glob模块获取当前路径下指定类型的文件名
  4. 扩展:修改获取文件名的方式,获取更详细的文件信息

一、使用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 评论

留下您的评论.