python复制文件
python复制文件公司一个程序同步出问题,写了一个定时同步的脚本需要一个filename.json的配置文件格式:{"path_read":"D:\\xx\\xx","path_write":"E:\\xx\\xx"}程序代码:import osimport sysimport jsonfrom shutil import copyfile # 复制一个文件到另一个文件夹下copyfile(sr
·
python复制文件
公司一个程序同步出问题,写了一个定时同步的脚本
需要一个filename.json的配置文件
格式:
{
"path_read":"D:\\xx\\xx",
"path_write":"E:\\xx\\xx"
}
程序代码:
import os
import sys
import json
from shutil import copyfile # 复制一个文件到另一个文件夹下 copyfile(src,dst)
import schedule
# 递归函数
def copy_file(path_read, path_write):
# 输出path_read目录下的所有文件包括文件夹的名称
names = os.listdir(path_read)
# 循环遍历所有的文件或文件夹
for name in names:
# 定义新的读入路径(就是在原来目录下拼接上文件名)
path_read_new = path_read + "\\" + name
# 定义新的写入路径(就是在原来目录下拼接上文件名)
path_write_new = path_write + "\\" + name
# 判断该读入路径是否是文件夹,如果是文件夹则执行递归,如果是文件则执行复制操作
if os.path.isdir(path_read_new):
# 判断写入路径中是否存在该文件夹,如果不存在就创建该文件夹
if not os.path.exists(path_write_new):
# 创建要写入的文件夹
os.mkdir(path_write_new)
# 执行递归函数,将文件夹中的文件复制到新创建的文件夹中(保留原始目录结构)
copy_file(path_read_new, path_write_new)
print(f"已将{path_read_new}复制到{path_write_new}")
else:
# 如果已存在就不复制
if not os.path.exists(path_write_new):
# 将文件path_read_new复制到path_write_new
copyfile(path_read_new, path_write_new)
print(f"已将{path_read_new}复制到{path_write_new}")
def read_json(json_file):
json_data = None
with open(json_file,'r',encoding='utf8')as fp:
json_data = json.load(fp)
return json_data
# if __name__ == "__main__":
def run():
# json_file = "D:\\gitopject\\文件夹递归复制"+os.sep+"filename.json"
# 用pyinstaller打包成exe,json配置文件和exe再同一目录下使用下面这个
json_file = os.path.dirname(os.path.realpath(sys.executable))+os.sep+"filename.json"
try:
json_data = read_json(json_file)
except Exception as e:
print("配置文件读取失败!!!")
# 从该文件夹中复制出来
path_read = json_data.get("path_read")
# 复制到该文件夹
path_write = json_data.get("path_write")
print(f'【注意】:\n要复制的文件夹不能和目标文件夹下面有重名,否则不会复制!!!!!\n将目录{path_read}复制到{path_write}下\n')
try:
copy_file(path_read, path_write)
except Exception as e:
print("拷贝文件失败!!!", e)
if __name__ == '__main__':
print("文件复制程序开始!!!")
# 启动时先运行一次
run()
# 定时每隔十分钟跑一次
schedule.every(10).minutes.do(run)
while True:
schedule.run_pending()
打包命令
pyinstaller xx.py -F

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)