python定时复制远程文件夹中所有文件


Posted in Python onApril 30, 2019

本文实例为大家分享了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\

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 文件操作技巧(File operation) 实例代码分析
Aug 11 Python
Python的词法分析与语法分析
May 18 Python
Python多线程编程(四):使用Lock互斥锁
Apr 05 Python
Python实现PS图像抽象画风效果的方法
Jan 23 Python
深入理解Django自定义信号(signals)
Oct 15 Python
python实现定时压缩指定文件夹发送邮件
Dec 22 Python
Python 中Django安装和使用教程详解
Jul 03 Python
详解python实现数据归一化处理的方式:(0,1)标准化
Jul 17 Python
pytorch 获取tensor维度信息示例
Jan 03 Python
Pycharm连接gitlab实现过程图解
Sep 01 Python
django数据模型中null和blank的区别说明
Sep 02 Python
最新PyCharm 2020.2.3永久激活码(亲测有效)
Nov 26 Python
python实现图片转字符小工具
Apr 30 #Python
python 列表中[ ]中冒号‘:’的作用
Apr 30 #Python
python实现趣味图片字符化
Apr 30 #Python
python3对接mysql数据库实例详解
Apr 30 #Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 #Python
Python一行代码实现快速排序的方法
Apr 30 #Python
python批量识别图片指定区域文字内容
Apr 30 #Python
You might like
IE8 浏览器Cookie的处理
2009/01/31 Javascript
js最简单的拖拽效果实现代码
2010/09/24 Javascript
jQuery $.extend()用法总结
2014/06/15 Javascript
JavaScript使用focus()设置焦点失败的解决方法
2014/09/03 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
jQuery 1.9版本以上的浏览器判断方法代码分享
2017/08/28 jQuery
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
ES6中的Promise代码详解
2017/10/09 Javascript
JS实现提交表单前的数字及邮箱校检功能
2017/11/13 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)
2020/03/11 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
python 文件操作api(文件操作函数)
2016/08/28 Python
Python模拟百度自动输入搜索功能的实例
2019/02/14 Python
Python使用到第三方库PyMuPDF图片与pdf相互转换
2019/05/03 Python
python实现几种归一化方法(Normalization Method)
2019/07/31 Python
python 实现保存最新的三份文件,其余的都删掉
2019/12/22 Python
PyTorch的torch.cat用法
2020/06/28 Python
Python paramiko使用方法代码汇总
2020/11/20 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
Python项目实战之使用Django框架实现支付宝付款功能
2021/02/23 Python
使用phonegap进行提示操作的具体方法
2017/03/30 HTML / CSS
全球知名鞋履品牌授权零售商:Journeys
2016/09/17 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
游戏商店:Eneba
2020/04/25 全球购物
期中考试后的反思
2014/02/08 职场文书
办公设备采购方案
2014/03/16 职场文书
《田忌赛马》教学反思
2016/02/19 职场文书
springboot 自定义配置 解决Boolean属性不生效
2022/03/18 Java/Android
Nginx HTTP跳转至HTTPS
2022/05/15 Servers