我的目录结构如下:
[me@mypc]$ tree .
.
├── set01
│ ├── 01
│ │ ├── p1-001a.png
│ │ ├── p1-001b.png
│ │ ├── p1-001c.png
│ │ ├── p1-001d.png
│ │ └── p1-001e.png
│ ├── 02
│ │ ├── p2-001a.png
│ │ ├── p2-001b.png
│ │ ├── p2-001c.png
│ │ ├── p2-001d.png
│ │ └── p2-001e.png
我想写一个 python 脚本将所有 *a.png 重命名为 01.png,*b.png 为 02.png,等等。首先,我想我必须使用类似于 find 的东西。 -name '*.png'
,我在 python 中发现的最相似的东西是 os.walk
。但是,在 os.walk
中,我必须检查每个文件,如果它是 png,那么我会将它与它的根连接起来,不知何故不是那么优雅。我想知道是否有更好的方法来做到这一点?提前致谢。
最佳答案
对于这样的搜索模式,您可能可以使用 glob
.
from glob import glob
paths = glob('set01/*/*.png')
关于类似于 bash find 命令的 Python 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8247157/