您的位置:首页 > 编程语言 > Python开发

wMy_Python ~储存相关~

2016-07-12 12:17 399 查看
str,int,list,tuple,dict 是类型调用之后会产生一个 实例

>>> brand=["李宁",'耐克','阿迪达斯','鱼C']
>>> slogan=['一切皆有可能','Just do it','Impossible is nothing','让编程改变世界']
>>> print("鱼C的口号是:",slogan[brand.index('鱼C')])
鱼C的口号是: 让编程改变世界


>>> dict1={"李宁":"一切皆有可能",'耐克':"Just do it",'阿迪达斯':'Impossible is nothing'}
>>> print(dict1['李宁'])
一切皆有可能
>>> print(dict1["李宁"])
一切皆有可能


>>> # dict只能传入一个参数 .
>>> dict1=dict((('F',70),['i',105]))
>>> dict1
{'F': 70, 'i': 105}


>>> # dict只能传入一个参数 .
>>> dict1=dict((('F',70),['i',105]))
>>> dict1
{'F': 70, 'i': 105}
>>> dict1['F']=10000
>>> dict1
{'F': 10000, 'i': 105}
>>> dict1["QQ"]="钱"
>>> dict1
{'F': 10000, 'i': 105, 'QQ': '钱'}


在列表中如果你是用没有的函数 会出错 , 但是在字典中 , 如果没有的话会自动创建一个 . 如上.

>>> dict1.fromkeys((1,2,3))
{1: None, 2: None, 3: None}
>>> dict1.fromkeys((1,2,3),'num')
{1: 'num', 2: 'num', 3: 'num'}


如果直接使用fromkeys 会出错的.

>>> dict1=dict1.fromkeys(range(1,9),'赞')
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
dict1=dict1.fromkeys(range(1,9),'赞')
NameError: name 'dict1' is not defined
>>> dict1={}
>>> dict1=dict1.fromkeys(range(1,9),'赞')
>>> dict1
{1: '赞', 2: '赞', 3: '赞', 4: '赞', 5: '赞', 6: '赞', 7: '赞', 8: '赞'}


>>> for i in dict1.items():
i

(1, '赞')
(2, '赞')
(3, '赞')
(4, '赞')
(5, '赞')
(6, '赞')
(7, '赞')
(8, '赞')


>>> for i in dict1.values():
i

'赞'
'赞'
'赞'
'赞'
'赞'
'赞'
'赞'
'赞'


>>> a={1:'one',2:'two'}
>>> b=a.copy()
>>> c=a
>>> id(a)
48682848
>>> id(b)
48854120
>>> id(c)
48682848
>>> # 由此可见 浅拷贝是 将内容放到另一块的储存区域中


在dict中批量添加元素.

>>> a={1:'one',2:'two'}
>>> b={3:'three',4:'four'}
>>> a=a+b
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
a=a+b
TypeError: unsupported operand type(s) for +: 'dict' and 'dict'
>>> a.update(b)
>>> a
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}
>>> b.update(a)
>>> b
{1: 'one', 2: 'two', 3: 'three', 4: 'four'}


可见字典可有集合的特性 ~'唯一'

文件的读写.

--------- ---------------------------------------------------------------
'r' open for reading (default) 以只读方式打开(默认)
'w' open for writing, truncating the file first 已写入的方式打开文件 , 会覆盖已存在文件
'x' create a new file and open it for writing  创建一个新的文件,并且打开写入 . (文件已存在会引发异常)
'a' open for writing, appending to the end of the file if it exists 以读写模式打开 , 如果文件存在则将内容添加到文件末尾.
'b' binary mode  二进制模式打开
't' text mode (default)  文本模式打开
'+' open a disk file for updating (reading and writing)   打开一个(磁盘?)文件用于读写 
'U' universal newline mode (deprecated)  
========= ===============================================================

文件对象方法



  

 写一个简单的小程序 . 给你一个txt文件内容如下

小客服:小甲鱼,今天有客户问你有没有女朋友?
小甲鱼:咦??
小客服:我跟她说你有女朋友了!
小甲鱼:。。。。。。
小客服:她让你分手后考虑下她!然后我说:"您要买个优盘,我就帮您留意下~"
小甲鱼:然后呢?
小客服:她买了两个,说发一个货就好~
小甲鱼:呃。。。。。。你真牛!
小客服:那是,谁让我是鱼C最可爱小客服嘛~
小甲鱼:下次有人想调戏你我不阻止~
小客服:滚!!!
================================================================================
小客服:小甲鱼,有个好评很好笑哈。
小甲鱼:哦?
小客服:"有了小甲鱼,以后妈妈再也不用担心我的学习了~"
小甲鱼:哈哈哈,我看到丫,我还发微博了呢~
小客服:嗯嗯,我看了你的微博丫~
小甲鱼:哟西~
小客服:那个有条回复“左手拿著小甲魚,右手拿著打火機,哪裡不會點哪裡,so easy ^_^”
小甲鱼:T_T
================================================================================
小客服:小甲鱼,今天一个会员想找你
小甲鱼:哦?什么事?
小客服:他说你一个学生月薪已经超过12k了!!
小甲鱼:哪里的?
小客服:上海的
小甲鱼:那正常,哪家公司?
小客服:他没说呀。
小甲鱼:哦
小客服:老大,为什么我工资那么低啊??是时候涨涨工资了!!
小甲鱼:啊,你说什么?我在外边呢,这里好吵吖。。。。。。
小客服:滚!!!


将该文件 分割为三部分 , 已经以"====~==="分割. 让你将每一段的每个人说的话自成一个文档 . 代码如下

def save_file(boy,gril,count):
file_name_boy='boy_'+str(count)+'.txt'
file_name_gril='gril_'+str(count)+'.txt'
boy_file=open(file_name_boy,'w')
gril_file=open(file_name_gril,'w')
boy_file.writelines(boy)
gril_file.writelines(gril)
boy_file.close()
gril_file.close()
def split_file(file_name):
boy=[]
gril=[]
count=1
f=open(file_name)     # 如果直接写文件名的话 那就默认 , 该文件和程序是在一个地方  .
for each_line in f:     # for 读写文件 是一段一段的
if each_line[0:6]!="======":    #如果 不是等号的话 .
(role,line_spoken)=each_line.split(":",1)   # 那么就开始收集 分割话语.
if role=='小甲鱼':             # 上面函数调用的意思是 , ":"以其为分隔符 , 该字符传"一"分为二
boy.append(line_spoken)
if role=='小客服':
gril.append(line_spoken)
else:
save_file(boy,gril,count)
boy=[]
gril=[]
count+=1
save_file(boy,gril,count)
f.close()
split_file("record.txt")




 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: