在没有主目录名称的情况下启动os.walk

时间:2019-06-19 07:26:20

标签: python

我想从文件夹中获取所有目录。但是没有打印我正在读取的主目录名称。

我要从中读取数据的装置

文件夹名称(用于开始在文件夹中进行挖掘):Computer/mydata/

我的代码:

path = "Computer/mydata/"
for i,j,y in os.walk(path):
    name = i
    print(name)

输出:

Computer/mydata/
Computer/mydata/Abc
Computer/mydata/Bcd
Computer/mydata/Cde

我不想要用于狩猎的主目录。只想跳过那条路。 我要打印此:

Computer/mydata/Abc
Computer/mydata/Bcd
Computer/mydata/Cde

2 个答案:

答案 0 :(得分:1)

您可以检查一下要打印的名称是否与您的path

for i,j,k in os.walk(path):
    #Only process i if is not the same as path
    if i != path:
        name = i
        print(name)

一种更好的方法是使用os.path.normpathos.path.samefile之类的os.path方法(感谢@ olinox14)来比较路径,前提是您可以获得具有诸如Computer/mydata/../mydata/之类的相对组件的路径< / p>

例如

if os.path.normpath(i) != os.path.normpath(path)

if os.path.samefile(i, path)

答案 1 :(得分:1)

只需检查该目录是否相同。最安全的方法是使用os.path.samefile

for root, _, _ in os.walk(path):
    if os.path.samefile(root, name ):
        name = i
        print(name)