python的几种copy方法


1、os.system

import os

filename1 = r'G:\test\a'
filename2 = r'G:\test\test\a'
os.system('copy %s %s' % (filename1, filename2))  # 拷文件
if os.path.isfile(filename2): print 'copy file success'

dirname1 = r'G:\test\test'
dirname2 = r'G:\test\bbc'
# 将test目录下的文件和非空目录拷贝到bbc下,bbc若不存在将失败
os.system('xcopy %s %s /s' % (dirname1, dirname2))  # 拷目录,/s 复制非空的目录和子目录。
if os.path.isdir(dirname2): print 'copy dir success'

 

2、shutil.copy和shutil.copytree

import shutil

filename1 = r'G:\test\a'
filename2 = r'G:\test\test\a'
shutil.copy(filename1, filename2)  # 拷文件

dirname1 = r'G:\test\test'
dirname2 = r'G:\test\bbc'
shutil.copytree(dirname1, dirname2)  # 拷贝目录,bbc若存在将报错

 

3、win32File.CopyFile

需要安装pywin32:http://jingyan.baidu.com/article/22fe7ced1ca36b3003617f7a.html

import win32file

filename1 = r'G:\test\a'
filename2 = r'G:\test\test\a'
# 拷文件
# 文件已存在时,1为不覆盖,0为覆盖
win32file.CopyFile(filename1, filename2, 0)  # 文件存在且为1时,会报错

 

win32file.CopyFile (dirname1, dirname2, 1)

使用这种方法拷目录没有成功。。。

 

另外使用SHFileOperation的方法,

from win32com.shell import shell, shellcon导入没有成功。。。不知道还要安装什么

 

参考:http://www.cnblogs.com/lovemo1314/archive/2010/11/11/1874975.html


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM