制作备份文件+附加日期时间+移动文件(如果文件存在)。蟒蛇

时间:2014-09-15 15:13:53

标签: python file datetime backup rename

我有一些这样的工作,但我正在努力将它们放在一起。

我想获取一个文件,将其移动到备份文件夹,从该文件中获取日期时间,并将其附加到文件名/将文件名更改为文件名+日期时间。

此部分以我想要的格式获取日期时间。 (打印行是正确格式化的日期时间,但我不需要打印此行)

    Filepath = "C:\\SyncWork\\ACE\\Files\\ESAL_P\\ESAL_P.txt"
    modifiedTime = os.path.getmtime(Filepath) 
    firstFile = os.path.getmtime(Filepath)

    print (datetime.fromtimestamp(modifiedTime).strftime("%b-%d-%y-%H:%M:%S"))

此部分将重命名/移动文件(但它缺少日期时间)

    prevName = 'c:\\syncwork\\ace\\files\\ESAL_P\\ESAL_P.txt'
    newName = 'c:\\syncwork\\ace\\files\\ESAL_P\\Backup\\ESAL_P.txt'

    os.rename(prevName, newName)

如何将带有我喜欢的格式的打印行转换为字符串并将其附加到newName行的末尾?

我的问题解答后 我的最终代码看起来像这样:

Filepath = "C:\\SyncWork\\ACE\\Files\\ESAL_P\\ESAL_P.txt"
modifiedTime = os.path.getmtime(Filepath) 



timestamp = datetime.fromtimestamp(modifiedTime).strftime("%b-%d-%Y_%H.%M.%S")

prevName = 'c:\\SyncWork\\ACE\\Files\\ESAL_P\\ESAL_P.txt'
newName = 'c:\\SyncWork\\ACE\\Files\\ESAL_P\\Backup\\ESAL_P' 

os.rename(prevName, newName+"_"+timestamp + ".txt")
print(newName)  

2 个答案:

答案 0 :(得分:2)

我刚刚在名为“temp”的文件上测试了以下内容,该文件已更改为“temp_Sep-15-14-08:42:57”

FilePath = 'temp' # replace the temp with your file path/name
modifiedTime = os.path.getmtime(FilePath) 

timeStamp =  datetime.datetime.fromtimestamp(modifiedTime).strftime("%b-%d-%y-%H:%M:%S")
os.rename(FilePath,FilePath+"_"+timeStamp)

答案 1 :(得分:0)

这应该这样做:

timestamp = (datetime.fromtimestamp(modifiedTime).strftime("%b-%d-%y-%H:%M:%S"))
newName = 'c:\\syncwork\\ace\\files\\ESAL_P\\Backup\\ESAL_P.txt.' + timestamp