我可以以某种方式将os.walk()
的输出保存在变量中吗?我试过了
basepath, directories, files = os.walk(path)
但它不起作用。我想继续目录的文件和一个特定的子目录。这有点可能吗?感谢
答案 0 :(得分:2)
os.walk()
返回一个生成器,该生成器将从其启动的初始路径连续返回 all 文件/目录树。如果您只想处理目录和一个特定子目录中的文件,则应混合使用os.listdir()
以及os.path.isfile()
和os.path.isdir()
的混合来获得所需内容。
这样的事情:
def files_and_subdirectories(root_path):
files = []
directories = []
for f in os.listdir(root_path):
if os.path.isfile(f):
files.append(f)
elif os.path.isdir(f):
directories.append(f)
return directories, files
并像这样使用它:
directories,files = files_and_subdirectories(path)
答案 1 :(得分:1)
我想继续目录的文件和一个特定的文件 子目录。这有点可能吗?
如果你想要的只是尝试
[e for e in os.listdir('.') if os.path.isfile(e)] + os.listdir(special_dir)