Windows下用Python你会几种copy文件的方法以及效率分析
来源:互联网 发布:天锐数据安全软件 编辑:程序博客网 时间:2024/05/18 02:24
001:os.system
import osimport tempfilefilename1 = tempfile.mktemp (".txt")open (filename1, "w").close ()filename2 = filename1 + ".copy"print filename1, "=>", filename2#拷文件os.system ("copy %s %s" % (filename1, filename2))if os.path.isfile (filename2): print "Success"dirname1 = tempfile.mktemp (".dir")os.mkdir (dirname1)dirname2 = dirname1 + ".copy"print dirname1, "=>", dirname2#拷目录os.system ("xcopy /s %s %s" % (dirname1, dirname2))if os.path.isdir (dirname2): print "Success"
2. shutil.copy和shutil.copytree
import osimport shutilimport tempfilefilename1 = tempfile.mktemp (".txt")open (filename1, "w").close ()filename2 = filename1 + ".copy"print filename1, "=>", filename2#拷文件shutil.copy (filename1, filename2)if os.path.isfile (filename2): print "Success"dirname1 = tempfile.mktemp (".dir")os.mkdir (dirname1)dirname2 = dirname1 + ".copy"print dirname1, "=>", dirname2#拷目录shutil.copytree (dirname1, dirname2)if os.path.isdir (dirname2): print "Success"
3. win32file.CopyFile
import osimport win32fileimport tempfilefilename1 = tempfile.mktemp (".txt")open (filename1, "w").close ()filename2 = filename1 + ".copy"print filename1, "=>", filename2#拷文件#文件已存在时,1为不覆盖,0为覆盖win32file.CopyFile (filename1, filename2, 1)win32file.CopyFile (filename1, filename2, 0)win32file.CopyFile (filename1, filename2, 1)if os.path.isfile (filename2): print "Success"dirname1 = tempfile.mktemp (".dir")os.mkdir (dirname1)dirname2 = dirname1 + ".copy"print dirname1, "=>", dirname2#拷目录win32file.CopyFile (dirname1, dirname2, 1)if os.path.isdir (dirname2): print "Success"
4. SHFileOperation
import osfrom win32com.shell import shell, shellconimport tempfilefilename1 = tempfile.mktemp (".txt")open (filename1, "w").close ()filename2 = filename1 + ".copy"print filename1, "=>", filename2#拷文件#文件已存在时,shellcon.FOF_RENAMEONCOLLISION会指示重命名文件shell.SHFileOperation ( (0, shellcon.FO_COPY, filename1, filename2, 0, None, None))shell.SHFileOperation ( (0, shellcon.FO_COPY, filename1, filename2, shellcon.FOF_RENAMEONCOLLISION, None, None))shell.SHFileOperation ( (0, shellcon.FO_COPY, filename1, filename2, 0, None, None))if os.path.isfile (filename2): print "Success"dirname1 = tempfile.mktemp (".dir")os.mkdir (dirname1)dirname2 = dirname1 + ".copy"print dirname1, "=>", dirname2#拷目录shell.SHFileOperation ( (0, shellcon.FO_COPY, dirname1, dirname2, 0, None, None))if os.path.isdir (dirname2): print "Success"
测试环境:系统——Win7 RTM,CPU——P4 3.0,MEM——1.5G DDR400,U盘——Kingston 4G
用4种不同的方法从硬盘拷贝MSDN 2008 SP1(2.37G)到U盘:
os System 的方法耗时903.218秒
shutil 的方法耗时1850.634秒
win32file 的方法耗时861.438秒
SHFileOperation的方法耗时794.023秒
文章转自:http://bbs.csdn.net/topics/320025687
- Windows下用Python你会几种copy文件的方法以及效率分析
- Windows下用Python你会几种copy文件的方法?
- Windows下用Python你会几种copy文件的方法-Python shutil模块
- Copy文件的方法
- python的copy.copy()和copy.deepcopy()方法
- ubuntu下复制目录和文件的指令以及和windows下的copy方式
- Windows下获取Dump文件以及进程下各线程调用栈的方法总结
- Windows下获取Dump文件以及进程下各线程调用栈的方法总结
- Htaccess文件是什么以及Windows下自由创建.htaccess文件的N种方法
- 【Windows】Windows 8.1系统下的控制台命令COPY实现文件的复制
- Java之遍历文件夹下的文件,以及读取内容并Copy到另一文件夹下
- 复制文件/文件夹以及子文件夹下的文件; Copy file/folder including subfolder/files
- 关于大量文件的copy,delete操作方式效率初探
- Python监控Windows下的文件变化
- Windows下安装Python模块的方法
- windows下python运行的方法
- Windows下 Python 模块的安装方法
- Windows下 Python 模块的安装方法
- Google地图API使用方法示例
- css选择器优先级
- 使用C#实现网站用户登录(转)
- 涨工资了--char5
- sparse coding
- Windows下用Python你会几种copy文件的方法以及效率分析
- 编译原理:正则表达式/词法分析/DFA
- G-BLASTN 1.1 Released
- error C2220: warning treated as error - no 'object' file generated
- ie与ff下的event事件
- ajax的open和send
- 开心网外挂开发手记
- org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query
- angularJs -- 简单表单验证