python之文件的复制
2017-09-21 23:15
288 查看
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因为如果你的文件内容只有一行,这一行的数据很大,那你的内存也会被影响到。
可以用下面代码:
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退出循环,如果不是就就把内容写入新文件中
相关文章推荐
- Python利用递归实现文件的复制
- Python(一) 文件操作 复制
- Python的shutil模块中文件的复制操作函数详解
- Python利用队列广度遍历、复制文件
- python文件操作--复制
- Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
- python写的复制文件程序
- Python 练手 1 批量复制文件
- Python3多进程复制文件
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
- python复制文件
- python利用shutil模块对文件剪贴复制等
- Python的shutil模块中文件的复制操作函数详解
- python 复制并重命名文件
- python把文件从一个目录复制到另外一个目录,并且备份
- 批量复制文件工具[Python]
- 【python】写文件、复制文件、下载url链接图片
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
- python 3.3 复制文件 或 文件夹及其子文件夹 小例
- python 复制文件