Python读取目录下所有文件名放入数组

在Python中,我们经常需要读取目录下的文件名并将其放入数组中。这样可以方便地对这些文件进行进一步的处理和分析。本文将介绍如何使用Python读取目录下所有文件名,并给出相应的代码示例。

使用os模块

Python的os模块提供了许多与操作系统交互的函数。其中,os.listdir()函数可以用于获取指定目录下的所有文件名。我们可以使用该函数读取目录下的文件名,并将其放入一个数组中。

下面是一个简单的代码示例:

import os

def get_filenames(directory):
    filenames = os.listdir(directory)
    return filenames

directory = "./data"
filenames = get_filenames(directory)
print(filenames)

在上面的代码中,我们定义了一个get_filenames()函数,该函数接受一个目录路径作为参数,并使用os.listdir()函数获取该目录下的所有文件名。然后,我们可以将这些文件名存储到一个数组中,并返回该数组。最后,我们调用get_filenames()函数,并打印输出结果。

使用glob模块

除了使用os.listdir()函数,我们还可以使用glob模块来获取目录下的文件名。glob模块提供了一个函数glob.glob(),它可以接受一个通配符模式作为参数,并返回匹配该模式的文件名列表。

下面是一个示例代码:

import glob

def get_filenames(directory):
    filenames = glob.glob(directory + "/*")
    return filenames

directory = "./data/*.txt"
filenames = get_filenames(directory)
print(filenames)

在上面的代码中,我们定义了一个get_filenames()函数,它接受一个通配符模式作为参数,并使用glob.glob()函数获取所有匹配该模式的文件名。然后,我们可以将这些文件名存储到一个数组中,并返回该数组。最后,我们调用get_filenames()函数,并打印输出结果。

注意事项

在使用上述方法读取目录下的文件名时,需要注意以下几点:

  1. 目录路径的表示方式:在Windows系统中,目录路径使用反斜杠(\)进行分隔,而在Linux和MacOS系统中,目录路径使用正斜杠(/)进行分隔。因此,在编写代码时,需要根据不同的系统选择相应的目录路径表示方式。
  2. 目录路径的正确性:在使用上述方法时,需要确保所指定的目录路径是存在的。否则,可能会出现文件不存在或者无法打开文件的错误。
  3. 文件名的编码:在某些情况下,文件名可能包含非ASCII字符。为了正确处理这些文件名,需要使用合适的编码方式进行解码。

总结

本文介绍了如何使用Python读取目录下的所有文件名,并给出了相应的代码示例。我们可以使用os模块或glob模块来实现这一功能。在实际应用中,需要注意目录路径的表示方式、目录路径的正确性以及文件名的编码。通过将目录下的文件名放入数组,我们可以方便地对这些文件进行进一步的处理和分析。

参考链接

  • [Python os模块文档](
  • [Python glob模块文档](
pie
    title 文件类型占比
    "txt" : 30
    "csv" : 40
    "json" : 20
    "其他" : 10
erDiagram
    CUSTOMER ||--o{ ORDER : has
    CUSTOMER {
        int id
        string name
        string email
    }
    ORDER {
        int id
        string product
        int quantity
    }