【发布时间】:2019-05-04 07:12:57
【问题描述】:
我正在尝试创建一个脚本,将所有图片从我的下载文件夹移动到我的图片文件夹。我的脚本工作到此为止(将文件移动过来),除非它尝试移动目标文件夹中已经具有相同名称的文件 - 就像打印屏幕一样。如果 printscreen1.png 在图片中已经存在,它不会移动文件。
对于这样的文件,我想重命名文件并将日期或时间添加到文件名中,然后在不替换原始打印屏幕的情况下移动它,这样我就可以让这两个和所有打印屏幕都面向未来。
import os
import shutil
import datetime
downloadsb = os.path.join('B:\\Downloads')
pictures = os.path.join('B:\\Pictures')
for f in os.listdir(downloadsb):
if f.endswith((".jpg", ".gif", ".jpeg", ".png", ".ico", ".psd", ".sfw", ".webp", ".pdd", ".psb", ".bmp", ".rle", ".dib", ".eps", ".iff", ".tdi", ".jpf",
".jpx", ".jp2", ".j2c", ".jxk", ".jpc", ".jps", ".mp0", ".pcx", ".pdp", ".raw", ".pxr", ".pns")):
shutil.move(os.path.join(downloadsb, f), pictures)
if os.path.isfile(f):
os.rename(f,f + "date")
这是我的错误信息:
raise Error, "Destination path '%s' already exists" % real_dst
shutil.Error: Destination path 'B:\Pictures\printscreen1.png' already exists
这是我目前所拥有的,如果有任何帮助或建议,我将不胜感激。谢谢
【问题讨论】:
-
您现在尝试移动文件后正在重命名文件;这可能应该发生在以前。
标签: python file-rename