例子代码:

[root@master script]# vim copy_file.py
#!/usr/bin/python
# -*- coding:utf-8 -*- old_file_name = raw_input("Please input you need copy's file name:" ) old_file = open(old_file_name,'r') new_file = open('langwang.txt','w') content = old_file.read() new_file.write(content) old_file.close()
new_file.close()

如果:hello.py  hello[复件].py 怎么实现呢?

[root@master script]# vim copy_file.py
#!/usr/bin/python
# -*- coding:utf-8 -*- old_file_name = raw_input("Please input you need copy's file name:" ) old_file = open(old_file_name,'r') new_file_name = old_file_name.split('.')[0] + '[复件].' + old_file_name.split('.')[1]
new_file = open(new_file_name,'w') content = old_file.read() new_file.write(content) old_file.close()
new_file.close()

还可以是:

[root@master script]# vim copy_file.py
#!/usr/bin/python
# -*- coding:utf-8 -*- old_file_name = raw_input("Please input you need copy's file name:" ) old_file = open(old_file_name,'r') #new_file_name = old_file_name.split('.')[0] + '[复件].' + old_file_name.split('.')[1]
position = old_file_name.rfind(".")
new_file_name = old_file_name[:position] + '[复件]' + old_file_name[position:]
new_file = open(new_file_name,'w') content = old_file.read() new_file.write(content) old_file.close()
new_file.close()

提示:

当一个文件非常大的时候,禁止使用read()读取,内存空间有限,用read()读取大文件会出现memory err ,内存不足的情况

这种情况就没有解决办法吗?有的====》推荐使用如下代码:

[root@master script]# cat copy_file.py
#!/usr/bin/python
# -*- coding:utf-8 -*- old_file_name = raw_input("Please input you need copy's file name:" ) old_file = open(old_file_name,'r') position = old_file_name.rfind(".")
new_file_name = old_file_name[:position] + '[复件]' + old_file_name[position:] new_file = open(new_file_name,'w')
while True:
content = old_file.read(1024)
if not content:
break
new_file.write(content) old_file.close()
new_file.close()

##########文件的位置############

In [17]: f = open("hello.py",'r')

In [18]: f.read()
Out[18]: "#!/usr/bin/python\n#-*- coding:utf-8 -*-\n\ni = 1\n\nwhile i<=5:\n j = 1\n while j<=i:\n print '*',\n j+=1\n print ''\n i+=1\n\n" In [19]: f.seek(0,0) ##指针,seek(0,0) 代表从头开始读 In [20]: f.read()
Out[20]: "#!/usr/bin/python\n#-*- coding:utf-8 -*-\n\ni = 1\n\nwhile i<=5:\n j = 1\n while j<=i:\n print '*',\n j+=1\n print ''\n i+=1\n\n" In [21]: f.read()
Out[21]: '' In [22]: f.tell() ##指针的位置索引
Out[22]: 141 In [23]: f.read()
Out[23]: '' In [24]: f.tell()
Out[24]: 141 In [25]: f.seek(0,0) In [26]: f.tell()
Out[26]: 0

  

python 复制文件流程的更多相关文章

  1. 用python复制文件夹

    用python复制文件 1. 根据文件夹的名称复制 需要复制的文件夹编号文件中,每一行表示一个编号,如下所示: > cat id.txt 1 2 3 ... > 目标文件的目录结构树如下所 ...

  2. 用Python复制文件的9个方法

    Python 中有许多"开盖即食"的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作.在这篇文章中,你将会看到一些用 Python 实现文件复制的 ...

  3. 用Python复制文件的9个方法(转)

    转自:https://zhuanlan.zhihu.com/p/35725217 用Python复制文件的9个方法 Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 sh ...

  4. python复制文件,路径不存在问题(Windows和linux路径分隔符不统一)

    问题: python脚本涉及到复制文件,而我们需要兼容Windows.linux和mac环境 (Windows和linux的路径分隔符不同:通过os.path.sep查看分隔符)   如果用[路径名+ ...

  5. python复制文件到文件夹中

    目标:将一张图片复制到一个文件夹下 所有子文件中. import shutil import os #第一部分,准备工作,拼接出要存放的文件夹的路径 file = 'E:/测试/1.jpg' #cur ...

  6. python 复制文件到其他路径

    #!/usr/bin/env/python # -*- coding: utf-8 -*- # @Time : 2018/11/7 16:34 # @Author : ChenAdong # @Ema ...

  7. paip.复制文件 文件操作 api的设计uapi java python php 最佳实践

    paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi   copy() =====java的无,要自己写... ====php   copy ...

  8. python中文件的复制

    python中文件的复制 python的os模块有很多文件目录相关的函数,但没有提供直接复制文件的函数,当然可以通过边都边写的方式复制文件.想要直接复制文件可以通过shutil模块 shutil模块是 ...

  9. python 复制/移动文件

    用python实现将某代码文件复制/移动到指定路径下. 场景例如:mv ./xxx/git/project1/test.sh ./xxx/tmp/tmp/1/test.sh (相对路径./xxx/tm ...

随机推荐

  1. 【经验之谈】适合学习的IT教程站点列表

    ①  CSDN   http://www.csdn.net/ ②  gitHub   https://github.com/ ③  极客学院  http://www.jikexueyuan.com/ ...

  2. Linux 网卡驱动学习(二)(网络驱动接口小结)

    [摘要]前文我们分析了一个虚拟硬件的网络驱动例子,从中我们看到了网络设备的一些接口,其实网络设备驱动和块设备驱动的功能比较类似,都是发送和接收数据包(数据请求).当然它们实际是有很多不同的. 1.引言 ...

  3. Spring源代码由浅入深系列三 refresh

    Spring中的refresh是一个相当重要的方法. 它完毕IOC的第一个阶段,将xml中的bean转化为beanDefinition.具体说明如上图所看到的. 在上图中,创建obtainFreshB ...

  4. Java第三次实验要求

    实验三 类与对象(一) 一. 实验目的 1. 掌握类与对象的基本概念: 2. 掌握类的声明.创建与用法: 3. 掌握类的构造方法的定义与用法 4. 掌握类的成员变量.成员方法的定义与用法: 5. 理解 ...

  5. 网站的根目录下有一个文件robots.txt ,它是啥?

    我相信很多人有过这个疑问,这个robots文件是干嘛的? 我想问,各位搜索淘宝时,是否发现(禁止爬虫抓取提供快页) 关于详细语法,请看:http://zhidao.baidu.com/question ...

  6. ActiveX控件打包成Cab置于网页中自动下载安装

    [背景] http://www.360doc.com/content/13/1120/20/10159093_330853247.shtml 做过ActiveX控件的朋友都知道,要想把自己做的Acti ...

  7. POJ2376 Cleaning Shifts 【贪心】

    Cleaning Shifts Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 11542   Accepted: 3004 ...

  8. CrtmpServer getApplication注册流程

    最近在研究 CrtmpServer getApplication注册流程,以备查阅 图1. 加载动态库流程 图2配置application流程

  9. hibernate5(10)注解映射[2]一对多单向关联

    在上一篇文章里.我们从端方向一端建立关联关系,完毕了从文章到作者的关联关系建立.但在实际的博客站点中,用户肯定还须要获取自己所写的文章,这时能够建立用户(一)对文章(多)的单向关联映射. 先来看我们的 ...

  10. JS 模板引擎 Handlebars.js 中文说明

    Handlebars 为你提供了一个可以毫无挫折感的高效率书写 语义化的模板 所必需的一切. Mustache 模板和 Handlebars 是兼容的,所以你可以把Mustache模板拿来导入到Han ...