开发者社区> 科技小能手> 正文

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


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
python 模块 copy 复制详解
python 模块 copy 复制详解
26 0
【实用小脚本】Python实现文件/目录的复制
【实用小脚本】Python实现文件/目录的复制
62 0
字节跳动笔试题——复杂链表的复杂——剑指 Offer 35. 复杂链表的复制——python && C++源代码
字节跳动笔试题——复杂链表的复杂——剑指 Offer 35. 复杂链表的复制——python && C++源代码
23 0
Python字符串复制
Python字符串复制自制脑图
24 0
Python学习之路-字典的使用2(删除,复制)
开发者学堂课程,了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。 课程地址:https://developer.aliyun.com/learning/course/600/detail/8717
25 0
Python是否支持复制字符串呢?
本文标题的问题分为两部分:(1)Python 中是否支持复制字符串?(2)如果不支持,为什么不支持?
65 0
复制and粘贴?Python脚本1分钟解决了我1小时的事!
复制and粘贴?Python脚本1分钟解决了我1小时的事!
80 0
《10个超级常用Python方法总结》复制即用丨小白捷径
《10个超级常用Python方法总结》复制即用丨小白捷径
140 0
遇到禁止复制该怎么办?幸好我会Python...
网页无法复制文本的情况。不过这些对于Python来说都不是问题。今天辰哥就叫你们用**Python**去解决。
109 0
【每日算法】复制带随机指针的链表:「哈希表」&「原地算法」|Python 主题月
【每日算法】复制带随机指针的链表:「哈希表」&「原地算法」|Python 主题月
55 0
文章
问答
文章排行榜
最热
最新
相关电子书
更多
给运维工程师的Python实战课
立即下载
Python 脚本速查手册
立即下载
ACE 区域技术发展峰会:Flink Python Table API入门及实践
立即下载