通过pickling记录、编目和移动python对象
smuggle的Python项目详细描述
说明
走私按时间顺序组织python对象的副本, 使用pickle格式,以便在 新的python会话。这允许在开发和 解决生产问题。因为对象可以从 作为一个开发环境的产品,走私对于项目来说非常方便 涉及复杂情况或非等幂过程的。
如果使用正确,它还可以减少对日志的详细要求 以及某些类型的错误消息。
用法
fromsmuggleimportSmugglerMySmuggler=Smuggler("C:\MyObjectLogFolder")aList=[1,2,3]aDict={'a':1,'b':2,'c':3}MySmuggler.smuggle(MyList=aList,MyDict=aDict,NoteToSelf="This is cool")print(MySmuggler.passphrases())
输出
有两种形式的输出密码和有效负载。
密码短语
密码短语只是自动生成的python代码,如下所示:
importpickle# NoteToSelf of type 'str' was smuggled at 21:02:06, 2015/02/01# 'This is cool'NoteToSelf=pickle.load(open(r"C:\MyObjectLogFolder\NoteToSelf-2015-02-01-21-02-06.smug","rb"))# MyList of type 'list' was smuggled at 21:02:06, 2015/02/01# [1, 2, 3]MyList=pickle.load(open(r"C:\MyObjectLogFolder\MyList-2015-02-01-21-02-06.smug","rb"))# MyDict of type 'dict' was smuggled at 21:02:06, 2015/02/01# {'a': 1, 'c': 3, 'b': 2}MyDict=pickle.load(open(r"C:\MyObjectLogFolder\MyDict-2015-02-01-21-02-06.smug","rb"))
这个输出只是一个拷贝+粘贴,而不是在一个新的 python文件。
有效载荷
有效负载是可通过目录功能访问的有组织pickle的集合。 有很多计划来扩展目录系统(比如sqlite,keyword, 时间等)。当前系统仅限于一个非常简单的文件命名约定 包括时间和日期。有效载荷只是扫描文件夹中的.smug 文件夹。这些文件,只是pickle文件。没有对文件进行其他更改 格式。
>>>MyPayload=Payload("C:\MyObjectLogFolder")>>>varlist=MyPayload.aslist()>>>varlist[{'a':1,'c':3,'b':2},[1,2,3],'This is cool']
要求
python
适用于2.6、2.7、3.3和3.4。
安装(OSX、Linux、POSIX)
最简单的安装方法是使用pip:
sudo pip install smuggle
或手动(假设系统上安装了所有必需的模块):
sudo python ./setup.py install
Windows的说明
- 开始菜单>;附件>;命令提示
- 运行以下命令:pip install smuggle
贡献
欢迎拉取请求。要测试,请使用nosetests smuggle或py.test。