使用Python将当前系统日期添加到文件名

时间:2014-08-27 07:04:53

标签: python datetime python-3.x

我正在编写脚本来移动文件并使用当前系统日期重命名该文件,例如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'

所以请帮助我

提前致谢!!!!!

2 个答案:

答案 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