码迷,mamicode.com
首页 > 编程语言 > 详细

Python之路(二)

时间:2016-03-27 21:00:40      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:

(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之路(二)

标签:

原文地址:http://www.cnblogs.com/red-code/p/5326164.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!