这是我第一次使用 python,我一直遇到错误 183。我创建的脚本在网络中搜索所有“.py”文件并将它们复制到我的备份驱动器。请不要嘲笑我的剧本,因为这是我的第一个剧本。
有什么线索可以告诉我我在脚本中做错了什么吗?
import os
import shutil
import datetime
today = datetime.date.today()
rundate = today.strftime("%Y%m%d")
for root,dirr,filename in os.walk("p:\\"):
for files in filename:
if files.endswith(".py"):
sDir = os.path.join(root, files)
dDir = "B:\\Scripts\\20120124"
modname = rundate + '_' + files
shutil.copy(sDir, dDir)
os.rename(os.path.join(dDir, files), os.path.join(dDir, modname))
print "Renamed %s to %s in %s" % (files, modname, dDir)
Run Code Online (Sandbox Code Playgroud)
我猜你正在 Windows 上运行脚本。根据Windows错误代码列表,错误183是ERROR_ALREADY_EXISTS
所以我猜脚本失败是因为您试图在现有文件上重命名文件。
也许您每天运行该脚本不止一次?这将导致所有目标文件都已存在,因此当脚本多次运行时重命名会失败。
如果您特别想覆盖这些文件,那么您可能应该os.unlink首先使用删除它们。