-
2021-02-10 05:16:04
请注意,shutil模块还包含copyfileobj(),基本上是像Barmar的答案那样实现的。
或者,回答你的问题:from shutil import copyfileobj
with open('file2.txt', 'w+') as output, open('file.txt', 'r') as input:
copyfileobj(input, output)
会是我的建议。它避免了重新实现缓冲机制,而且,如果标准库的实现有所改进,那么您的代码也会获得成功。
在Unix上,还有一个系统调用,用于将数据从一个文件描述符复制到另一个文件描述符。它被称为sendfile,主要用于将数据从打开的文件发送到套接字(服务HTTP请求等)。
不过,您也可以使用它在常规文件之间复制数据。
通过使用syscall,内核无需在userland之间复制缓冲区就可以复制内容。
有一个python包pysendfile,实现它。你可以这样使用它:from sendfile import sendfile
import os.path
with open('file2.txt', 'w+') as output, open('file.txt', 'r') as input:
offset = 0
input_size = os.path.getsize('file.txt')
sendfile(output.fileno(), input.fileno(), offset, input_size)
更多相关内容 -
java将一个文件复制到另一个文件夹
2021-02-26 09:52:56我们在web端操作文件(对附件进行管理)的时候,经常会遇到需要将文件转移到其它地方,下面我们就来一起看看如何实现这个功能。publicstaticvoidmain(String[]args)throwsIOException{//获取要复制的文件Fileoldfile=...我们在web端操作文件(对附件进行管理)的时候,经常会遇到需要将文件转移到其它地方,下面我们就来一起看看如何实现这个功能。public static void main(String[] args) throws IOException {
//获取要复制的文件
File oldfile=new File("D:\\IoTest\\aaa.txt");
//文件输入流,用于读取要复制的文件
FileInputStream fileInputStream = new FileInputStream(oldfile);
//要生成的新文件(指定路径如果没有则创建)
File newfile=new File("D:\\IoTest\\new\\aaa\\ccc.txt");
//获取父目录
File fileParent = newfile.getParentFile();
System.out.println(fileParent);
//判断是否存在
if (!fileParent.exists()) {
// 创建父目录文件夹
fileParent.mkdirs();
}
//判断文件是否存在
if (!newfile.exists()) {
//创建文件
newfile.createNewFile();
}
//新文件输出流
FileOutputStream fileOutputStream = new FileOutputStream (newfile);
byte[] buffer= new byte[1024];
int len;
//将文件流信息读取文件缓存区,如果读取结果不为-1就代表文件没有读取完毕,反之已经读取完毕
while ((len=fileInputStream.read(buffer))!=-1) {
fileOutputStream.write(buffer, 0, len);
fileOutputStream.flush();
}
fileInputStream.close();
fileOutputStream.close();
}
本文来自投稿,不代表访得立场,如若转载,请注明出处:http://www.found5.com//view/1464.html
-
MFC 把一个文件夹下的制定类型文件复制到另一个文件夹下
2010-09-18 22:19:37MFC 把一个文件夹下的制定类型文件复制到另一个文件夹下 只能复制本层文件夹で文件,不能复制子文件夹で文件,因为没有递归 -
用Python批量把文件复制到另一个文件夹的实现方法
2020-12-04 08:30:400 前言大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和...0 前言
大概是三个月前,有个人找我说要我帮忙写几行代码,功能是把一个文件夹里面的所有文件拆分成 200 个文件一个文件夹,很简单的。
我理解了之后,觉得还是挺简单的,花了半个小时写出来了,代码也不多,代码和思路都可以分享一下。
1 环境说明
Win10 系统下 Python3,编译器是 Pycharm。
需要安装 shutil 这个第三方库,直接 pip install shutil 就可以了。
2 代码
先导入需要用到的库,os 是用来切换路径和创建文件夹的。
shutil 是用来复制黏贴文件的
import os
from shutil import copy
i 用来计算文件数量,当 i 是 200 的倍数时,k 会 +1;k 用来计算新建文件夹的数量,方便创建文件夹。
save_dir 是想把复制出来的文件存放在的路径
# i 用来计算文件数量,k 用来计算新建文件夹的数量
i = 0
k = 0
# 想保存到的根路径
save_dir = r'F:\666'
# 如果目录不存在,则创建
if not os.path.isdir(save_dir):
os.makedirs(save_dir)
dir_name 是新的文件夹的命名;file_path 是想拆分的文件夹所在路径,也就是一大堆文件所在的路径。
os.listdir(file_path) 是获取指定路径下包含的文件或文件夹列表,在 Unix, Windows 下使用。
# 想保存的名字
dir_name = "junzi"
# 想拆分的文件夹所在路径
file_path = r'F:\ALL'
# 获取 file_path 下的文件和文件夹列表
# 因为 file_path 里面没有文件夹,所以不处理有文件夹的情况
pathDir = os.listdir(file_path)
获取到了列表,那就一个一个进行遍历。0 是 200 的倍数,所以一开始 k 的值会 +1 。
allDir 是文件的名字+后缀名。from_path 就是当前这个被遍历出来的文件的完整路径,to_path是这个文件要复制到的路径。
接着 copy(from_path, to_path) 完成复制黏贴,最后 i 自增1.
for allDir in pathDir:
if( (i%200) == 0):
print("200 的倍数,新建一个文件夹")
k += 1
print(allDir)
from_path = os.path.join(file_path, allDir)
to_path = save_dir + "\\" + dir_name + str(k)
# 如果 to_path 目录不存在,则创建
if not os.path.isdir(to_path):
os.makedirs(to_path)
copy(from_path, to_path)
i += 1
3 相关说明
shutil 的 copy() 是复制到一个新的地方,创建时间、修改时间、访问时间都是新的,copy2() 则是会创建时间、修改时间、访问时间这些也复制过去。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
-
Python将一个文件夹的文件复制到另一个文件夹
2021-10-26 15:30:09Python将一个文件夹的文件复制到另一个文件夹代码 代码 import glob import shutil filePath='' newFilePath='' filename=os.listdir(filePath) for i in filename: shutil.copy(filePath+'/'+i,newFilePath+...Python将一个文件夹的文件复制到另一个文件夹
代码
import glob import shutil filePath='' newFilePath='' filename=os.listdir(filePath) for i in filename: shutil.copy(filePath+'/'+i,newFilePath+'/'+i) #将filepath里面的所有图片拷贝到newfilepath里面
我使用此方法将一个文件夹中的所有视频进行读取,然后存放到一个其他文件夹下,并且一个视频存放到一个文件夹下,新文件夹的命名从1顺序增大命名。
# https://blog.csdn.net/ganguowa/article/details/74853715?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242 # -*- coding: utf-8 -*- """ 将一个路径下的所有文件夹的视频存储到一个新的路径下,并每一个视频存放在一个文件夹中,文件夹名字从1顺序排列 """ import cv2 as cv import cv2 import time import datetime import os import shutil # 删除某个文件 def delete_mp4(file_mp4): os.remove(file_mp4) path_video_big = "./D01_20210920155746_big" path_video_save = "./D01_20210920155746_over" count = 1 filename = os.listdir(path_video_big) for i in filename: path_save = path_video_save + "/" + str(count) if not os.path.exists(path_save): os.makedirs(path_save) shutil.copy(path_video_big + '/' + i, path_save + "/" + i) count += 1 print("总共有 "+str(count-1))
-
使用python将某些文件从一个文件夹复制到另一个文件夹
2020-12-13 08:03:11我试图只将某些文件从一个文件夹复制到另一个文件夹。文件名位于shapefile的属性表中。我成功地将文件名写入.csv文件,并列出包含要传输的文件名列表的列。在那之后,我一直纠结于如何读取这些文件名以将它们复制到... -
复制指定目录下的全部文件到另一个目录中
2020-12-19 01:29:52linux下文件的复制、移动与删除命令为:cp,mv,rm复制指定目录下的全部文件到另一个目录中假设复制源目录 为 dir1 ,目标目录为dir2。怎样才能将dir1下所有文件复制到dir2下了如果dir2目录不存在,则可以直接使用cp ... -
linux复制文件到另一个文件夹或目录
2021-05-09 05:11:101. 前言本文主要讲解Linux系统如何使用命令行工具把文件复制到另一个文件夹或者目录。2. cp命令的选项和功能copy命令的功能是将给出的文件或目录拷贝到另一文件或目录中,同MSDOS下的copy命令一样,功能十分强大。... -
python怎么把一个文件夹内的文件复制到另外一个文件夹
2021-06-28 12:22:48文章目录一、pandas是什么?二、使用步骤1.引入库2.读入数据总结 一、pandas是什么? 二、使用步骤 1.引入库 代码如下(示例): import numpy as np import pandas as pd import matplotlib.pyplot as plt import ... -
Linux将文件夹下的所有文件复制到另一个文件里
2020-08-25 08:43:44如何将文件夹/home/work下的文件复制到/home/temp里面?...将一个文件夹复制到另一个文件夹下,例如将/home下的work文件夹复制到temp下面 命令为: cp -R /home/work /home/temp 此命令执行后,存在路径/home/te -
cmd命令 复制文件夹里所有文件到另一个文件夹操作方式
2020-04-30 17:18:50代码: xcopy D:\0test\forlinux\4.15备份的文件大小比较大的项目\swq.seclab\src\main\resources\static\cvesummary C:\cve\sum_html /s /f /h...XCOPY是COPY的扩展,可以把指定的目录连文件和目录结构一并拷贝,... -
vim 如何把一个文件中的内容复制到另一个文件
2021-06-09 23:22:481、新建个文件a.txt,里面输入以下内容,保存。要复制的话可以输入 双引号+任意变量名+要复制的行数+yy,比如这里我输入:"a3yy 则会复制从光标处开始往后三行到剪贴板,注意双引号是英文双引号 ... -
Linux复制文件内容到另一个文件
2019-03-07 16:56:24Linux复制文件内容到另一个文件中 例如:a文件中内容为:good,b文件中内容为:luck (1)将b文件中的内容追加到a文件中的末尾命令: cat a >> b b文件内容结果: good luck (2)将b文件中... -
【Linux】复制文件夹或文件到另一个文件夹
2020-12-08 09:19:451、将一个文件夹下的所有内容复制到另一个文件夹下 cp -r /home/packageA/* /home/cp/packageB/ 或cp -r /home/packageA/. /home/cp/packageB/ 这两种方法效果是一样的。 方法示例: 2、将一个文件夹复制到另一... -
linux将一个文件的内容复制到另一个新的文件
2021-07-21 16:43:07需要创建一个新的文件new_file.txt,并把一个文件file1.txt的内容复制到这个新文件中: cat file1.txt >> new_file.txt -
把一个文件中的内容,复制到另外一个文件中
2020-07-25 17:54:55# 把一个文件中的内容,复制到另外一个文件中。 # 基础目录 BASE_DIR = "E:/python重新学习/python核心编程/文件读写/" # 读取的文件名 READ_FILE = "演示文件读取的文本文件.txt" # 写进的文件名 WRITE_FILE = ... -
C# 把一个文件夹下所有文件复制到另一个文件夹下
2020-08-22 14:24:28C# 把一个文件夹下所有文件复制到另一个文件夹下 public static void CopyDirectory(string srcPath, string destPath){ try{ DirectoryInfo dir = new DirectoryInfo(srcPath); FileSystemInfo[] fileinfo ... -
用Java将文件复制到另一个路径下面并改名
2018-11-27 14:23:11System.out.println("复制文件:" + "\n" + "源路径:" + url1 + "\n" + "目标路径:" + url2); while ((n = in.read(buff)) != -1) { out.write(buff, 0, n); } out.flush(); in.close(); out.close(); ... -
java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
2020-11-30 15:04:24这篇文章主要介绍了java复制文件的4种方式,通过实例带给大家介绍了java 拷贝文件到另一个目录下的方法,需要的朋友可以参考下 尽管Java提供了一个可以处理文件的IO操作类。 但是没有一个复制文件的方法。 复制文件... -
使用Python将数据从一个文件复制到另一个文件
2020-07-17 22:42:12Copying the contents of a file from source to destination is a common ... 将文件内容从源复制到目标是应用程序中的一种常见用例。 Python provides easy and built-in modules to copy the file from source ... -
【Python】将文件复制到另一个文件夹,将文件夹复制到新的位置
2019-06-30 21:23:36这意味着如果目标是一个文件夹,那么它将在其中创建一个与源文件具有相同名称(基本名称)的新文件。此外,该方法会在复制源文件的内容后同步目标文件权限到源文件。 shutil.copyfile(): 它将源内容复制到目标... -
linux 下怎么复制一个文件到另外一个目录并且重命名
2020-12-21 21:18:58在home目录下有wwwroot目录,wwwroot下有sinozzz目录,即/home/wwwroot/sinozzz一、目录创建在/home/wwwroot目录下新建一个...把/home/wwwroot/sinozzz里面的文件和文件夹等复制到home/wwwroot/sinozzz123目录下... -
Linux命令复制粘贴目录文件到另一个目录:
2018-11-22 17:15:11Linux命令复制粘贴目录文件到另一个目录: ******采用绝对路径将day4目录及其目录下的多个子目录及其子文件复制到目录one02目录文件下命名为day4: -
Centos7把一个文件复制到另外一台服务器上的scp命令
2019-09-06 09:44:48通过scp命令把本地文件传到外网去:scp 当前目录下的文件名 root@ip地址:/mnt -
怎么样将一个硬盘的文件一次性复制到另一个硬盘上
2021-07-17 02:59:34原标题:怎么样将一个硬盘的文件一次性复制到另一个硬盘上怎么样将一个硬盘的文件一次性复制到另一个硬盘上?相信有不少的技术宅有这种想法吧。首先我们得有两块硬盘,下面我给大家讲讲具体有哪些方法可以将硬盘自动... -
vi编辑器从一个文件复制到另一个文件
2019-03-18 15:50:51二、vi编辑器从一个文件复制到另一个文件 1.先打开这两个文件:vi a1.log a2.log 2.:set number 显示行号 3.:100,200y(复制100行~200行的内容) 4.:n 切换到第二个文件 5.p(粘贴即可),将光标移到需要复制的地方..... -
ubuntu(linux)将一个文件下的所有文件复制到另外一个文件
2021-04-03 14:01:32sudo cp /目标文件夹/文件 /所要复制到的文件夹/子文件夹...我想将一个文件夹中的所有文件复制到另外一个文件夹下 1.在当前文件夹下打开终端 2.在里面输入 sudo cp ./* /usr/local/cuda/lib64 星号代表所有的文件 ... -
Python:批量把文件复制到另一个文件夹
2020-03-21 10:15:00先看代码: import os #os是用来切换路径和创建文件夹的。 from shutil import copy #shutil 是用来复制黏贴文件的 ...save_dir = r'F:\new' #save_dir 是想把复制出来的文件存放在的路径 dir_name = "newFil... -
python关于实现从一个文件夹内的文件复制(移动)到另一个文件的方案
2021-08-31 20:32:55最近要实现将一个父文件夹下不同子文件夹内的文件全部移动(或者复制)到另一个文件内,也就是集中文件。这里我用到了os模块和shutil.模块,废话不多说,直接上代码,可以直接用的 """复制一个文件夹下多个文件...