例子代码:

[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. Android--绑定服务调用服务的方法

    Service依照其启动的方式,可分为两种: 1.Started Started的Service.通过在Application里用startService(Intent intent)方法来启动.这样 ...

  2. 【Python】输出程序运行的百分比

    对于一些大型的Python程序.我们须要在命令行输出其百分比,显得更加友好,以免被人误会程序陷入死循环.假死的窗口. 关键是利用到不换行的输出符\r,\r的输出.将直接覆盖掉此行的内容. 比方例如以下 ...

  3. 【搞机】9.7英寸iPad Pro 上手开箱(图文)

    前言 话说,去年就一直想买个iPad ,可是苦于iPad air 2 出的太早,立即就要更新了,就没有买. 今年出了9.7英寸的iPad Pro .看到添加了这么多新特性.就按耐不住心情预订了~ 还刻 ...

  4. EasyUI datagrid border处理,加边框,去边框,都可以,easyuidatagrid

    下面是EasyUI 官网上处理datagrid border的demo: 主要是这句: $('#dg').datagrid('getPanel').removeClass('lines-both li ...

  5. Regex 手机号 座机 正則表達式

    近期在工作中须要推断一个号码是否是手机号,是否是座机号. 在网上也搜到了大家总结的方法,没有直接使用这些方法是由于:手机号码在不断開始新的号码段(比方17x).座机号中个别区号由于行政区域的变化而废除 ...

  6. jsp页面设置绝对路径

    例子: 设置完之后就随便jsp页面放在哪个文件夹都可以加载到资源了 <%@ page language="java" contentType="text/html; ...

  7. class中的私有属性的访问

    在类中的私有属性设置: class Name(): __init__(self): self.__name = 'arnol'` 如何查看: 1,在类中定义一个方法: def getname(self ...

  8. Openlayers中layer介绍

    1.base layers & overlay layers base layer:最底层的layer,其它的图层是在他之上,最先增加的图层默认作为base layer. overlay la ...

  9. 关于TCP通信程序中数据的传递格式

    前言 在之前的回射程序中,实现了字符串的传递与回射.幸运的是,字符串的传递不用担心不同计算机类型的大小端匹配问题,然而,如果传递二进制数据,这就是一个要好好考虑的问题.在客户端和服务器使用不同的字节序 ...

  10. EasyDarwin开源摄像机访问EasyCamera中海康摄像头语音对讲和云台控制转发实现

    转自:http://blog.csdn.net/yanzhuomin/article/details/52887311 EasyCamera中关于摄像头SDK的调用都集中在EasyCameraSour ...