我试图仅从服务器的根文件夹中获取目录树。然后将输出提供给另一个程序,这样它将为另一个服务器创建相同的结构。
最困难的方法是创建类似于JSON的树形结构,然后将其解析到另一台服务器并创建文件夹。
有什么Python方法可以做到这一点吗?
答案 0 :(得分:1)
为什么要使用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)
这将从根目录('/
')打印整个目录树:
/lib
/lib/crda
/lib/crda/pubkeys
/lib/terminfo
/lib/terminfo/m
/lib/terminfo/c
/lib/terminfo/x
/lib/terminfo/E
...etc.
然后,将此列表发送到服务器,在其中将逐行读取该列表,并使用mkdir
参数运行-p
(创建父目录,如果没有错误,则根据需要创建父目录)。