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

posted @ 2017-07-14 15:06  夜雨西风  阅读(15463)  评论(0)    收藏  举报