使用python os模块复制文件到指定文件夹的方法

yipeiwu_com7年前Python基础

复制一个文件夹的文件到指定目录下

import os
import shutil
import time

start_time = time.time()
# 需要被复制的文件夹

old_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\json1'
new_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\json'
all_list = os.listdir(old_path)
for i in all_list:
 print(i)
 name, suffix = i.rsplit('.json')
 name = name.replace('.','')
 old_name = old_path + '\\' + i
 new_name = new_path + '\\' + name + ".json"
 shutil.copyfile(old_name, new_name)

print(len(all_list))
print(all_list)
end_time = time.time()
print(end_time-start_time,'秒')

优化速度:

import gevent
from gevent import monkey

monkey.patch_all()
import os
import shutil
import time


def copy_file(i):
 global num
 num += 1
 print(i,num)
 old_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\baidu_isbn5\新建文件夹\txt'
 new_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\百度isbn-json-非selenium5'
 name, suffix = i.split('.json')
 name = name.replace('.', '')
 old_name = old_path + '\\' + i
 new_name = new_path + '\\' + name + ".json"
 shutil.copyfile(old_name, new_name)


if __name__ == '__main__':

 start_time = time.time()

 # 需要被复制的文件夹
 old_path = r'D:\zjf_workspace\001-地标、利器、服饰\004文本\baidu_isbn5\新建文件夹\txt'
 all_list = os.listdir(old_path)
 gevent_list = []
 num = 1
 key_num = 0
 for i in all_list:
  key_num += 1
  if key_num >= 1500:
   gevent.joinall(gevent_list)
   gevent.killall(gevent_list)
   gevent_list = []
   key_num = 0
  gevent_list.append(gevent.spawn(copy_file, i))
  # print(i)

 print(len(all_list))
 # print(all_list)
 gevent.joinall(gevent_list)
 end_time = time.time()
 print(end_time - start_time, '秒')

以上这篇使用python os模块复制文件到指定文件夹的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对Python中TKinter模块中的Label组件实例详解

对Python中TKinter模块中的Label组件实例详解

Python2.7.4 OS—W7x86 1. 简介 Label用于在指定的窗口中显示文本和图像。最终呈现出的Label是由背景和前景叠加构成的内容。 Label组件定义函数:Label...

基于python监控程序是否关闭

这篇文章主要介绍了基于python监控程序是否关闭,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 监控一个服务系exe在他关闭后打印,...

python读写LMDB文件的方法

python读写LMDB文件的方法

LMDB的全称是Lightning Memory-Mapped Database(快如闪电的内存映射数据库),它的文件结构简单,包含一个数据文件和一个锁文件: LMDB文件可以同时由多...

Python 实用技巧之利用Shell通配符做字符串匹配

1、需求 当工作在UNIX Shell下时,我们想使用常见的通配符模式(即:.py,Dat[0-9].csv等)来对文本做匹配。 2、解决方案 fnmatch模块提供了两个函数:fnma...

python 中split 和 strip的实例详解

 python 中split 和 strip的实例详解 一直以来都分不清楚strip和split的功能,实际上strip是删除的意思;而split则是分割的意思。 python...