提交 f3787341 编写于 作者: H hjdhnx

修复python3.8以下版本升级异常问题(由于dirs_exist_ok参数是3.8以后才有的)

上级 a6738351
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
# Date : 2022/9/6 # Date : 2022/9/6
import re import re
from time import time as getTime from time import time as getTime
import sys
import requests import requests
import os import os
import zipfile import zipfile
...@@ -60,10 +60,31 @@ def del_file(filepath): ...@@ -60,10 +60,31 @@ def del_file(filepath):
if os.path.isfile(file_path): if os.path.isfile(file_path):
os.remove(file_path) os.remove(file_path)
def copytree(src, dst):
dirs = os.listdir(src) # 获取目录下的所有文件包括文件夹
# print(dirs)
for dir in dirs: # 遍历文件或文件夹
from_dir = os.path.join(src, dir) # 将要复制的文件夹或文件路径
to_dir = os.path.join(dst, dir) # 将要复制到的文件夹或文件路径
if os.path.isdir(from_dir): # 判断是否为文件夹
if not os.path.exists(to_dir): # 判断目标文件夹是否存在,不存在则创建
os.mkdir(to_dir)
copytree(from_dir, to_dir) # 迭代 遍历子文件夹并复制文件
elif os.path.isfile(from_dir): # 如果为文件,则直接复制文件
shutil.copy(from_dir, to_dir) # 复制文件
def force_copy_files(from_path,to_path): def force_copy_files(from_path,to_path):
# print(f'开始拷贝文件{from_path}=>{to_path}') # print(f'开始拷贝文件{from_path}=>{to_path}')
logger.info(f'开始拷贝文件{from_path}=>{to_path}') logger.info(f'开始拷贝文件{from_path}=>{to_path}')
shutil.copytree(from_path, to_path, dirs_exist_ok=True) try:
if sys.version_info < (3, 8):
copytree(from_path, to_path)
else:
shutil.copytree(from_path, to_path, dirs_exist_ok=True)
except Exception as e:
logger.info(f'拷贝文件{from_path}=>{to_path}发生错误:{e}')
def copy_to_update(): def copy_to_update():
base_path = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) # 上级目录 base_path = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) # 上级目录
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册