python定时复制远程文件夹中所有文件
作者:weareu 发布时间:2023-08-17 17:55:32
标签:python,定时复制
本文实例为大家分享了python定时复制远程文件夹中文件的具体代码,供大家参考,具体内容如下
import os, shutil, sys
import threading
import configparser
import datetime
#复制文件
def remote_copy(src_path, dst_path):
start_time = datetime.datetime.now()
print(start_time, " 开始复制……")
bCopy = False;
try:
# 获取源文件夹中的所有文件及文件夹
files = os.listdir(src_path)
for file in files:
#生成绝对路径
src_file = os.path.join(src_path,file)
# 判断是否为文件
if os.path.isfile(src_file) and (os.path.getsize(src_file) < file_size) :
dst_file = os.path.join(dst_path,file)
if not os.path.exists(dst_file):
bCopy = True
shutil.copyfile(src_file, dst_file)
'''
copy_cmd = 'xcopy /D %s %s'%(src_file,dst_file)
os.popen(copy_cmd)
'''
print(src_file, ' => ', dst_file, 'copy done!')
#else:
# print(dst_file, "已存在!")
except Exception as e:
print("无法发现文件,请检查网络连接!")
os.system('pause')
sys.exit()
else:
if not bCopy:
print("未发现新文件……")
end_time = datetime.datetime.now()
'''
time = span - (end_time - start_time).seconds
print(end_time, " 本次执行完毕,等待", time, "秒……")'''
print(end_time, " 本次执行完毕,等待", span, "秒……")
#定时复制
def timer_copy(src_path, dst_path):
remote_copy(src_path, dst_path)
global timer
timer = threading.Timer(span, timer_copy, [src_path, dst_path])
timer.start()
# 程序入口
if __name__ == "__main__":
#读取配置文件
config = configparser.ConfigParser()
config.read("config.ini")
src_path = config.get('path', 'srcPath')
dst_path = config.get('path', 'dstPath')
global span
span = config.getint('run', 'timeSpan')
global file_size
file_size = config.getint('run', 'fileSize')
# 目的路径不存在则建立路径
if not os.path.exists(dst_path):
os.makedirs(dst_path)
print("配置文件为 :config.ini")
print("执行间隔为 :", span)
print("文件限制为 :", file_size)
print("输入文件夹为:", src_path)
print("输出文件夹为:", dst_path)
inp = input("是否继续(y/n):")
if inp == 'y' or inp == 'Y':
timer = threading.Timer(1, timer_copy, [src_path, dst_path])
timer.start()
#测试
#remote_copy(src_path, dst_path)
else:
sys.exit()
配置文件config.ini
[run]
timeSpan=20000
fileSize=5000
[path]
srcPath=\\192.168.0.108\xxxx\
dstPath=f:\downloads\
来源:https://blog.csdn.net/weareu/article/details/80427311


猜你喜欢
- 注册模块default.asp 代码如下:<!DOCTYPE html PUBLIC "-//
- 很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物。他们看到8个开关状态是好的,于是他们把这称为字
- 我目标文件夹下有一大批图片,我要把它转变为指定尺寸大小的图片,用pthon和opencv实现的。以上为原图片。import cv2impor
- python 如何实现Excel 的Vlookup功能1、Excel 中VLOOKUP具体步骤Excel 中的VLOOKUP使用说明采用下面
- 安装TensorFlow后,在Python中输入 import tensorflow as tf 时 提示一下类似错误ImportError
- 本文实例讲述了Python实现的矩阵类。分享给大家供大家参考,具体如下:科学计算离不开矩阵的运算。当然,python已经有非常好的现成的库:
- 本文介绍了网页运行代码框(runCode), 复制代码框(copyCode), 保存代码框(saveCode),的实现方法。javascri
- 本文实例讲述了php文件上传类。分享给大家供大家参考,具体如下:/**$file=new class_file($file_array,&q
- CSS2.1 中规定了关于 CSS 规则 Specificity(特异性)的计算方式,用一个四位的数字串(注:CSS2 中是用三位)来表示,
- 一、配置Git:1、对于首次安装git的机器,一定要首先进行用户账户信息的配置:git config --global user.name
- 前言项目需求是跟用户当前位置判断是否在给定的地理位置范围内,符合位置限制才可以打卡,其中的位置范围是一个或多个不规则的多边形。如下图,判断用
- 升级pippip版本必须升级到20.0.4版本才能应用;方法一、在pycharm中对pip进行升级;方法二、通过命令进行升级python3.
- 每次安装总是有些不同,这次用这种方式尝试一下,也记录一下。1、首先需要去下载rpm包:镜像地址:http://mysql.mirrors.p
- 一、简化代码采用更为简短的写法,不仅可以减少输入的字符数,还可以减少文件大小。大部分采用简单写法的代码,执行效率都有轻微提高。1.1&nbs
- Python 跟 Python3 完全就是两种语言1、 import caffe FAILED环境为 Ubuntu 16 cuda
- Bit-Packed Data TypesMySQL有一些存储类型使用一个值中的一些单个的比特位来紧凑的存储数据。纯技术上将,不管是底层的存
- /*********************************** 作者:trieagle(让你望见影子的墙) 日期:2009.8.1
- 这是一个基于Go语言开发的单点登录系统,实现手机号注册、手机号+验证码登录、手机号+密码登录、账号登出等功能,用户认证采用cookie和jw
- 前言MySQL查看表占用空间大小CentOS7 环境下MySQL常用命令MySQL: 范围查询优化环境介绍 :服务器: 阿里云轻量应用服务器
- javascript中ele.getBoundingClientRect():获取一个元素相对于浏览器视口的的坐标(无论父元素定位与否),返