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 ...
随机推荐
- C# PropertyGrid控件应用心得 【转】
源文 : http://blog.csdn.net/luyifeiniu/article/details/5426960 c#stringattributesobjectmicrosoftclass ...
- ubuntu环境准备
一. 桌面方面看起来比较不爽,12的版本用起更不习惯,决定改成命令行登陆 a. vi /ect/default/grub 文件 b. 修改成第二个红框的情况 c. 执行update-grub命令 d ...
- OpenGL 与 GLSL 版本号
来自:https://github.com/mattdesl/lwjgl-basics/wiki/GLSL-Versions You can use the #version command as t ...
- Python实战之自己主动化评论
Python实战之自己主动化评论 玩csdn博客一个多月了,渐渐发现了一些有意思的事,常常会有人用相同的评论到处刷.不知道是为了加没什么用的积分,还是纯粹为了表达楼主好人.那么问题来了,这种无聊的事情 ...
- angular input file 上传文件
<body > <div ng-controller="fileCtrl"> <form ng-submit="submit(obj)&qu ...
- 从头认识java-15.1 填充容器(2)-利用Collection的addAll方式
接着上一章节,我们继续介绍填充容器. 这一章节我们结束还有一种填充容器的方式:addAll 样例: package com.ray.ch15; import java.util.ArrayList; ...
- Redis 过期键的设置、获取和删除过期时间
Redis 过期键的设置.获取和删除过期时间 转自http://blog.51cto.com/littledevil/1813956 设置过期 默认情况下键是没有生存时间的,也就是永不过期,除非清空内 ...
- 九度OJ 1141:Financial Management (财务管理) (平均数)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:939 解决:489 题目描述: Larry graduated this year and finally has a job. He's ...
- Win32对话框工程笔记
Main.cpp #include <Windows.h> #include "resource.h" INT_PTR CALLBACK dialogProc(HWND ...
- kernel中对文件的读写【学习笔记】【原创】
/*1. 头文件 */ #include <linux/init.h> #include <linux/module.h> #include <linux/modulep ...