查询并列出我正在使用的计算机的所有可用目录

问题描述 投票:1回答:1

我尝试了一个python代码来搜索我的电脑中主文件夹内的所有目录,代码是:

[x[0] for x in os.walk(dir)]

我在here找到了。

好吧,现在我有兴趣编写一个类似的代码,能够搜索并列出我的电脑中所有可用的目录而不指定主目录'dir'(假设我不知道我是否在C:\,在E中: \,在C:\ python2.7 \等......)。对于'available',我指的是所有可以打开/读取/修改的目录,并且可以通过我的帐户访问(具有特定的权限,假设,我不知道)。

你有一些工作代码来执行我的要求吗?

谢谢

python-3.x python-2.7
1个回答
0
投票

如果您使用的是Python 3,则可以访问pathlib.Path

您必须从某个目录开始,例如您当前的工作目录。从那里,您可以获得文件系统的根目录(在Windows下的* n * x,/下的letter:\):

import os
import pathlib

root = str(pathlib.Path(os.getcwd()).absolute().root)

all_dirs = [x[0] for x in os.walk(root)]

在Windows上的Python 2.7中,您可以使用os.path.splitdriveos.getcwd()拆分为驱动器号和路径,然后从那里开始。

import os

root, path = os.path.splitdrive(os.getcwd())
all_dirs = [x[0] for x in os.walk(root + "/")]

请注意,我使用/而不是\:Windows也支持使用正斜杠,并且像这样它也适用于其他系统(因为root将是一个空字符串)。

© www.soinside.com 2019 - 2024. All rights reserved.