Python3实现文件复制与延迟批量复制脚本

Owen
Owen
发布时间:2026-10-13 | 4人浏览过
原创

本文介绍了在Python 3.6.1环境下实现文件复制及带延时功能的批量复制脚本。通过shutil模块完成简单文件重命名复制,并扩展加入time模块实现循环中的延时控制,适用于测试客户端报文传输速率等场景。

本示例基于Python 3.6.1版本环境进行开发。

简单文件复制脚本实现

在测试客户端传输报文速率的工作场景中,编写了以下两个Python脚本以辅助完成相关任务。

第一个脚本旨在实现简单的文件复制功能,并在复制过程中对目标文件进行重命名处理。

第二个脚本在第一个脚本的基础上进行了扩展,增加了循环执行时的延时功能,以模拟特定速率的文件生成。

该脚本的典型应用场景是将源文件复制并重命名,具体的重命名策略是在原文件名末尾追加生成的随机数,以确保文件名的唯一性。


#!/usr/bin/python3
#coding=GB2312
import os
import os.path
import random
import shutil
count = 0
#源文件夹
src="E:\\file\\CEB411Message__20171115123454.xml"
#目标文件夹
tar="E:\\file\\target4\\"
while count < 10:
 print (count, " 执行复制任务")
 ram=str(random.randint(1,1000000))
 tar="E:\\file\\target4\\"+"CEB411Message_74967F7C570E_"+ram+".xml"
 count = count + 1
 shutil.copyfile(src,tar)
else:
 print (count, " 复制任务完成")

代码中指定 #coding=GB2312 的原因在于编码兼容性问题:在JetBrains PyCharm Community Edition 2017.1.2 x64环境下使用utf-8编码运行正常,但在Windows 8系统中直接执行脚本时会出现报错。经测试调整编码方式为GB2312后解决了该字符集冲突问题。

带延时功能的批量复制脚本

第二个程序引入了循环结构,并采用引入延时生成的方式,使得文件复制操作能够按照设定的时间间隔逐步执行。


#!/usr/bin/python3
#coding=GB2312
import os
import os.path
import random
import time 
import shutil
#源文件夹
src="E:\\file\\xml\\311.xml"
count = 0
#总循环次数(10)
while count <10:
 eachcount = 0
 #每次循环生成的条数(5)
 while eachcount <5:
 #生成随机数放在报文名中,用于区分报文名
 ram=str(random.randint(1,1000000000))
 tar="E:\\file\\xml\\3111\\"+"CEB411Message_116EA6A4-9D5A-4418-8281-74967F7C570E_"+ram+".xml"
 eachcount=eachcount+1
 shutil.copyfile(src,tar)
 count = count + 1
 #执行一次循环休眠时间(5秒)
 time.sleep(5)
else:
 print (count, " 复制任务完成")

综上所述,通过结合shutil和time模块,可以灵活实现不同需求下的文件复制任务。

以上就是本文介绍的全部内容,希望这些脚本示例对大家在Python文件处理或工作实践中有所帮助,感谢阅读。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表