如何拆分路径名并按选择打印每个路径名?

2024-09-29 17:13:19 发布

您现在位置:Python中文网/ 问答频道 /正文

在这段代码中,我想要分割路径。但是当我使用split函数时,路径被安排在一个列表中,它没有分割它们。我不知道为什么

打印hello

['/home/runner/TestP1/folder1', '']
['/home/runner/TestP1/folder1/sub', '']
['/home/runner/TestP1/folder2', '']

打印hello[1]

No result. Nothing shows up

所需的输出打印(hello[1])

/home/runner/TestP1/folder1/sub

代码

import os
 
def listdirs(rootdir):
    for file in os.listdir(rootdir):
        d = os.path.join(rootdir, file)
        if os.path.isdir(d):
            e = d + ","
            print(e)
            # hello = e.split(",")
            # print(hello[1])
            listdirs(d)
        
 
rootdir = '/home/runner/TestP1'
listdirs(rootdir)

Tags: path函数代码路径hellohomeosfile
2条回答

尝试以下解决方案:

import os
 
dirs = []
def listdirs(rootdir):
    for file in os.listdir(rootdir):
        d = os.path.join(rootdir, file)
        if os.path.isdir(d):
            dirs.append(d)
            listdirs(d)
    
        
 
rootdir = '/home/runner/TestP1'
listdirs(rootdir)
print(dirs[1])

您的e已挂起一个,帖子,因此split()将其拆分为一个大小为2的列表

就像在具有10列的csv文件中一样,如果第一行都是空白的,那么在csv文件中会发现一行由9逗号组成,即,,,,,,,,,导入操作系统

这将以递归方式打印所有目录

def listdirs(rootdir):
    for file in os.listdir(rootdir):
        d = os.path.join(rootdir, file)
        if os.path.isdir(d):
            print(d)
            listdirs(d)
        
 
rootdir = '/home/runner/TestP1'
listdirs(rootdir)

相关问题 更多 >

    热门问题