当前位置: 首页 > 编程笔记 >

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

濮阳研
2023-03-14
本文向大家介绍使用python os模块复制文件到指定文件夹的方法,包括了使用python os模块复制文件到指定文件夹的方法的使用技巧和注意事项,需要的朋友参考一下

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

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模块复制文件到指定文件夹的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍C#将文件复制到指定文件夹并整理,包括了C#将文件复制到指定文件夹并整理的使用技巧和注意事项,需要的朋友参考一下 下面是在C#中将文件复制(剪切是先复制再删除)到指定的路径,并按日期归档的一个简单实例。值得注意的2点是: 1)文件的路径是关键,程序中使用双斜杠\\ 2)文件和文件夹的区别 附上其他网友的实现方法: 完全可以不用递归实现,用广度优先算法可以节省栈空间 以上所述就是本文的

  • 本文向大家介绍Nodejs 复制文件/文件夹的方法,包括了Nodejs 复制文件/文件夹的方法的使用技巧和注意事项,需要的朋友参考一下 1.使用fs复制文件 使用fs对象的readFileSync,writeFileSync方法进行读写操作复制 cp.js 这样就可以复制from.js到to.js 2.使用linux命令复制文件 这里使用了process对象,process对象是一个node的全局

  • 本文向大家介绍PHP解压ZIP文件到指定文件夹的方法,包括了PHP解压ZIP文件到指定文件夹的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP解压ZIP文件到指定文件夹的方法。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP操作zip文件及压缩技巧总结》、《php文件操作总结》、《php正则表达式用法总结》、《PHP运算与运算符用法总结

  • 本文向大家介绍Java使用递归复制文件夹及文件夹,包括了Java使用递归复制文件夹及文件夹的使用技巧和注意事项,需要的朋友参考一下 递归调用copyDir方法实现,查询源文件目录使用字节输入流写入字节数组,如果目标文件目录没有就创建目录,如果迭代出是文件夹使用字节输出流对拷文件,直至源文件目录没有内容。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 我有一个Windows文件夹结构和文件,如下所示 c:\源文件\file1.txt c:\源文件夹\subfolder1\file2.txt c:\源文件夹\子文件夹2\file3.txt 我想复制所有文件到目标文件夹,如下所示 c:\DestinationFile\file1.txt c:\DestinationFile\file2.txt c:\DestinationFile\file3.tx

  • 我有一个路由,期望各种文件将被复制到一个传入文件夹。路由将继续将这些文件移动到一个临时文件夹中,并在其中执行其他操作。路线如下: 问题是这些文件可能相当大。假设是1GB。为了将这个文件复制到传入文件夹中,可能需要10秒的时间。在这10秒期间,使用者轮询目录,并抛出一个异常,因为部分文件仍在复制。我能用什么变通办法?