相关疑难解决方法(0)

列出python中的目录树结构?

我知道我们可以使用os.walk()列出目录中的所有子目录或所有文件.但是,我想列出完整的目录树内容:

  • 子目录1:
    • FILE11
    • file12
    • 子目录11:
      • file111
      • file112
  • 子目录2:
    • file21
    • 子目录21
    • 子目录22
      • 子子目录221
        • 文件2211

如何在Python中实现这一目标?

python traversal directory-structure

84
推荐指数
9
解决办法
9万
查看次数

Python 将路径转换为字典

我有一个需要转换为字典的路径列表

[
    "/company/accounts/account1/accountId=11111",
    "/company/accounts/account1/accountName=testacc",
    "/company/accounts/account1/environment=test",
    "/company/accounts/account2/accountId=22222",
    "/company/accounts/account2/accountName=stageacc",
    "/company/accounts/account2/environment=stage",
    "/program/releases/program1/stage/version=1.1",
    "/program/releases/program1/stage/date=2021-02-01",
    "/program/releases/program1/prod/version=1.0",
    "/program/releases/program1/prod/date=2021-01-15",
]
Run Code Online (Sandbox Code Playgroud)

它应该是这样的:

{
    "company": {
        "accounts": {
            "account1": {
                "accountId": 11111,
                "accountName": "testacc",
                "environment": "test"
            },
            "account2": {
                "accountId": 22222,
                "accountName": "stageacc",
                "environment": "stage"
            }
        }
    },
    "program": {
        "releases": {
            "program1": {
                "stage": {
                    "version": "1.1",
                    "date": "2021-02-01"
                },
                "prod": {
                    "version": "1.0",
                    "date": "2021-01-15"
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在尝试迭代地解决这个问题,但我似乎无法让它发挥作用。对于嵌套字典,不确定这里的正确方法是什么。

这是我的代码:

class Deserialize:
    def __init__(self):
        self.obj = {}

    def deserialize_iteratively(self, paths):
        
        def helper(path):
            path_elements = path.split('/') …
Run Code Online (Sandbox Code Playgroud)

python python-3.x

-1
推荐指数
1
解决办法
644
查看次数