Python:如何进行字符串操作

2024-09-25 02:34:34 发布

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

各位, 可能在搜索时找到,但需要快速完成:

我有这样的路径:/mnt/path1/path2/path3/

我需要搜索所有的目录,比如/mnt,/mnt/path1,/mnt/path1/path2,/mnt/path1/path2/path3,如何在python中实现这一点?在

我不能做'chown-R/mnt/',因为它会尝试chown path3下存在的所有文件/目录,但是我希望在这里只选择path3。在

谢谢你的建议!在


Tags: 文件路径目录建议mntchownpath1path2
3条回答

您需要使用os.path库。如果从目录d开始,os.path.abspath(os.path.join(d, '..'))将返回该目录的父目录。这样做直到到达/mnt,对于运行chown的每个目录。在

快速和肮脏:

stop = '/mnt/path1/path2/path3'
for (dir, subdirs, files) in os.walk('/mnt'):
    if dir[:len(stop)] != stop:
        for x in [os.path.join(dir, f) for f in files] + [dir]:
           os.chown(x, uid, gid)

你可以这样做:

>>> import os
>>> path = "abc/def/ghi"
>>> a = path.split("/")
>>> [os.path.join(*a[:i]) for i in range(1, len(a)+1)]
['abc', 'abc/def', 'abc/def/ghi']

相关问题 更多 >