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社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
随机推荐
- web2py学习之getting start环境搭建
一般如果做一个工程,可能需要ide,需要好的工具,web2py自包含了一个基于web的开发工具,但是并不算很好的编辑器 第二个可以使用的是pycharm,利用pycharm可以创建web2py的web ...
- zookeeper源码分析三LEADER与FOLLOWER同步数据流程
根据二)中的分析,如果一台zookeeper服务器成为集群中的leader,那么一定是当前所有服务器中保存数据最多的服务器,所以在这台服务器成为leader之后,首先要做的事情就是与集群中的其它服务器 ...
- jQuery插件开发--(转)
1,开始 可以通过为jQuery.fn增加一个新的函数来编写jQuery插件.属性的名字就是你的插件的名字: jQuery.fn.myPlugin = function(){ //开始写你的代码吧! ...
- DSP using MATLAB示例Example3.6
代码: n = [-5:5]; x = (-0.9).^n; % x(n) = k = -200:200; w = (pi/100)*k; % [0,pi] axis divided into 101 ...
- Minitab中相关系数R-Sq和修正R-Sq(adj)的意思,计算公式和区别[转载]
转载自:http://www.pinzhi.org/thread-7762-1-1.html Minitab中相关系数R-Sq和修正的相关系数R-Sq(adj)的意思,计算公式和区别 在Minitab ...
- chrome插件
自备FQ神器,或者在公司浏览谷歌商店.话说我们公司电脑可以打开谷歌商店. 1.Performance-Analyser(网页性能分析) 这款插件是用来分析你的网页加载性能的,包括http请求,执行期的 ...
- 学习使用MAC
Mac:指苹果笔记本.台式机.分为:MacBook Air.MacBook Pro.iMac.Mac mini和Mac Pro.有时也指苹果电脑操作系统,分:雪豹.山狮.巨浪和优山美地. iOS:指苹 ...
- BZOJ 3542 [Poi2014]Couriers ——可持久化线段树
[题目分析] 查找区间内出现次数大于一半的数字. 直接用主席树,线段树上维护区间大小,由于要求出现次数大于一半,每到一个节点可以分治下去. 时间复杂度(N+Q)logN [代码] #include & ...
- Docker中搭建Hadoop-2.6单机伪分布式集群
1 获取一个简单的Docker系统镜像,并建立一个容器. 1.1 这里我选择下载CentOS镜像 docker pull centos 1.2 通过docker tag命令将下载的CentOS镜像名称 ...
- bootstrap datetimepicker 中只显示年或者只显示月份
1.只显示datetimepicker 日历中只显示年份 $("#day-access-calendar").datepicker({ startView: 2, maxView ...