我正在编写脚本来移动文件并使用当前系统日期重命名该文件,例如27/08/2014 10-30_po.log .....
import shutil
import datetime
import os
def timeStamped(fname, fmt='%d-%m-%Y %H-%M-%S_{fname}'):
return datetime.datetime.now().strftime(fmt).format(fname=fname)
shutil.move('c:\python34\y.log' , 'C:\python34\PyScript\y.log')
src = 'C:\PyScript\y.log'
dst = timeStamped('po.log')
os.rename(src , dst)
这是我使用的代码,但我得到错误:
os.rename(src , dst)
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'C:\\
PyScript\\y.log' -> '27-08-2014 12-24-48_po.log'
所以请帮助我
提前致谢!!!!!
答案 0 :(得分:0)
我可以看到文件名不正确。请注意r''
使用rawstring而不是文件路径的转义字符串。
试试这个:
import shutil
import datetime
import os
def timeStamped(fname, fmt='%d-%m-%Y %H-%M-%S_{fname}'):
return datetime.datetime.now().strftime(fmt).format(fname=fname)
shutil.move('c:\python34\y.log' , 'C:\python34\PyScript\y.log')
src = r'C:\python34\PyScript\y.log'
dst = timeStamped('po.log')
dst = os.path.join(r'C:\python34\PyScript', dst)
os.rename(src, dst)
答案 1 :(得分:0)
检查出来:
import shutil
import datetime
import os
src = 'c:\python34\y.log'
dst = 'c:\PyScript\y.log'
rnm = 'po.log'
def timeStamped(fname, fmt='%d-%m-%Y %H-%M-%S_{fname}'):
return datetime.datetime.now().strftime(fmt).format(fname=fname)
shutil.move(src, dst)
rnm = timeStamped(rnm)
os.rename(dst, os.path.dirname(dst) + '\\' + rnm)
结果是:
c:\PyScript\27-08-2014 12-13-09_po.log