pickle

error in loading pickle

谁说胖子不能爱 提交于 2021-01-24 08:42:45
问题 Not able to load a pickle file. I am using python 3.5 import pickle data=pickle.load(open("D:\\ud120-projects\\final_project\\final_project_dataset.pkl", "r")) TypeError: a bytes-like object is required, not 'str' . . Also tried: import pickle data=pickle.load(open("D:\\ud120-projects\\final_project\\final_project_dataset.pkl", "rb")) UnpicklingError: the STRING opcode argument must be quoted . . Same errors even when using with statements import pickle with open("D:\\ud120-projects\\final

TypeError: can't pickle PyCapsule objects

浪尽此生 提交于 2021-01-24 07:50:07
问题 I use dill to save ML model to file. When I run my tests with python -m unittest it works. But if I try run tests with python setup.py test it getting error TypeError: can't pickle PyCapsule objects in raw where I try to save model. My settings in setup.py for testing: test_suite='tests', tests_require=['pytest'] Error: File "/Users/anna/anaconda3/lib/python3.6/site-packages/dill/_dill.py", line 1055, in save_builtin_method pickler.save_reduce(_get_attr, (module, obj.__name__), obj=obj) File

How to save object using pygame.Surfaces to file using pickle

不想你离开。 提交于 2021-01-20 13:41:13
问题 If I have created my own class which has some attributes that are pygame.Surfaces and I would like to save this object to a file, how can I do this as an error occurs when I try. The class which I have created is an object which is essentially the following (Item class is included because the player has items which have attributes that are pygame.Surfaces): class Item: def __init__(self,name,icon): self.name = name self.icon = pygame.image.load(icon) class Player(pygame.Sprite): def __init__

How to save object using pygame.Surfaces to file using pickle

喜夏-厌秋 提交于 2021-01-20 13:40:09
问题 If I have created my own class which has some attributes that are pygame.Surfaces and I would like to save this object to a file, how can I do this as an error occurs when I try. The class which I have created is an object which is essentially the following (Item class is included because the player has items which have attributes that are pygame.Surfaces): class Item: def __init__(self,name,icon): self.name = name self.icon = pygame.image.load(icon) class Player(pygame.Sprite): def __init__

Python

不打扰是莪最后的温柔 提交于 2021-01-12 19:59:18
适用于新生和经验丰富的Python基本面试问答 1)什么是Python?使用Python有什么好处? Python是一种具有对象,模块,线程,异常和自动内存管理的编程语言。python的优点是它简单,易用,可移植,可扩展,内置数据结构,并且是开源的。 2)什么是PEP 8? PEP 8是一个编码约定,是一组建议,有关如何编写更具可读性的Python代码。 3) 什么是Pickle和pickling? Pickle模块接受任何Python对象并将其转换为字符串表示形式,并使用转储功能将其转储到文件中,此过程称为pickling。从存储的字符串表示中检索原始Python对象的过程称为解开。 4)如何解释Python? Python语言是一种解释性语言。Python程序直接从源代码运行。它将程序员编写的源代码转换为中间语言,该中间语言又被翻译为必须执行的机器语言。 5)如何在Python中管理内存? Python内存由Python专用堆空间管理。所有Python对象和数据结构都位于私有堆中。程序员无权访问此私有堆,解释器负责处理此Python私有堆。 为Python对象分配Python堆空间是由Python内存管理器完成的。核心API允许访问一些工具,以便程序员进行编码。 Python还具有一个内置的垃圾收集器,该垃圾收集器回收所有未使用的内存,并释放内存并使之可用于堆空间。 6

第八章 Python之常用模块

点点圈 提交于 2021-01-10 08:37:00
日志模块 import logging import logging # 默认级别为warning,默认打印到终端 logging.debug( ' debug ' ) # 10 logging.info( ' info ' ) # 20 logging.warning( ' warn ' ) # 30 logging.error( ' error ' ) # 40 logging.critical( ' critical ' ) # 50 可在logging.basicConfig()函数中通过具体参数来更改logging模块默认行为,可用参数有 filename:用指定的文件名创建FiledHandler(后边会具体讲解handler的概念),这样日志会被存储在指定的文件中。 filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。 format:指定handler使用的日志显示格式。 datefmt:指定日期时间格式。 level:设置rootlogger(后边会讲解具体概念)的日志级别 stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件,默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。 #

Python-标准库(常用模块)

