python之文件的复制

简介:
1
2
3
4
5
6
7
8
import  os
old_file_name  =  input ( "Please input what's file do you want to copy go:" )
fp  =  open (old_file_name)
content  =  fp.read()
index  =  old_file_name.rfind( '.' )
new_file_name  =  old_file_name[:index] + "[复件]" + old_file_name[index:]
dp  =  open (new_file_name, 'w' )
dp.write(content)

上面代码是文件的复制,我们的思路是这样的:

你可以打开一个存在的文件,然后去读取这个文件的内容,然后去创建一个新的文件,这个文件的名字是旧文件名字后面加上[复件]这样的字体。然后把我们刚刚在旧文件中读到的内容写到新文件里面去。关闭两个文件就好啦。

第二行让用户输入你想复制的文件,这个文件必须存在,而且最好是绝对路径。

第四行是打开我们要旧文件,用content变量是保存旧文件里面的内容

第五行去查找old_file_name这个变量的字符串中最右边出现的一个'.'符号的下标。

第六行是给new文件命名,然后赋予给变量new_file_name这个变量啊

那么上面有一个问题,如果说我们要复制一个你不知多大的文件的时候,千万不要用read,因为read会把所有的内容都读进内存,如果这个文件很大你的内存就崩了,也不要用readlines因为如果你的文件内容只有一行,这一行的数据很大,那你的内存也会被影响到。

可以用下面代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
import  os
old_file_name  =  input ( "Please input what's file do you want to copy go:" )
fp  =  open (old_file_name)
index  =  old_file_name.rfind( '.' )
new_file_name  =  old_file_name[:index] + "[复件]" + old_file_name[index:]
dp  =  open (new_file_name, 'w' )
while  True :
     content  =  fp.read( 1024 )
     if  len (content)  = =  0 :
         break
     dp.write(content)
fp.close()
dp.close()

上面代码的第8行是读这个文件的前1024个字符,然后再去判断读出来的内容是不是为空的,如果是的话就break退出循环,如果不是就就把内容写入新文件中


本文转自 周子琪 51CTO博客,原文链接:http://blog.51cto.com/izhouyu/1967644


相关文章
|
18天前
|
自然语言处理 数据处理 Python
python操作和解析ppt文件 | python小知识
本文将带你从零开始,了解PPT解析的工具、工作原理以及常用的基本操作,并提供具体的代码示例和必要的说明【10月更文挑战第4天】
163 60
|
12天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
17天前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
31 1
Python实用记录(十三):python脚本打包exe文件并运行
|
10天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
11天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
17天前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
27 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
27天前
|
存储 索引 Python
一文让你搞懂 Python 的 pyc 文件
一文让你搞懂 Python 的 pyc 文件
46 10
|
22天前
|
Python
Python对PDF文件页面的旋转和切割
Python对PDF文件页面的旋转和切割
35 3
|
22天前
|
计算机视觉 Python
Python操作PDF文件
Python操作PDF文件
23 1
|
26天前
|
IDE 开发工具 iOS开发
Python编程案例:查找指定文件大小的文件并输出路径
Python编程案例:查找指定文件大小的文件并输出路径
18 3