我是python的新手。我正在尝试创建一个简单的程序,它使用shutil将C盘中的一个文件夹复制到另一个文件夹。复制时,我想将日期/时间添加到新位置文件夹名称的末尾。用于文件备份和清理。这是我到目前为止所得到的,但它找不到文件路径。最终,这必须将复制的文件从本地PC保存到网络驱动器。
import shutil
import datetime
import os
SOURCE = "C:/Program Files(x86) /FOLDER1/LOGS"
AppendDate=datetime.datetime.now()
BACKUP = "C:/Users/ME/Desktop/FOLDERNEW/LOGS %s" % AppendDate
shutil.copytree(SOURCE,BACKUP)
print os.listdir(BACKUP)发布于 2017-08-08 04:35:54
对于这篇文章我很抱歉,因为我还不能‘评论’。
但是,看起来错误可能是在程序文件(x86)行中省略了一个空格。
SOURCE = "C:/Program Files (x86)/"至于日期,它必须以除命名文件夹外的窗口格式附加。
Best practices for file naming
为此,使用replace替换Appenddate字符。
import re
cleandate = re.sub('[-!@#$:.]', '_', str(AppendDate))这对我很有效。
import shutil
import datetime
import os
import re
SOURCE = "C:/Program Files (x86)/HP"
AppendDate=datetime.datetime.now()
cleandate = re.sub('[-!@#$:.]', '_', str(AppendDate))
BACKUP = "C:/Users/Robert/Desktop/FOLDERNEW/LOGS %s" % cleandate
shutil.copytree(SOURCE,BACKUP)
print os.listdir(BACKUP)发布于 2017-08-08 04:09:01
欢迎来到Python的世界!请尝试以下操作。
import shutil
import datetime
import os
SOURCE = "C:\\Program Files (x86)\\FOLDER1\\LOGS"
AppendDate=datetime.datetime.now()
BACKUP = "C:\\Users\ME\\Desktop\\FOLDERNEW\\LOGS %s" % AppendDate
shutil.copytree(SOURCE,BACKUP)
print os.listdir(BACKUP)Windows使用与Unix、Linux和Mac不同的目录分隔符。此字符\还有另一个功能,作为转义序列的前缀,因此要在Python字符串中生成单个\字符,需要有两个\\ (即,它是\字符本身的转义序列)或使用“原始”字符串。
此外,正如其他评论员指出的那样,看起来你的路径在错误的地方有一个空间。
https://stackoverflow.com/questions/45554641
复制相似问题