gpt4 book ai didi

python - 如何使用 Python 选择特定目录从源复制到新目标?

转载 作者:行者123 更新时间:2023-12-02 06:13:33 25 4
gpt4 key购买 nike

我有一个脚本,可以将文件夹和文件从源复制到新的目标,该脚本使用 shutil 模块正常工作。但我正在对文件夹的源代码进行硬编码。

我需要的是让脚本选择具有特定名称的所需文件夹。作为
pdf 11-12-02-2020 所以它是 pdf + 昨天的日期 - 当前日期 - 当前月份 - 本年。

我该怎么做?

代码:

import os
import shutil
from os import path
import datetime

src = "I:\\"
src2 = "I:/pdf 11-12-02-2020"

dst = "C:/Users/LT GM/Desktop/pdf 11-12-02-2020/"


def main():
copy()

def copy():
if os.path.exists(dst):
shutil.rmtree(dst)
print("the deleted folder is :{0}".format(dst))
#copy the folder as it is (folder with the files)
copieddst = shutil.copytree(src2,dst)
print("copy of the folder is done :{0}".format(copieddst))
else:
#copy the folder as it is (folder with the files)
copieddst = shutil.copytree(src2,dst)
print("copy of the folder is done :{0}".format(copieddst))

if __name__=="__main__":
main()

最佳答案

您正在寻找datetime模块。

此外,您可能需要使用 os 模块来正确解析路径,请参阅 this ,由于 src 变量似乎未使用,因此最好将其删除,并牢记所有这些:

import calendar
import os
import shutil
from datetime import date
from os import path

def yesterday():
day = int(date.today().strftime("%d"))
month = int(date.today().strftime("%m"))
year = int(date.today().strftime("%Y"))
if day != 1:
return day - 1
long_months = [1, 3, 5, 7, 8, 10, 12]
if month in long_months:
return 31
elif month == 2:
if calendar.isleap(year):
return 29
return 28
else:
return 30

name = "pdf " + str(yesterday()) + date.today().strftime("-%d-%m-%Y")

src2 = os.path.join("I:/", name)

dst = os.path.join(os.path.expanduser("~"), "Desktop",name)

作为旁注,在这种情况下dst = os.path.join(os.path.expanduser("~"), "桌面",名称) 有效,实际上不建议使用它,请参阅我的回答 here

关于python - 如何使用 Python 选择特定目录从源复制到新目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60182136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com