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\

以上是 python定时复制远程文件夹中所有文件 的全部内容, 来源链接: utcz.com/z/342044.html

回到顶部