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



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

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

我知道只有一个这样的文件夹,所以这是一个有效的操作,但是看起来os.rename不支持*。我怎么解它?

参见glob

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

您可以组合使用glob, os.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")

使用glob模块

glob.glob("abcd *")

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

最新更新