我正在尝试编写一个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'...
,所以基本上我试图摆脱父目录的名称。我想过转换为字符串并使用拆分但似乎效率不高。
答案 0 :(得分: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'