python批量复制文件夹下所有文件_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\

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值