当我定义一个函数并尝试使用os.步行其中,输出只是目录中的第一个文件,我想打印出C驱动器中的所有文件。你知道吗
#os.chdir=("..")
def dirslist():
for root, dirs, files in os.walk("c://", topdown=False):
for name in files:
return(os.path.join(root, name))
for name in dirs:
return(os.path.join(root, name))
print(dirslist())
Tags:
return
在第一次迭代中返回。您想要的是从所有迭代中获取路径。一种方法是将return
更改为yield
。现在dirslist
变成了一个生成函数,并一个接一个地生成您的路径。你知道吗另一种方法是,如果您不是生成器人员,则将路径累积到一个列表中,然后返回该列表。你知道吗
这里需要注意的是
return
只从函数返回一次,而yield
在每次迭代时返回,每次调用前一次迭代后立即恢复。你知道吗如果你想打印出C盘上所有的文件。 使用打印而不是返回
相关问题 更多 >
编程相关推荐