本小妞迷上赌 提交于 2021-01-08 20:34:38
一.logging模块 logging翻译为日志记录 那问题是什么是日志? 日志实际上是日记的一种,用于记录某个时间点发生了什么事情,比如大学老师的教学日志,工作日志等 为什么要记录日志? 在实际生活中记录日志主要为了日后复查, 比如某个大学老师每天记录自己讲的什么内容,后面有学生某科成绩优异获奖了,校长想要奖励对应的老师,但由于每个老师教的班级都很多,并不一定记得是谁教的,这时候就可以查看教学日志来获取需要的信息了 再比如,工厂的生产日志,如果某个产品除了因为某个零件出现了故障,通过生成日志,可以找到与这个产品同批次的其他产品,进行返工,或是通过日志找到该零件的供应商,进行沟通解决! 程序中的日志 我们的程序开发完成后会被不同系统环境的用户下载使用,期间可能就会出现问题,直接把错误信息展示给用户看是没有任何意义的,用户看不懂也不会解决,那这时候就可以将用户执行的所有操作,以及代码运行的过程,记录到日志中,程序员通过分析日志内容,可以快速的定位问题 综上: 日志就是用来记录发生的事件的 日志并不会立即产生作用,而是当程序出现了问题时在去分析日志文件提取有用信息 什么是logging模块 logging模块是python提供的用于记录日志的模块 为什么需要logging 我们完全可以自己打开文件然后,日志写进去,但是这些操作重复且没有任何技术含量,所以python帮我们进行了封装

序列化模块,随机数模块,os模块,sys模块,hashlib模块

只愿长相守 提交于 2021-01-04 07:26:55
模块 json模块 用于多种语言交互 编程语言中的通用数据 内置的模块 不需要安装,直接导入使用 import json 导入一个json模块 dic = {'1':2} s = json.jumps(dic) 将字典对象转换成字符串 print(types) d = json.loads(s) 将字符串转换成字典 print(d) print(type(d)) json.dump({'1':4,open('a','w',encoding='utf-8')) 写入文件 d = json.load(open('a','r',encoding='utf-8')) 读文件 d['1'] = 10 修改文件 json.dump(d,open('a','w',encoding='utf-8')) 把字典d写入到文件a里 d = json.load(open('a','r',encoding='utf-8')) 读文件 print(d) import json dic = { ' k1 ' : ' v1 ' , ' k2 ' : ' v2 ' , ' k3 ' : ' v3 ' } str_dic = json.dumps(dic) # 序列化:将一个字典转换成一个字符串 print (type(str_dic),str_dic) # <class 'str'> {"k3": "v3",

模块—— 序列化模块、random模块、os模块 、 sys模块、hashlib模块、collections模块

不打扰是莪最后的温柔 提交于 2021-01-04 06:40:41
今天我们来说说Python中的模块: 第三方模块 可以下载/安装/使用 第一步:将pip. exe 所在的目录添加到环境变量中 第二步:输入pip 第三步:pip install 要安装的模块名称 #pip install xlrd 报错原因: 要求更新模块:python36 -m pip install --upgrade pip 安装成功不能导入:重启pycharm、重新安装 自定义模块   随着程序代码越写越多,不易维护,所以我们把函数分组,放在不同的文件中,这样每个文件的代码块就较少,一个.py文件就是一个自定义模块 第一种 直接import 这里有个大前提,就是你的py执行文件和模块同属于同个目录(父级目录),如下图: ​ 执行文件main. py 和 模块文件pwcong模块同在python目录 pwcong模块提供的函数写在 __init__. py 里,里面只提供一个 hi 函数: def hi(): print( "hi") 执行文件main. py直接import自定义模块 ​ import pwcong pwcong. hi() 第二种 通过sys模块导入 如果执行文件和模块不在同一个目录下,这时用import是找不到自定义模块的 import sys sys. path. append( r"C:\Users\Pwcong\Desktop\python")

Store large dictionary to file in Python

这一生的挚爱 提交于 2020-12-30 07:45:02
问题 I have a dictionary with many entries and a huge vector as values. These vectors can be 60.000 dimensions large and I have about 60.000 entries in the dictionary. To save time, I want to store this after computation. However, using a pickle led to a huge file. I have tried storing to JSON, but the file remains extremely large (like 10.5 MB on a sample of 50 entries with less dimensions). I have also read about sparse matrices. As most entries will be 0, this is a possibility. Will this reduce