我有一个名为"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模块
如
glob.glob("abcd *")
将返回["abcd-1"]然后您可以重命名该文件夹您可能应该使用assert语句来确保只有一个结果