📅  最后修改于: 2023-12-03 15:19:14.754000             🧑  作者: Mango
在 Python 中, os 模块提供了一些用于操作操作系统功能的函数和方法。其中, os.scandir() 函数可以用于遍历一个目录中的所有文件和子目录。返回的结果是一个迭代器,其中每个元素都是 os.DirEntry 对象,表示目录中的一个文件或子目录。
每个 os.DirEntry 对象包含多个属性,其中一个是 name 属性。name 属性是一个字符串,表示对象的名称(包括扩展名部分)。在遍历目录时,通常需要获得每个文件或子目录的名称,以便在后续处理中使用。
以下是获取 os.DirEntry 对象的 name 属性的示例代码:
import os
with os.scandir('/path/to/directory') as entries:
for entry in entries:
if entry.is_file():
print(entry.name)
在上面的示例中,我们使用 os.scandir() 函数遍历了一个目录中的所有文件。对于每个 os.DirEntry 对象,我们检查它是否为文件(而不是子目录),然后打印出它的名称。
需要注意的是, name 属性包括文件扩展名部分。例如,如果文件名为 “example.txt”,那么 name 属性的值为 “example.txt”。因此,如果需要在后续处理中使用文件扩展名,可以使用 os.path.splitext() 函数将 name 属性分离为文件名和扩展名两部分。
import os
with os.scandir('/path/to/directory') as entries:
for entry in entries:
if entry.is_file():
filename, extension = os.path.splitext(entry.name)
print(filename, extension)
上述代码将文件名和扩展名分别打印输出,可以根据需要进行进一步处理。
总而言之, os.DirEntry 对象的 name 属性是一种方便的方法,可用于在 Python 中获取目录中的文件或子目录的名称。通过使用 os.path.splitext() 函数或其他相关功能,可以进一步扩展该属性的用途。