【发布时间】:2015-07-16 08:36:59
【问题描述】:
我有一个名为“abcd-1”的本地文件夹,我想做这样的事情:
import os
os.rename("abcd*", "abcd")
我知道只有一个这样的文件夹,所以这是一个有效的操作,但它看起来不像 os.rename 支持 *。我该如何解决?
【问题讨论】:
我有一个名为“abcd-1”的本地文件夹,我想做这样的事情:
import os
os.rename("abcd*", "abcd")
我知道只有一个这样的文件夹,所以这是一个有效的操作,但它看起来不像 os.rename 支持 *。我该如何解决?
【问题讨论】:
见glob
>>> import os, glob
>>> for f in glob.glob("abcd*"):
... os.rename(f, "abcd")
...
>>>
glob.glob("abcd*")[0] 获得第一个结果。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 和 os 是 python 中的标准库。
使用 glob 模块
例如
glob.glob("abcd*")
将返回 ["abcd-1"] 然后你可以重命名文件夹 您可能应该使用断言语句来确保只有 1 个结果
【讨论】: