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 thread 并发且顺序运行示例
Apr 09 Python
pycharm 使用心得(四)显示行号
Jun 05 Python
Python中设置变量访问权限的方法
Apr 27 Python
python 编码规范整理
May 05 Python
十分钟利用Python制作属于你自己的个性logo
May 07 Python
TensorFlow Session会话控制&amp;Variable变量详解
Jul 30 Python
python子线程退出及线程退出控制的代码
Oct 16 Python
pygame实现成语填空游戏
Oct 29 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
django之导入并执行自定义的函数模块图解
Apr 01 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
python文件读取失败怎么处理
Jun 23 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
Smarty模板快速入门
2007/01/04 PHP
PHP类的使用 实例代码讲解
2009/12/28 PHP
PHP防止跨域提交表单
2013/11/01 PHP
WordPress中编写自定义存储字段的相关PHP函数解析
2015/12/25 PHP
php用正则判断是否为数字的方法
2016/03/25 PHP
Yii2 assets清除缓存的方法
2016/05/16 PHP
探究Laravel使用env函数读取环境变量为null的问题
2016/12/06 PHP
PHP5.0~5.6 各版本兼容性cURL文件上传功能实例分析
2018/05/11 PHP
JavaScript 弹出窗体点击按钮返回选择数据的实现
2010/04/01 Javascript
nodejs win7下安装方法
2012/05/24 NodeJs
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
jquery showModelDialog的使用方法示例详解
2013/11/19 Javascript
javascript break指定标签打破多层循环示例
2014/01/20 Javascript
ExtJs纵坐标值重复问题的解决方法
2014/02/27 Javascript
深入理解JQuery中的事件与动画
2016/05/18 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
JavaScript跨域调用基于JSON的RESTful API
2016/07/09 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
微信小程序引用iconfont图标的方法
2018/10/22 Javascript
JavaScript模块管理的简单实现方式详解
2019/06/15 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
原生js实现无缝轮播图效果
2021/01/28 Javascript
[02:17]2016国际邀请赛中国区预选赛VG战队领队采访
2016/06/26 DOTA
Python中返回字典键的值的values()方法使用
2015/05/22 Python
python3.5实现socket通讯示例(TCP)
2017/02/07 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
浅谈Python处理PDF的方法
2017/11/10 Python
Python编程pygame模块实现移动的小车示例代码
2018/01/03 Python
如何解决tensorflow恢复模型的特定值时出错
2020/02/06 Python
python 读取yaml文件的两种方法(在unittest中使用)
2020/12/01 Python
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
酒店端午节促销方案
2014/02/18 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
JavaScript实现显示和隐藏图片
2021/04/29 Javascript
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL