代写文件 Python学习(六)迭代,文件读写

2022-07-26 12:02:54阅读量:5209  

迭代迭代是通过for ... in ...实现的①列表>>> l=['Ryan','Rick','Morty']>>> for key in l: print keyRyanRickMorty②元组>>> t=('Ryan&#...

迭代

迭代是通过for ... in ...

实现的

①列表

>>> l=['Ryan','Rick','Morty']>>> for key in l:    print keyRyanRickMorty

②元组

>>> t=('Ryan','Rick','Morty')>>> for key in t:    print keyRyanRickMorty

③字符串

>>> for k in 'abcdefgh':    print kabcdefgh

④字典

(字典的存储顺序不是列表顺序)

迭代键:

>>> d={'name01':'Ryan','name02':'Rick','name03':'Morty'}>>> for key in d:    print keyname03name02name01

迭代值:

>>> d={'name01':'Ryan','name02':'Rick','name03':'Morty'}>>> for value in d.iteritems():    print value('name03', 'Morty')('name02', 'Rick')('name01', 'Ryan')

同时迭代键和值:

>>> for key,value in d.iteritems():    print key,valuename03 Mortyname02 Rickname01 Ryan

⑤同时迭代多个变量:

>>> for x,y,z in [('a',1,4),('b',4,8),('d',7,9),('s',5,89)]:    print x,y,za 1 4b 4 8d 7 9s 5 89

⑥使用枚举函数将列表变成索引元素对:

>>> L=[12,56,789,15,5,89,45,34]>>> for i,v in enumerate(L):    print i,v0 121 562 7893 154 55 896 457 34

⑦判断对象是否可以迭代:

>>> from collections import Iterable>>> isinstance('Ryan',Iterable)True>>> isinstance(12345,Iterable)False

文件读写

1open()函数

flie_obj =打开(文件名,模式=“ r”,缓冲=-1)

文件名是传入文件的名称

mode是一个可选参数,默认值为r,(“ r”读取,“ w”写入,“ rb”读取二进制文件,“ wb”写入二进制文件)

缓冲的默认值为-1(表示系统的默认缓存方法),它是一个可选参数(0表示不缓存,1或大于1的值表示缓存一行或指定缓冲区大小)

>>> f1=open('F:/data.txt','r')>>> print f1.read()Hello,world!>>> f1.close()

#p#分页标题#e#

>>> f2=open('F:/data.txt','w')>>> f2.write('abcdefg')>>> f2.close()

读取非ASCII文本文件时代写文件,必须以二进制模式打开它,然后对其进行解码。例如GBK编码的文件:

f=open('F:/data.txt','r')u=f.read().decode('gbk')print uf.close()

(data.txt文件中的内容为中文)

或使用编解码器模块:

import codecswith codecs.open('F:/data.txt','r','gbk') as f:    print f.read()

2readlines()函数

file_obj.readlines()

从文件中逐行读取数据,并返回列表(包括换行符);

3readline()函数

file_obj.readline()

读取文件中的第一行数据并返回一个字符串;

4seek()函数

file_obj.seek(offet,whence = 0)

在文件中移动文件指针,从whyce偏移偏移字节(0表示文件的开头,1表示当前位置,2表示文件的末尾);

该参数为可选参数,默认值为0.

5split()函数

split(self,sep = None,maxsplit = None)

split()函数:指定用于分割字符串的分隔符,参数1是指定的分隔符代写文件,参数2是分割的字符串数;

s = "40920  8.326976    0.953952    320 8.326976    0.953952"print s.split('t')print s.split('t',2)

输出:

['40920', '8.326976', '0.953952', '320', '8.326976', '0.953952']['40920', '8.326976', '0.953952t320t8.326976t0.953952']

6strip()函数

拦截所有回车

文件已关闭

使用try ... finally以确保无论是否存在错误都可以正确关闭文件。

try:    f=open('F:/data.txt','r')    print f.read()finally:    if f:        f.close()

或使用with语句:

with open('F:/data.txt','r') as f:    print f.read()

聚媒网络新闻软文发布平台专注提供软文推广、新闻稿发布、新闻发稿、软文代写、app首页推荐、海外媒体发布、微信公众号推广、媒体邀约、微博营销、微信营销、平面媒体等服务;如需了解更多相关资讯,请关注聚媒官网(http://www.xiaoyiii.com/)。如有需求请联系官网客服

最新发布

热门专题