我是python的新手。我正在尝试创建一个简单的程序,使用shutil将C盘中的文件夹复制到另一个文件夹。复制时,我想将日期/时间添加到新位置的文件夹名称末尾。这用于文件备份和清理。这是我到目前为止所得到的,但它无法找到文件路径。最终,这必须将复制的文件从本地PC保存到网络驱动器。
public int sumDigits(int n) {
return (n - 1) % 9 + 1;
}
答案 0 :(得分:0)
欢迎来到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字符串中生成单个\
字符,您需要有两个\\
(即,它是逃脱\
字符本身的序列)或使用“原始”字符串。
此外,正如其他评论员所指出的,看起来你的路径在错误的地方有空间。
答案 1 :(得分:0)
对不起该帖子,因为我还不能'发表评论'。
但是,看起来错误可能是程序文件(x86)行中省略的单个空格。
SOURCE = "C:/Program Files (x86)/"
对于日期,除了命名文件夹外,它必须以Windows格式附加。
Best practices for file naming
对于此替换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)