我试图写一个简单的Python脚本,将复制索引。在所有子目录(少数例外)中将TPL转换为index.html。

我在获取子目录列表时陷入了困境。


当前回答

选中“获取当前目录中所有子目录的列表”。

下面是Python 3的版本:

import os

dir_list = next(os.walk('.'))[1]

print(dir_list)

其他回答

我必须提到path.py库,我经常使用它。

获取直接子目录变得如此简单:

my_dir.dirs ()

完整的工作示例是:

from path import Path

my_directory = Path("path/to/my/directory")

subdirs = my_directory.dirs()

注意:my_directory仍然可以作为字符串操作,因为Path是string的子类,但提供了一堆有用的方法来操作路径

选中“获取当前目录中所有子目录的列表”。

下面是Python 3的版本:

import os

dir_list = next(os.walk('.'))[1]

print(dir_list)

我只是写了一些代码来移动vmware虚拟机,最终使用os。路径和shutil来完成子目录之间的文件复制。

def copy_client_files (file_src, file_dst):
    for file in os.listdir(file_src):
            print "Copying file: %s" % file
            shutil.copy(os.path.join(file_src, file), os.path.join(file_dst, file))

它不是特别优雅,但确实有用。

这个方法很好地一次性完成了这一切。

from glob import glob
subd = [s.rstrip("/") for s in glob(parent_dir+"*/")]

使用pathlib的一行代码:

list_subfolders_with_paths = [p for p in pathlib.Path(path).iterdir() if p.is_dir()]