Python新手使用shutil找不到现有的文件路径

时间:2017-08-07 19:47:40

标签: python directory shutil file-copying

我是python的新手。我正在尝试创建一个简单的程序,使用shutil将C盘中的文件夹复制到另一个文件夹。复制时,我想将日期/时间添加到新位置的文件夹名称末尾。这用于文件备份和清理。这是我到目前为止所得到的,但它无法找到文件路径。最终,这必须将复制的文件从本地PC保存到网络驱动器。

public int sumDigits(int n) {
    return (n - 1) % 9 + 1;
}

2 个答案:

答案 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)