shutil模块 + shelve模块 二合一版
其他的看我前面的博客 import shutil # 将文件内容拷贝到另一个文件
with open('old.xml','r') as read_f,open('new.xml', 'w') as write_f:
shutil.copyfileobj(read_f,write_f) # 将文件打包到当前程序所在的目录,可以在打包文件前加上需要打包到的目录,压缩包会打包到该目录。
shutil.make_archive("data_bak", 'gztar', root_dir='D:\SH_fullstack_s2\day04') import tarfile
t=tarfile.open('data_bak.tar.gz','r')
t.extractall('D:\SH_fullstack_s2\day20\dir') # 解压到指定目录
t.close()
shutil.copymode(src, dst)
# 仅拷贝权限。内容、组、用户均不变
shutil.copymode('f1.log', 'f2.log') # 目标文件必须存在 shutil.copystat(src, dst)
# 仅拷贝状态的信息,包括:mode,bits, atime, mtime, flags
shutil.copystat('f1.log', 'f2.log') # 目标文件必须存在
# 拷贝文件
shutil.copyfile('f1.log', 'f2.log') #目标文件无需存在 shelve序列化模块 shelve模块比pickle模块简单,只有一个open函数,返回类似字典的对象,可读可写;key必须为字符串,而值可以是python所支持的数据类型。
import shelve
dic1={'pwd':'alex3714','age':18,'sex':'male'}
dic2={'pwd':'alex3715','age':73,'sex':'male'}
d=shelve.open('db.txt',writeback=True) # writeback 写回
print(d) # d就是一个对象 <shelve.DbfilenameShelf object at 0x00000192FD9F0A90>
d['egon']=dic1  # 相当于序列化
d['alex']=dic2
d['egon']['age']=19  
print(d['egon'])  # 相当于反序列化  {'pwd': 'alex3714', 'age': 19, 'sex': 'male'}
d.close()
shutil模块 + shelve模块 二合一版的更多相关文章
- Python模块-shelve模块
		
shelve模块也是用来序列化的,可以持久化任何pickle可支持的python数据格式,比pickle好用,也是python专属,可以dump多次数据,也可以直接修改数据 序列化 # -*- cod ...
 - 序列化模块--json模块--pickle模块-shelve模块
		
什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传播到远程,因为硬盘或网络传输时只能接受bytes 例: 把内存数据 转成字符 # data ={# 'roles ...
 - python 之  random 模块、 shutil 模块、shelve模块、 xml模块
		
6.12 random 模块 print(random.random()) (0,1)----float 大于0且小于1之间的小数 print(random.randint(1,3)) [1,3] 大 ...
 - python 闭包,装饰器,random,os,sys,shutil,shelve,ConfigParser,hashlib模块
		
闭包 def make_arerage(): l1 = [] def average(price): l1.append(price) total = sum(l1) return total/len ...
 - Python(文件、文件夹压缩处理模块,shelve持久化模块,xml处理模块、ConfigParser文档配置模块、hashlib加密模块,subprocess系统交互模块 log模块)
		
OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目 ...
 - python模块(shelve,xml,configparser,hashlib,logging)
		
1.1shelve模块 shelve 模块比pickle模块简单,只有一个open函数,返回类似字典对象,可读可写:key必须为字符串, 而值可以是python所支持的数据类型. shelve模块主要 ...
 - logging模块、sys模块、shelve模块
		
一.logging模块 1.logging模块就是用于记录日志的,日志就是记录某个时间点,发生的事情. 2.记录日志是为了日后来复查,提取有用的信息. 3.如何去记录日志:可以直接打开文件,记录信息, ...
 - python基础--json,pickle和shelve模块
		
一.JSON &pickle 用于序列化的两个模块 json,用于字符串 和 python数据类型间进行转换 字符串必须是双引号,不能是单引号 pickle,用于python特有的类型 和 ...
 - python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib  subprocess logging re正则
		
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
 
随机推荐
- js和jquery实现回到顶层
			
js <!DOCTYPE html> <html> <head> <title>返回顶部</title> <style> bod ...
 - 大话设计模式C++实现-第19章-组合模式
			
一.UML图 关键词:Leaf是叶子,Composite是非叶子节点,Composite包括Leaf. 二.概念 组合模式(Composite):将对象组合成树形结构以表示"部分-总体&qu ...
 - OutputStream和InputStream的区别 + 实现java序列化
			
我们所说的流,都是针对内存说的,比如为什么打印到屏幕上就是System.out.println();而从屏幕等待用户输入的却是System.in呢?因为对于内存来说,把字符串打印到屏幕上是从内存流向屏 ...
 - 关于maven pom
			
1 maven pom.xml只是配置文件 构建的流程已经固化在maven中了,pom.xml只是对这个流程的配置.特别是插件,在不进行人工绑定的情况下,插件是对应固定的生命周期的,我们操作的时候是操 ...
 - (转载)synchronized代码块
			
原文:http://blog.csdn.net/luoweifu/article/details/46613015 作者:luoweifu 转载请标名出处 <编程思想之多线程与多进程(1)——以 ...
 - MySql安装与使用图文教程
			
2.下载完成后将其解压到你想要安装的路径下,例如我的解压到D:\MySql\mysql-5.7.12-winx64\路径下,刚解压完应该是下图这些文件夹:最好解压到根目录. 5.新建一个my.in ...
 - Ubuntu如何定时清理内存
			
Ubuntu如何定时清理内存 1.进入su jiqing@Ubuntu:~$ su 密码: root@Ubuntu:/home/jiqing# 2.创建cleanCache.sh #!/bin/bas ...
 - lucene DocValues——本质是为通过docID查找某field的值 看图
			
Why DocValues? The standard way that Solr builds the index is with an inverted index. This style bui ...
 - Surface pro4 触摸板手势快捷键
			
[一个手指]:这个大家都知道就不必在介绍了,跟之前win7一样,滑动就是鼠标,轻点(或者按左下方)就相当于点鼠标左键.(两个按键按起来真心手感不咋的,所以基本不用)[两个手指]:1.两个手指向上或下滑 ...
 - linux 远程杀掉进程
			
转自http://blog.csdn.net/tengdazhang770960436/article/details/53906263 第一步:获取进程号 pid=$(ssh root@$remot ...