0

我正在尝试编写一个python脚本,以便我可以在父目录中找到所有sub_directories调用。然后'something'我想重命名sub directories并将它们移动到其他地方。到目前为止,我的代码如下:

import os, shutil,fnmatch

match = {}
for root, dirnames, filenames in os.walk('test'):
    #print root
    #print dirnames
    #print filenames
    for i in fnmatch.filter(dirnames,'find'):
        #print os.path.join(root,dirnames[0])
        print root
        #match.append(root)
        match[root]=dirnames[0]

呼叫匹配给了我类似的东西{'test\a': 'find'......}。我想修改字典的键值,使它看起来就像{'a':'find'...我试图摆脱父目录的名称一样。我考虑过转换为字符串并使用拆分,但似乎效率不高。

4

1 回答 1

0

要获取dirname没有parent目录名称的 ,请使用os.path.basename,这样:

>>> dirname = 'C:\\Users\\myUsers\\Videos'
>>> os.path.basename(dirname)
'Videos'

编辑:响应 OP 评论,

鉴于:

dirname = 'C:\\Users\\myUsers\\Videos'

你想获得新的文件夹名称myUsers_Videos,这是一种方法:

>>> os.path.basename('_'.join(os.path.split(dirname)))
'myUsers_Videos'
于 2015-07-11T04:57:42.347 回答