【问题标题】:Add current system date to the file name using Python使用 Python 将当前系统日期添加到文件名
【发布时间】:2014-08-27 07:04:52
【问题描述】:

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

所以请在这方面帮助我

提前谢谢!!!!!!

【问题讨论】:

  • 您的src 字符串中似乎有错字。不应该是src = 'C:\python34\PyScript\y.log'吗?

标签: python datetime python-3.x


【解决方案1】:

我可以看到文件名不正确。注意r'' 使用原始字符串而不是转义字符串作为文件路径。

试试这个:

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)

【讨论】:

    【解决方案2】:

    看看这个:

    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
    

    【讨论】:

      猜你喜欢
      • 2023-01-22
      • 1970-01-01
      • 2016-11-06
      • 2012-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      • 1970-01-01
      相关资源
      最近更新 更多