python复制文件的代码_python 复制文件流程

例子代码:

[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')whileTrue:

content= old_file.read(1024)if notcontent:breaknew_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/435125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java指令和javac指令总结

假如在D:\Java存放了两个java源文件&#xff1a;MyJava.java&#xff0c;Fighting.javaMyJava.java如下&#xff1a;public class MyJava { public static void main(String[] arr) { System.out.println("MyJava"); }}Fighting.java如下&#xff1a;package mxw.…

大型网站的负载均衡器、db proxy和db

大型网站的负载均衡器、db proxy和db 本文主要分析网站后台架构中的负载均衡器&#xff0c;企业常用的硬件负载均衡器软件负载均衡器、数据库代理服务器和数据库。 1.1 负载均衡 在大型网站部署中&#xff0c;负载均衡至少有三层部署。第一层为web server或者缓存代理之上的负载…

连接网络后浏览器却上不了网

解决在IE浏览器中 更新后的系统IE浏览器需要搜索才能出现 完成

python验证码重叠_用Python机器学习搞定验证码

写爬虫有一个绕不过去的问题就是验证码&#xff0c;现在验证码分类大概有4种&#xff1a;图像类滑动类点击类语音类今天先来看看图像类&#xff0c;这类验证码大多是数字、字母的组合&#xff0c;国内也有使用汉字的。在这个基础上增加噪点、干扰线、变形、重叠、不同字体颜色等…

ecshop 函数列表大全

ecshop 函数列表大全 所有函数功能说明:lib_time.phpgmtime()P: 获得当前格林威治时间的时间戳 /$0server_timezone()P: 获得服务器的时区 /$0local_mktime($hour NULL , $minute NULL, $second NULL, $month NULL, $day NULL, $year NULL)P: 生成一个用户自定义时区日期的…

shell环境变量以及set,env,export的区别

一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量 包括的私有变量以及用户变量&#xff0c;不同类的shell有不同的私有变量 bash,ksh,csh每中shell私有变量都不一样 env:显示(设置)用户变量变量 export:显示(设置)当前导出成用户变量的shell变量。 举…

linux 字符串截取_linux下可执行文件分析

一 背景也许大家都遇到过这种场景,就是有二进制代码,比如深度分析下此文件到底是什么格式的图片等&#xff0c;这篇文章就记录我分析下二进制可执行文件的过程&#xff0c;已经自己读写二进制文件的一些坑。分析的二进制执行文件为linux下的可执行文件。二 常用二进制文件静态分…

Objective-C 的OOP(下)-类(static)方法、实例方法、overwrite(覆写)、属性(property)...

先来定义一个Human父类 定义部分&#xff1a; 1234567891011121314151617181920 //// Human.h// OOP//// Created by jimmy.yang on 11-2-9.// Copyright 2011 __MyCompanyName__. All rights reserved.// #import <Foundation/Foundation.h> interface Human : NS…

介绍最全的LVS负载均衡技术

LVS集群采用IP负载均衡技术和基于内容请求分发技术。调度器具有很好的吞吐率&#xff0c;将请求均衡地转移到不同的服务器上执行&#xff0c;且调度器自动屏蔽掉服务器的故障&#xff0c;从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透…

linux 版本_Linux动态库版本号作用机制

熟悉linux的都知道&#xff0c;linux的动态库如果有版本号的话&#xff0c;一般是libsample.so.x.y.z这样的名字。x.y.z对应的就是major.minor.release(即主.次.发布)版本号Major&#xff1a;大版本更新&#xff0c;前后都不兼容(比如移除api&#xff0c;又新增api)Minor&#…

信息系统项目管理系列之九:项目质量管理

信息系统项目管理系列之九&#xff1a;项目质量管理 信息系统项目管理系列之九&#xff1a; 项目质量管理 发布日期&#xff1a;2011年4月9日 星期六 作者:EricHu 说明&#xff1a;本文属作者的读书笔记。 勤能补拙、笨鸟先飞。 本篇主要内容如下&#xff1a; 项目质量管…

arcgis在面内创建随机点

在数据管理工具下选择要素类&#xff0c;在要素类下选择创建随机点

python tkinter listbox_Python3 tkinter基础 Listbox for+insert 将list中元素导入listbox中

Python : 3.7.0OS : Ubuntu 18.04.1 LTSIDE : PyCharm 2018.2.4Conda : 4.5.11typesetting : Markdowncode"""Author : 行初心Date : 18-10-1Blog : www.cnblogs.com/xingchuxinGitee : gitee.com/zhichengjiu"""from tkinter import *def main(…

Apple`s Steve Jobs Has Reshaped(重塑) the Tech World: 10 Ways He Did It

A new book is in the works that promises to shed(除掉, 使脱落, 使流出, 使清晰) more light on Apple. Dubbed(命名的, 配音的, 译制的) “iSteve: The Book of Jobs,” the book, which is written by Walter Isaacson, is an authorized biography of Apple co-founder S…

python中osgeo库使用教程链接

1. 地理数据处理软件包GDAL简介 2. GDAL python教程&#xff08;1&#xff09;——用OGR读写矢量数据 3. GDAL python教程&#xff08;2&#xff09;——几何形状geometry与投影projection4. GDAL python教程&#xff08;3&#xff09;——过滤器&#xff0c;简单的空间分析&…

TrueFFS原理

TrueFFS原理 引用TrueFFS原理及其在CF卡上的实现的部分内容 “1、Wear-Leveling 闪速存储器不能无限次重复使用。它的每个扇区的擦除次数虽然很大&#xff0c;但却有限&#xff1b;因此&#xff0c;随着使用次数的加长&#xff0c;它最终会变成只读状态&#xff0c;所以应该尽…

winform 判断控件有没有被遮挡_编程入门基础之 winform(2)

在编程入门1中&#xff0c;我们通过WINFORM等控件画出了登录界面&#xff0c;我们今天写登录界面的登录按钮事件。装修预算小程序登录按钮事件在上图中&#xff0c;我们看到了&#xff0c;有几个判断 &#xff0c;在C#中&#xff0c;if ,else是作为条件判断语句来使用。条件判断…

利用python读取点矢量对应栅格值

每行代码都有详细注解 所需库 # GDAL是栅格和矢量地理空间数据格式的转换器库 # 旧版本加载库的方法 #import gdal,gdalconst # from 语句让你从模块中导入一个指定的部分到当前命名空间中 # GDAL数据驱动,与OGR数据驱动类似 gdal是读取栅格数据 ogr是读取矢量数据 # 查看支持…

在CF卡上实现TrueFFS

CF卡是一种基于Flash技术的容量大、携带方便的存储介质&#xff0c;已在嵌入式系统等领域得到广泛的应用&#xff1b;但是&#xff0c;有限的擦写次数极大地限制了CF卡的使用寿命。TrueFFS通过一系列算法&#xff0c;能够延长CF卡的使用寿命&#xff0c;提高CF卡的使用效率。文…