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')
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 复制文件流程的更多相关文章
- 用python复制文件夹
用python复制文件 1. 根据文件夹的名称复制 需要复制的文件夹编号文件中,每一行表示一个编号,如下所示: > cat id.txt 1 2 3 ... > 目标文件的目录结构树如下所 ...
- 用Python复制文件的9个方法
Python 中有许多"开盖即食"的模块(比如 os,subprocess 和 shutil)以支持文件 I/O 操作.在这篇文章中,你将会看到一些用 Python 实现文件复制的 ...
- 用Python复制文件的9个方法(转)
转自:https://zhuanlan.zhihu.com/p/35725217 用Python复制文件的9个方法 Python 中有许多“开盖即食”的模块(比如 os,subprocess 和 sh ...
- python复制文件,路径不存在问题(Windows和linux路径分隔符不统一)
问题: python脚本涉及到复制文件,而我们需要兼容Windows.linux和mac环境 (Windows和linux的路径分隔符不同:通过os.path.sep查看分隔符) 如果用[路径名+ ...
- python复制文件到文件夹中
目标:将一张图片复制到一个文件夹下 所有子文件中. import shutil import os #第一部分,准备工作,拼接出要存放的文件夹的路径 file = 'E:/测试/1.jpg' #cur ...
- python 复制文件到其他路径
#!/usr/bin/env/python # -*- coding: utf-8 -*- # @Time : 2018/11/7 16:34 # @Author : ChenAdong # @Ema ...
- paip.复制文件 文件操作 api的设计uapi java python php 最佳实践
paip.复制文件 文件操作 api的设计uapi java python php 最佳实践 =====uapi copy() =====java的无,要自己写... ====php copy ...
- python中文件的复制
python中文件的复制 python的os模块有很多文件目录相关的函数,但没有提供直接复制文件的函数,当然可以通过边都边写的方式复制文件.想要直接复制文件可以通过shutil模块 shutil模块是 ...
- python 复制/移动文件
用python实现将某代码文件复制/移动到指定路径下. 场景例如:mv ./xxx/git/project1/test.sh ./xxx/tmp/tmp/1/test.sh (相对路径./xxx/tm ...
随机推荐
- linux 中两个文档怎么对比内容是否一致
可以用diff命令对比文档内容.[语法]: diff [参数] 文件1 文件2[说明]: 本命令比较两个文本文件,将不同的行列出来-b 将一串空格或TAB 转换成一个空格或TAB-e 生成一个编辑角本 ...
- 解决Gradle执行命令时报Could not determine the dependencies of task ':compileReleaseJava'.
Could not determine the dependencies of task ':compileReleaseJava'. > failed to find target andro ...
- 最全的HTTP头部信息分析
HTTP 头部解释 1. Accept:告诉WEB服务器自己接受什么介质类型,*/* 表示任何类型,type/* 表示该类型下的所有子类型,type/sub-type. 2. Accept-Chars ...
- C++ ADO 连接 mysql
1.安装mysql-5.0.22-win32,mysql-connector-odbc-5.1.12-win32.msi 然后:开始菜单->设置->控制面板->管理工具-> ...
- 通过jstl判断是否给value 赋值
<input type="text" name="saler.password" id="password" value=" ...
- Android 适配器教程 (六)
我们的适配器学习已经接近尾声了.尽管这不是一个大问题,可是确实是值得学习的一块知识,回忆一下之前五讲的知识.我们已经学到了非常多东西了. 在之前五讲中.我们已经由浅入深的认识了适配器,从最简单的Lis ...
- Django开发微信公众平台
处理微信发来的信息,实际上就是处理xml的过程.先写xml工具类 # -*- coding:utf-8 -*- from xml.dom import minidom from Web.model.W ...
- ListView中button监听器 设置 及 优化
在应用开发中常常会用到ListView,而且每个Item里面都会有button之类的须要进行事件监听的控件.在给button加入OnClickListener的时候,一開始非常下意识的会想在ListV ...
- shell(1):网络配置、BATH环境和通配符
一.临时配置网络(ip,网关,dns) ifconfig查看网络配置 修改ip地址 ifconfig ens33 192.168.255.129/24 ens33网卡名称.192.168.255.1 ...
- swich-----case语句的用法
转: http://xinzhi.wenda.so.com/a/1517927252619839