使用通配符 ("*") 匹配的源文件夹名称重命名文件夹
Rename a folder with source folder name matched by wildcard ("*")
我有一个名为 "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 模块
例如
glob.glob("abcd*")
将 return ["abcd-1"]
然后你可以重命名文件夹
您可能应该使用断言语句来确保只有 1 个结果
您可以结合使用 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")
我有一个名为 "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 模块
例如
glob.glob("abcd*")
将 return ["abcd-1"] 然后你可以重命名文件夹 您可能应该使用断言语句来确保只有 1 个结果
您可以结合使用 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")