Python之路(二)
(1)python的内置函数(BIF)
python3中内置了70多个BIF,常用的几个有:
list():创建一个新的空列表。
range():输入次数参数,返回一个迭代固定次数的迭代器。
enumerate():创建成对数据的一个“编号列表”,从0开始。
int():讲一个字符串或另一个数转换成一个整数。
id():返回一个python数据对象的唯一标识。
next():返回一个可迭代数据结构(如列表)中的下一项。
(2)文件操作:
1、打开文件:
obj_file = open("demo.txt","w")
一般打开文件模式为“r”(读的方式),如果你需要写入内容,则使用模式“w”。open函数会返回一个该文件对象。
2、写入文件:
print("需写入文件的内容",file=obj_file)"""file参数用来指定写入哪一个文件对象中(如果没有这个file参数,print函数的作用就是将字符串打印出来)"""
3、关闭文件:
obj_file.close()"""打开的文件一定要关闭!"""
(3)使用finally扩展try:
在某些时候python的异常处理会破坏你的数据,比如在处理文件的时候,如果你将“关闭文件”的代码写入try里面,一旦close函数前面出现问题,那try代码块会直接抛出异常,从而跳过关闭文件的代码。这就会导致你的文件没有关闭,你的数据就有可能会被破坏。解决办法就是使用finally扩展try,将关闭文件的代码写在try外面,如:
try:
demo_file = open('demo.txt','w')
print("demo word",file=demo_file)
except IOError:
print('写入文件失败')
finally:
demo_file.close()
这样做,无论发生什么情况,finally中的代码都会被执行。
(4)with语句:
使用了with语句后你就不用管何时来关闭文件了,它能自动妥善的关闭一个可能打开的文件。如:
try:
with open('demo.txt',"w") as data:
print('word_data',file=data)
except IOError as err:
print('写入文件失败')
(5)isinstance函数:
它用来检查某个特定标识符是否包含某个特定类型的数据,如:
demo_list = [123,456] isinstance(demo_list,list) """检查demo_list中是否存在list类型的数据,此时当然是“true”""" demo_int = 1 isinstance(demo_int,list) """这回当然就是false了"""
(6)pickle库
pickle库的作用好比说是将数据转化成一个“通用的格式”存储在磁盘上、放在数据库里、或通过网络传输到另一个计算机里。而当我需要用到这个数据时,我可以翻过来将其变成“原来的格式”。
使用pickle:先导入pickle模块,使用dump()保存数据,以后使用时用load()恢复数据。(注:必须使用“二进制访问模式”打开这些数据),例子如下:
import pickle """导入pickle模块"""
···
list = [1,2,3,'demo'] """这是我们需要储存的数据"""
with open('demo.txt','wb') as demo_file: """wb中的“b”表示已二进制打开"""
pickle.dump(list,demo_file) """将数据dump进demo.txt文件中"""
···
"""当我们需要使用上面储存的数据时"""
with open('demo.txt','rb') as demo_file:
a_list = pickle.load(demo_file) """将demo.txt中的文件提出来"""
print(a_list) """打印出来的内容和list是一样的"""
关于pickle.dump()的语法:
pickle.dump(对象, 文件,[使用协议])
将要持久化的数据“对象”,保存到“文件”中,使用协议有3种,索引0为ASCII,1是旧式2进制,2是新式2进制协议,不同之处在于后者更高效一些。
Python之路(二)的更多相关文章
- python之路二十
一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异步通讯的所有功能.也就是说什么情况下我们都可以通过此方法进行异步刷新的操作.但是它的参数较多,有的时候可能会麻 ...
- python之路二十一
URL - 两个 Views - 请求的其他信息 from django.core.handlers.wsgi import WSGIRequest ...
- python之路二
.pyc是个什么鬼? 1. Python是一门解释型语言? 我初学Python时,听到的关于Python的第一句话就是,Python是一门解释性语言,我就这样一直相信下去,直到发现了*.pyc文件的存 ...
- python之路(二)-collections系列
collections提供了一些比较方便的方法,使用时需要先导入模块 导入模块: import collections 1. 计数器Counter 统计参数中出现的次数,以字典的方式返回结果,参数可以 ...
- 2017年12月14日 一个Java开发的Python之路----------------(二)
说一个收获最大的,就是这个关闭流对象 之前写java读取文件的时候,最后往往要关闭流对象,以前我一直不明白,为什么,我不使用.close()方法,文件也可以读取成功,总感觉没有什么意义 原来是因为,这 ...
- Python之路系列笔记
备注:本套笔记内容来源于互联网,只做学习使用,如有侵权请联系本笔记作者. 资料内容 Python之路(一)——Python 初识 Python之路(二)——基础语法 Python之路(三)——函数 P ...
- Python之路【第十二篇】:JavaScrpt -暂无内容-待更新
Python之路[第十二篇]:JavaScrpt -暂无内容-待更新
- Python之路第一课Day9--随堂笔记之二(进程、线程、协程篇)
本节内容 进程.与线程区别 python GIL全局解释器锁 线程 语法 join 线程锁之Lock\Rlock\信号量 将线程变为守护进程 Event事件 queue队列 生产者消费者模型 Queu ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
随机推荐
- Jquery获取select,dropdownlist,checkbox下拉列表框的值
jQuery获取 Select选择的Text和Value: 语法解释: 1. $("#select_id").change(function(){//code...}); ...
- POJ 1947 Rebuilding Roads 树形DP
Rebuilding Roads Description The cows have reconstructed Farmer John's farm, with its N barns (1 & ...
- 记一次小团队Git实践(中)
对于初学者,从使用上先入手,往往学的最快,并从中汲取教训,再回头更深入的学习,效果尤佳. 安装git 安装git自不必说,mac已经内置了git,linux下一个命令就能搞定,windows下需要下载 ...
- SpringMVC解析4-DispatcherServlet逻辑脉络
HttpServlet提供了不同的服务方法,它们是doDelete(),doGet(),doOptions(),doPost(),doPut(),和doTrace(),它会根据不同的请求形式将程序引导 ...
- ios开发学习笔记(这里一定有你想要的东西,全部免费)
1,Search Bar 怎样去掉背景的颜色(storyboard里只能设置background颜色,可是发现clear Color无法使用). 其实在代码里还是可以设置的,那就是删除背景view [ ...
- sql 循环某段时间的每一天
create table #t1( 日期 datetime) declare @stime datetime;declare @etime datetime set @stime ='2015-01- ...
- Trie + DP LA 3942 Remember the Word
题目传送门 题意:(训练指南P209) 问长字符串S能由短单词组成的方案数有多少个 分析:书上的做法.递推法,从后往前,保存后缀S[i, len-1]的方案数,那么dp[i] = sum (dp[i+ ...
- iris数据集
iris以鸢尾花的特征作为数据来源,数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性,是在数据挖掘.数据分类中非常常用的测试集.训练集. 链接地址
- js库写法
前言: 现在javascript库特别多,其写法各式各样,总结几种我们经常见到的,作为自己知识的积累.而目前版本的 JavaScript 并未提供一种原生的.语言级别的模块化组织模式,而是将模块化的方 ...
- BZOJ4435 : [Cerc2015]Juice Junctions
最大流=最小割,而因为本题点的度数不超过3,所以最小割不超过3,EK算法的复杂度为$O(n+m)$. 通过分治求出最小割树,设$f[i][j][k]$表示最小割为$i$时,$j$点在第$k$次分治过程 ...