Python os.listdir与os.walk实现获取路径详解
在Python中,获取文件和目录路径是很常见的操作。在本篇文章中,我们将学习如何使用os.listdir()
和os.walk()
函数,这两个函数可以帮助我们轻松地遍历目录中的文件和子目录。下面分别介绍这两个函数的用法。
os.listdir()
os.listdir()
函数可以帮助我们获取指定目录下的所有文件和子目录的名称,返回的结果是一个列表。
import os
files = os.listdir('/path/to/directory')
print(files)
在这个例子中,os.listdir()
函数会返回指定目录下的所有文件和子目录的名称,它们被存储到变量files
中。你可以通过遍历files
列表来获取每个文件和子目录的完整路径。
下面是一个例子,它演示了如何获取指定目录下所有文件的完整路径。
import os
directory = '/path/to/directory'
files = os.listdir(directory)
for file in files:
# join路径
path = os.path.join(directory, file)
# 检查是否是文件
if os.path.isfile(path):
print(path)
在这个例子中,我们用os.path.join()
函数将文件名和目录路径拼接起来,形成了绝对路径。我们还使用了os.path.isfile()
函数来检查路径是否是文件类型。如果是文件类型,我们就打印出这个文件的完整路径。
os.walk()
os.walk()
函数可以帮助我们遍历指定目录下的所有文件和子目录,返回的结果是一个生成器对象。我们可以通过遍历生成器对象来获取每个文件和子目录的完整路径。
import os
for dirpath, dirnames, filenames in os.walk('/path/to/directory'):
print(f'dirpath: {dirpath}')
print(f'dirnames: {dirnames}')
print(f'filenames: {filenames}')
在这个例子中,我们用os.walk()
函数来获取指定目录下的所有文件和子目录信息。返回的结果是一个元组(dirpath, dirnames, filenames)
,它们分别表示当前目录路径、所有子目录列表和当前目录下所有文件列表。
对于每个目录,os.walk()
函数会递归地遍历所有子目录并返回它们的信息。我们可以通过循环遍历输出来获取每个文件和子目录的完整路径。
下面是一个例子,它演示了如何遍历指定目录下所有文件的完整路径。
import os
for dirpath, dirnames, filenames in os.walk('/path/to/directory'):
for file in filenames:
# join路径
path = os.path.join(dirpath, file)
# 打印文件路径
print(path)
在这个例子中,我们将os.path.join()
函数用于文件名和目录路径的拼接,形成了每个文件的绝对路径。我们用一个嵌套的循环来遍历每个子目录中的所有文件,并打印出文件的完整路径。
到此为止,我们已经学习了如何使用os.listdir()
和os.walk()
函数获取路径信息。如果你有其他问题或疑问,欢迎在下方评论区留言!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python os.listdir与os.walk实现获取路径详解 - Python技术站