python多进程存储数据丢失的存储器是_python查漏补缺 --- 模块、文件、异常
有些知识学着学着就忘了,有些博客看着看着就想留言了,本片博客仅代表作者本人的观点,如有错误及疑问,欢迎提出宝贵的意见!
1、方法定义好之后,如,def test(x) : ,此时将方法名赋值给一个新的变量,那么该变量等同于方法,可以具备test方法内部的全部功能
2、导包的时候,可以使用as关键字在不同的名称下导入模块或对象,这主要是在模块或对象具有冗长或混淆的名称时使用
3、python中主要有三种模块
a.自定义的类和方法
b.外部源安装的(第三方)
c.python预安装的(也称作标准库,python具有广泛的标准库是它作为语言的主要优点之一,这些标准库有些是python写的,有些是C语言写的,多数都可以在所有平台上使用)
4、许多第三方python模块存储在python包索引上(PyPi)。好的安装方法是使用pip安装管理工具,默认情况下,它是用python的现代化发行版安装的。
5、Python常用库
爬虫:Scrapy(举世闻名,分布式爬虫框架,不仅仅是简单的库)、beautifulsoup4、urllib、urllib2、selenium等。
机器学习:scikit-learn(灰常牛逼的一个库,几乎所有机器学习算法都囊括了应该),NLTK(自然语言处理工具包 )等(用一个等的原因是,说起来除了scikit-learn,我还真不知道还有啥,hhh)。
网站:Django(重量级网页框架)、Flask(轻量级网页框架)等。
数据处理科学计算:Numpy(数组矩阵神器)、Scipy(科学计算神器)、Pandas(熊猫包,R语言玩家转Python的最爱)等。
可视化:matplotlib(matlab风格式的包)、seaborn(散点图矩阵神器)、ggplot(R语言可视化神器的Python版本)、plotly(这个神器是个js库,不过也有各种流行的语言接口)等。
地学相关:basemap(画地图的库)、cartopy(画地图的库)、Folium(leaflet的Python版本 )、GDAL(开源GIS库)、geocoder(地理编码神器)、geopandas(地理数据的熊猫包)、geopy(还没玩过)、PySAL(空间计量经济学的一个神包)等(跟地学相关的包实在太多,后面有空的话,考虑会重点介绍几个包)。
6、Conda和pip不是竞争对手,而是侧重于不同用户组和使用模式的工具。Conda是一个通用的包管理器,当初设计来管理任何语言的包。所以用来管理python包当然也是绰绰有余,Conda 和 pip 目标并不相同, 只有小部分子集有交集有竞争关系:比如python包的安装和环境隔离。pip可以允许你在任何环境中安装python包,而conda允许你在conda环境中安装任何语言包(包括c语言或者python)。
7、python中常见的几个异常信息:
ImportError:导入失败
IndexError:一个列表用一个超出范围的数字索引
NameError:使用未知变量
SyTraceError:无法正常解析代码
TypeError:在不适当类型的值上调用函数
ValueError:值报错
8、try...except...finally
finally语句中的代码,即使在前面一个块中为发生异常时也会运行
9、文件IO
open函数的参数是文件的路径,如果文件在程序的当前工作目录中,则只能指定其名称
函数可以通过第二个参数指定用于打开文件的模式(第二个参数详见文章末尾):
1 open( 'filename.txt' , 'r' ) #只读模式,也是默认模式
2 open( 'filename.txt' , 'w' ) #只写模式,用于重写文件的内容,如果文件不存在,会创建
3 open( 'filename.txt' , 'a' ) #追加模式,将新内容添加到文件的末尾
4 open( 'filename.txt' , 'wb' ) #以二进制的形式写入文件,用于非文本文件(如图像和声音文件)
10、在读取文件中的所有内容之后,任何试图从该文件中读取的内容都会返回一个空字符串,因为您正在尝试从文件中的末尾读取:
1 file = open( "filename.txt" , "r")2 file.read()3 print("first-reading")4 print(file.read())5 print("finished")6 file.close()7
8
9 结果:10 first-reading11
12 finished
细心的小伙伴都会发现,这里存在两个file.read(),第一个读取,但是没有打印,第二个读取,才打印出来,根据读取的机制而言,第二次是在第一次读取的基础上继续读取的,第一次读取了全部的内容,Python把内容读到内存,那么第二次读取到的内容只能是空,所以打印出一个空的字符串。
11、当使用文件后,总是用close关闭是一种好的习惯,文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的,所以通常会和 try and finally 结合使用,确保文件始终关闭,即使发生错误。
1 try:2 f = open("filename.txt")3 print(f.read ( ) )4 finally:5 f.close()
12、每次都这么写实在太繁琐,所以,Python引入了with语句来自动帮我们调用close()方法:
with open("filename.txt") as f: print(f.read())
这和前面的try ... finally是一样的,但是代码更佳简洁,并且不必调用f.close()方法。
13、调用read()会一次性读取文件的全部内容,如果文件有20G,内存就爆了,所以,要保险起见,可以反复调用read(size)方法,每次最多读取size个字节的内容。另外,调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。因此,要根据需要决定怎么调用。如果文件很小,read()一次性读取最方便;如果不能确定文件大小,反复调用read(size)比较保险;如果是配置文件,调用readlines()最方便:
for line inf.readlines():print(line.strip()) #把末尾的'\n'删掉
14、可以反复调用write()来写入文件,但是务必要调用f.close()来关闭文件。当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,空闲的时候再慢慢写入。只有调用close()方法时,操作系统才保证把没有写入的数据全部写入磁盘。忘记调用close()的后果是数据可能只写了一部分到磁盘,剩下的丢失了。所以,还是用with语句来得保险:
with open('E:\python\python\test.txt', 'w') as f:
f.write('Hello, python!')
15、要写入特定编码的文本文件,请给open()函数传入encoding参数,将字符串自动转换成指定编码
要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数,例如,读取GBK编码的文件:
f = open('E:\python\python\gbk.txt', 'r', encoding='gbk')
f.read()
16、遇到有些编码不规范的文件,你可能会遇到UnicodeDecodeError,因为在文本文件中可能夹杂了一些非法编码的字符。遇到这种情况,open()函数还接收一个errors参数,表示如果遇到编码错误后如何处理。最简单的方式是直接忽略:
f = open('E:\python\python\gbk.txt', 'r', encoding='gbk', errors='ignore')
17、总结:以后读写文件尽量使用with open语句,少使用f = open()语句
18、对于多个文件的读写,可以写成以下两种方式:
# 第一种方式
with open('C:\Desktop\text.txt','r') as f:
with open('C:\Desktop\text1.txt','r') as f1:
with open('C:\Desktop\text2.txt','r') as f2
........
........
.......
with open(''C:\Desktop\text.txt','r') as f:
........
with open(''C:\Desktop\text1.txt','r') as f1:
........
with open('C:\Desktop\text2.txt','r') as f2:
19、file属性:
20、附录
部分文字摘录:https://blog.csdn.net/ESA_DSQ/article/details/78663130
python多进程存储数据丢失的存储器是_python查漏补缺 --- 模块、文件、异常相关推荐
- python多进程存储数据_Python 多进程及进程间通信
python 因 GIL 的存在,处理计算密集型的任务时无法高效利用多核 CPU 的计算资源,这时就需要使用多进程来提高对 CPU 的资源利用.Python 多进程主要用 multiprocessin ...
- 你真的认为自己熟练Python?带你一篇文章 查漏补缺,感受自己离深入掌握 Python 还有多远。
1. 模块化编程思想 模块化编程是 Python 的基本思想.初学 Python,都应该使用过小海龟.随机.数学模块.使用模块之前,需要导入模块,然后根据自己的问题需要使用这些模块. Python 提 ...
- python存储数据丢失的存储器是_数据缺失值的4种处理方法
一.缺失值产生的原因 缺失值的产生的原因多种多样,主要分为机械原因和人为原因.机械原因是由于机械原因导致的数据收集或保存的失败造成的数据缺失,比如数据存储的失败,存储器损坏,机械故障导致某段时间数据未 ...
- python多进程存储数据_python – 多进程还是多线程? – 并行化数百万次迭代的简单计算并将结果存储在单个数据结构中...
第一个选项 – 服务器进程 创建服务器进程.它是Multiprocessing包的一部分,允许并行访问数据结构.这样,每个进程都将直接访问数据结构,锁定其他进程. Server process A m ...
- python多进程存储数据_[b0035] python 归纳 (二十)_多进程数据共享和同步_共享内存Value Array...
1. Code #-*- coding: utf-8 -*- """多进程 数据共享 共享变量 Value,Array 逻辑: 2个进程,对同一份数据,一个做加法,一个做 ...
- python 解压js压缩的图片_Python解压各种压缩文件总结
工作中经常遇到需要解压各种压缩包的接口需求,包括.tar..tar.gz..zip..rar包,为了避免每次都得重新谷歌,试错调错,我将各种解压的python代码整理出来,下次可以直接拿过来用,建议小 ...
- python 引用文件中的类 报错_Python学习笔记7 头文件的添加规则(转载)
转载自:https://www.cnblogs.com/taurusfy/p/7605787.html ************************************************ ...
- python两个表格相同数据筛选_python筛选出两个文件中重复行的方法
{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...
- python合并两个列表并去重_python合并多个txt文件
python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...
最新文章
- (牛客腾讯思维编程题)编码编码分组打印下标题目分析
- 怎样解决WampServer #1405 - Access denied for user #39;root#39;@#39;localhost#39; (using password: NO...
- 程序员面试系列——选择排序
- Kubernetes 无法删除pod实例的排查过程
- reached getOption(max.print) -- omitted 428 rows ]
- 固定资产打开提示:上年度数据未结转!
- 英语作文计算机主板,(完整版)电脑主板bios英文版的中英文对照翻译.pdf
- iOS12系统图片heic如何在电脑上查看
- linux shell 版本信息,查看各种Linux系统版本信息的Shell命令
- 计算机信息工程专业985,信息工程学院
- 如何使用 Lucene 做网站高亮搜索功能?
- 端午节海报|端午节海报设计素材图片大全
- 日本互联网 20 年沧桑路
- 如何去除Excel图表网格线?
- Python之函数的返回值
- jd-gui中文乱码解决方案
- 联想dns服务器错误怎么修复,dns错误怎么办,教您dns错误怎么解决
- Google的图片处理库和条码处理库、汉字转拼音库
- 文本框导入图片并显示到页面上
- 含泪整理最优质美食壁纸素材,你想要的这里都有