Python 如何使用timestam复制文件

Python 如何使用timestam复制文件,python,Python,我想将当前时间保存在变量中(我可以这样做) 然后我想将文件a复制到文件b,并在文件b中包含时间戳。 类似于此拷贝文件1文件1.08-02-2019(类似于文件的备份) 除了添加时间戳外,我可以很好地复制文件 我可以复印,没有问题。我只是无法让副本与dest文件名中的timestamp变量一起工作 import shutil import datetime import os now = datetime.datetime.now() timestamp = str(now.strftime("

我想将当前时间保存在变量中(我可以这样做) 然后我想将文件a复制到文件b,并在文件b中包含时间戳。 类似于此拷贝文件1文件1.08-02-2019(类似于文件的备份) 除了添加时间戳外,我可以很好地复制文件

我可以复印,没有问题。我只是无法让副本与dest文件名中的timestamp变量一起工作

import shutil
import datetime
import os

now = datetime.datetime.now()
timestamp = str(now.strftime("%Y%m%d_%H:%M:%S"))

os.system('copy C:\\Users\\kwhol\\my_python_code\\twp_pid_ctrl, C:\\Users\\kwhol\\my_python_code\\twp_pid_ctrl_backup'+'timestamp')

它将时间戳作为字面意思,即单词timestamp位于dest文件名中,而不是timestamp变量的实际值

文件名中不能有冒号。使用其他的测力仪,比如经期。 另外
C:\\Users\\kwhol\\my\u python\u code\\twp\u pid\u ctrl\u backup'+'timestamp'


时间戳
不应该用引号括起来,因为这会使它成为字符串文字。

您可以使用如下内容。确保格式化您的时间戳 因此操作系统可以在文件名中支持它

import shutil 
import datetime 
import os

now = datetime.datetime.now() timestamp =
str(now.strftime("%Y_%m_%d_%H_%M_%S"))

src = "C:\\Users\\kwhol\\my_python_code\\twp_pid_ctrl"
dest = "C:\\Users\\kwhol\\my_python_code\\twp_pid_ctrl_backup_"+timestamp
shutil.copy(src, dest)
或者最后3行可以用您的方式替换(我不确定它是否真的复制):


在windows中,不允许将任何
作为文件名的一部分,仅允许作为驱动器分隔符…您可以将文本
“时间戳”
添加到文件名,而不是变量content@PatrickArtner我想你把这个错误地标为重复的。请仔细阅读这个问题。“我可以毫无问题地复制。我只是无法让副本与dest文件名中的timestamp变量一起工作。”。因此,在python中引用关于
如何重命名文件
如何复制文件
的帖子对OP来说并不公平。请删除重复标记。@five我添加了更多重复的内容-大约有5到10个其他人在回答。可能与此用户问题最接近(在修复使用变量而不是变量名字符串之后)。所有这些都可以通过告诉他如何修复代码来创建一个带有时间戳的文件来解决根本问题。如果不是重复的,则可能是“由于键入错误而关闭”这类问题根本不应该有答案……不起作用,windows下的文件名是非法的。取决于时间戳格式。我想说的是,不要使用像
这样的字符,而是使用
\uu
作为小时-分钟-秒分隔符。
os.system('copy C:\\Users\\kwhol\\my_python_code\\twp_pid_ctrl, C:\\Users\\kwhol\\my_python_code\\twp_pid_ctrl_backup_'+timestamp)