标签:mtime pen 文件拷贝 文件夹 3.5 对象 日志 python arm
对文件进行copy、还可以压缩包
1)shutil.copyfileobj(fsrc, fdst[, length])
将文件内容拷贝到另一个文件中,需要打开文件,fsrc,fdst是2个文件的文件句柄
1 import shutil 2 with open("old_file",encoding = "utf-8") as f1,3 open("new_file","w",encoding = "utf-8") as f2: 4 shutil.copyfileobj(f1,f2)
2)shutil.copyfile(src, dst)
从一个文件拷贝到另一个文件,不需要打开文件这样的操作,src,dst 是2个文件的文件名
1 shutil.copyfile("old_file","new_file3")
3)shutil.copymode(src, dst) ??
仅拷贝权限。内容、组、用户均不变
[root@whtest137 ~]# ll total 8 -rwxr-xr-x 1 root root 0 Apr 1 16:05 zhangqigao #有执行权限 -rw-r--r-- 1 whtest whtest 0 Apr 1 16:06 zhangqigao_old #没有执行权限 >>> import os,shutil >>> os.chdir("/root") #拷贝"zhangqigao_old"权限给"zhangqigao" >>> shutil.copymode("zhangqigao_old","zhangqigao") [root@whtest137 ~]# ll total 8 -rw-r--r-- 1 root root 0 Apr 1 16:05 zhangqigao # 获得跟"zhangqigao_old"一样的文件权限 -rw-r--r-- 1 whtest whtest 0 Apr 1 16:06 zhangqigao_old
4)shutil.copystat(src, dst) ??
拷贝状态的信息,包括:mode bits, atime, mtime, flags
5)shutil.copy(src, dst)
拷贝文件和权限
1 #拷贝前 2 [root@jenkins_sh temp]# ll 3 total 0 4 -rwxr-xr-x 1 jenkins jenkins 0 Apr 1 16:26 zhangqigao_old 5 #拷贝中 6 >>> import os,shutil 7 >>> os.chdir("/temp") 8 >>> shutil.copy("zhangqigao_old","zhangqigao") 9 #拷贝结果输出 10 [root@jenkins_sh temp]# ll 11 total 0 12 -rwxr-xr-x 1 root root 0 Apr 1 17:42 zhangqigao #拷贝了zhangqigao_old文件和文件权限 13 -rwxr-xr-x 1 jenkins jenkins 0 Apr 1 16:26 zhangqigao_old
6)shutil.copy2(src, dst)
功能:拷贝文件和文件的状态
1 #拷贝前 2 [root@jenkins_sh temp]# ll 3 total 0 4 -rwxr-xr-x 1 jenkins jenkins 0 Apr 1 16:26 zhangqigao_old 5 #拷贝中 6 >>> import os,shutil 7 >>> os.chdir("/temp") 8 >>> shutil.copy2("zhangqigao_old","zhangqigao") 9 #拷贝后 10 [root@jenkins_sh temp]# ll 11 total 0 12 -rwxr-xr-x 1 root root 0 Apr 1 16:26 zhangqigao #拷贝了zhangqigao_old的文件和状态 13 -rwxr-xr-x 1 jenkins jenkins 0 Apr 1 16:26 zhangqigao_old
7)shutil.copytree(src, dst, symlinks=False, ignore=None)
递归的去拷贝文件,将文件1递归拷贝到文件2
1 shutil.copytree("a","b")
8)shutil.rmtree(path[, ignore_errors[, onerror]])
递归删除文件目录,会删除空文件
1 shutil.rmtree("b")
1)shutil.make_archive(base_name, format,...)
1 shutil.make_archive("wwwwww","gztar","E:\python_3.5\second\json模块")
2)zipfile
shutil 对压缩包的处理是调用 ZipFile 和 TarFile 两个模块来进行的
功能:以zip的形式压缩文件,注意了这个只能压缩文件,不能压缩目录,如果压缩,也只能显示空目录。
压缩
import zipfile z = zipfile.ZipFile("json模块.zip","w") z.write("new_file") z.write("shutil模块.py") z.close()
解压
1 z = zipfile.ZipFile(‘json模块.zip‘, ‘r‘) 2 z.extractall() 3 z.close()
3、tarfile
1 import tarfile 2 3 # 压缩 4 tar = tarfile.open(‘your.tar‘,‘w‘) 5 tar.add(‘/Users/wupeiqi/PycharmProjects/bbs2.zip‘, arcname=‘bbs2.zip‘) 6 tar.add(‘/Users/wupeiqi/PycharmProjects/cmdb.zip‘, arcname=‘cmdb.zip‘) 7 tar.close() 8 9 # 解压 10 tar = tarfile.open(‘your.tar‘,‘r‘) 11 tar.extractall() # 可设置解压地址 12 tar.close() 13 14 tarfile 压缩解压
标签:mtime pen 文件拷贝 文件夹 3.5 对象 日志 python arm
原文地址:http://www.cnblogs.com/wengxq/p/7003599.html