Python 3.x 创建一个目录树并将其作为输入馈送,以再次创建同一棵树
我正在尝试仅从服务器中的根文件夹获取目录树。然后将输出馈送到另一个程序,以便它将相同的结构创建到另一个服务器 困难的方法是创建一个类似JSON的树结构,然后将其解析到另一台服务器并创建文件夹Python 3.x 创建一个目录树并将其作为输入馈送,以再次创建同一棵树,python-3.x,directory,automation,Python 3.x,Directory,Automation,我正在尝试仅从服务器中的根文件夹获取目录树。然后将输出馈送到另一个程序,以便它将相同的结构创建到另一个服务器 困难的方法是创建一个类似JSON的树结构,然后将其解析到另一台服务器并创建文件夹 有什么pythonic方法可以做到这一点吗?为什么是JSON?您可以创建目录列表,例如,使用以下脚本: import os def print_dir(path): with os.scandir(path) as it: for entry in it:
有什么pythonic方法可以做到这一点吗?为什么是JSON?您可以创建目录列表,例如,使用以下脚本:
import os
def print_dir(path):
with os.scandir(path) as it:
for entry in it:
if entry.is_dir():
d = os.path.join(path, entry.name)
yield d
yield from print_dir(d)
for d in print_dir('/'):
print(d)
这将从根“/”打印整个目录树:
然后将此列表发送到服务器,在服务器上逐行读取并使用-p参数运行mkdir create parents,如果存在则无错误,根据需要创建父目录。是否有任何方法仅获取最后一级目录。因此,我不必再创建/lib/lib/crda,而只需创建/lib/crda即可处理这两种情况。
/lib
/lib/crda
/lib/crda/pubkeys
/lib/terminfo
/lib/terminfo/m
/lib/terminfo/c
/lib/terminfo/x
/lib/terminfo/E
...etc.