python - 使用特定格式的python重命名文件
问题描述
我正在尝试重命名一个文件夹中的文件,模式为 0001、0002、0010、0100 等。我对 python 非常陌生,很抱歉问了这么基本的问题。
我四处搜索,我遇到的大多数代码都会重命名文件(不是我想要的)或删除某些字符。我还遇到过使用额外模块(glob)的代码,这只会让我更深入兔子洞。我看到的大部分内容都让我头晕目眩;目前我的技能并没有超越简单的函数,if、when、for、while 语句等。
我拼凑了一些我(有点)理解的代码,但它不起作用。
import os
dir = os.listdir("D:\\temp\\Wallpapers")
i = 0
for item in dir:
dst ="000" + str(i) + ".jpg"
src = item
dst = item + dst
# rename() function will
# rename all the files
os.rename(src, dst)
i += 1
这是我得到的错误:
Traceback (most recent call last):
File "rename.py", line 14, in <module>
os.rename(src, dst)
FileNotFoundError: [WinError 2] The system cannot find the file specified: '00-Pyatna.jpg' -> '0000.jpg'
解决方案
它不起作用,因为您可能不在正确的目录中,并且您正试图在您现在所在的目录中找到这些文件。您应该使用绝对路径来执行此操作。见以下代码
import os
base_path = "D:/temp/Wallpapers"
files = os.listdir(base_path)
for i, fp in enumerate(files):
dst = os.path.join(base_path, "{0:04d}.jpg".format(i))
src = os.path.join(base_path, fp)
os.rename(src, dst)
推荐阅读
- json - ng 用于多个数组角度
- git - VirtualBox debian 64。安装 git 后无法重新启动我的虚拟机(但如果有人知道如何在 2 个驱动器上进行双启动,我会接受它)
- python - Instaloader 登录或连接问题
- node.js - jwt如何在nodejs中实现RSA256签名验证
- lua - 如何摆脱 Lua 上的“元表被锁定”?以及如何添加 getrawmetatable?
- r - 估计回归到 R 中的平均值
- ios - OpenTok SDK - 空引用错误 - Xamarin iOS
- python-3.x - PyQ5-添加操作以保存取消和应用按钮
- python - 当列具有非零值时重置计数器
- java - 我有一个问题,点击后按钮的文本消失了如何在点击后修复文本