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()
函数,并打印输出结果。
注意事项
在使用上述方法读取目录下的文件名时,需要注意以下几点:
- 目录路径的表示方式:在Windows系统中,目录路径使用反斜杠(\)进行分隔,而在Linux和MacOS系统中,目录路径使用正斜杠(/)进行分隔。因此,在编写代码时,需要根据不同的系统选择相应的目录路径表示方式。
- 目录路径的正确性:在使用上述方法时,需要确保所指定的目录路径是存在的。否则,可能会出现文件不存在或者无法打开文件的错误。
- 文件名的编码:在某些情况下,文件名可能包含非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
}