重命名源文件夹名称与通配符匹配的文件夹(" *")

时间:2015-07-16 08:36:59

标签: python rename wildcard

我有一个名为" abcd-1"的本地文件夹。我想做这样的事情:

import os
os.rename("abcd*", "abcd")

我知道只有一个这样的文件夹,因此它是一个有效的操作,但它看起来不像os.rename支持*。我该如何解决?

3 个答案:

答案 0 :(得分:2)

请参阅glob

>>> import os, glob
>>> for f in glob.glob("abcd*"):
...   os.rename(f, "abcd")
... 
>>> 
  1. 检查是否只有一个结果,或使用glob.glob("abcd*")[0]作为第一个结果。
  2. 使用os.path.isdir()检查它是否是目录

答案 1 :(得分:1)

您可以使用globos.path.isdir()函数的组合(以确定它是否是目录),然后使用os.rename()重命名实际文件。

示例 -

import glob
import os
import os.path
lst = glob.glob("abcd")
for element in lst:
    if os.path.isdir(element):
        os.rename(element,"abcd")

答案 2 :(得分:0)

使用glob模块

例如

glob.glob( “ABCD *”)

将返回[“abcd-1”] 然后你可以重命名该文件夹 您应该使用assert语句来确保只有1个结果