第28讲 for循环与文件(迭代器解析)

for只是循环读入文件中的行,不需要判断是否为空

迭代器 iterator

*提供一种方法顺序访问一个聚合对象中的各个元素

*对象是可iterator的

-Iter-->获取对象的迭代器

-next-->获取下一个值(迭代器中的next方法)

*for可以遍历iterator_obj

-List\\string

-Tunple\\Dict\\set(无序不重复的元素集)

-File

eg1:

fr=open(‘format.txt‘,‘r‘)

for strs in fr:

strs=strs.rstrip(‘\\n‘)

print strs                   #print的逗号表示打印在同一行,没有逗号则是换行打印

print "end reading!"

说明1:

for循环可以通过迭代器不断的调用next函数,把可迭代对象的各个数据依次取出来,一直到迭代器调用next抛出异常(stopIteration),则不可继续迭代。(迭代次数即for循环的执行次数)

eg2:

s=‘www.jeapedu.com‘

si=iter(s)---->内建函数,对字符串生成一个迭代器

type(si)----->可以看到si的类型是iterator

print si.next()---->w

print si.next()---->w

print si.next()---->w

print si.next()---->.

print si.next()---->j

print si.next()---->e

print si.next()---->a

...

...

迭代列表

eg3:

Li=[1,2,3,4,5]

Li=iter(Li)

type(Li)---->可以看到Li的类型是iterator

print Li.next()----1

print Li.next()----2

print Li.next()----3

print Li.next()----4

print Li.next()----5

...

...

说明2:

文件也是有序的聚合对象的集合,把文件的 ‘\\n‘ 理解成列表中的逗号,每一行看做是一个元素,所以通过迭代器可以将文件每行取出来

eg4:

fr=open(‘a.txt‘,‘r‘)

type(fr)---->file

fi=iter(fr)

type(fi)----可以看到fi的类型是iterator

print fi.next()

print fi.next()--------------可以看到\t、\n等字符

print fi.next()

时间: 2024-08-10 21:29:58

第28讲 for循环与文件(迭代器解析)的相关文章

第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲—编写spiders爬虫文件循环抓取内容—

第三百四十一节,Python分布式爬虫打造搜索引擎Scrapy精讲-编写spiders爬虫文件循环抓取内容- 编写spiders爬虫文件循环抓取内容 Request()方法,将指定的url地址添加到下载器下载页面,两个必须参数, 参数: url='url' callback=页面处理函数 使用时需要yield Request() parse.urljoin()方法,是urllib库下的方法,是自动url拼接,如果第二个参数的url地址是相对路径会自动与第一个参数拼接 # -*- coding:

python 学习笔记day02-python循环、文件、函数、模块

循环语句 while 循环 while 循环语法结构 当需要语句不断的重复执行时,可以使用 while 循环 while expression: while_sutie 语句 while_suite 会被连续不断的循环执行,直到表达式的值变成 0 或 False         #!/usr/bin/env python         # -- coding: utf-8 --         sum100 = 0         counter = 1         while count

Python中的用for,while循环遍历文件实例

使用for循环遍历文件 打开文件 open r:以读模式打开 w:以写模式打开 a:以追加模式打开 r+:以读写模式打开 w+:以读写模式打开(参见w) a+:以读写模式打开(参见a) rb:以二进制读模式打开 wb:以二进制写模式打开(参见w) ab:以二进制追加模式打开(参见a) rb+:以二进制读写模式打开(参见r+) wb+:以二进制读写模式打开(参见w+) ab+:以二进制读写模式打开(参见a+) 查看帮助: open(...) open(name[, mode[, buffering

小何讲Linux: 基本文件操作和实例

文件操作的基本概念参见博客: 小何讲Linux: 底层文件I/O操作 1.  函数说明 open()函数:是用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数. 所谓打开文件实质上是在进程与文件之间建立起一种连接,而"文件描述符"唯一地标识着这样一个连接 close()函数:是用于关闭一个被打开的文件.当一个进程终止时,所有被它打开的文件都由内核自动关闭,很多程序都使用这一功能而不显示地关闭一个文件. read()函数:是用于将从指定的文件描述符中读出的数据

几年前做家教写的C教程(之五专讲结构体与文件操作)

C语言学习宝典(5) 结构体: 将不同类型的数据组合成为一个有机的整体,这个整体就是一个结构体. 例如: Struct student { Int name; Char sex; Float score; }: 使用方法: 类型名 成员名: 一般形式: Struct { 成员列表: }变量名表列: 结构体变量的引用: 结构体变量名.成员名 文件: FILE  *fp; Fp=fopen(文件名,文件打开方式): Fclose(文件指针) 例1  对候选人得票的统计程序,设有3个后选人,每次输入一

PHP 文件迭代器

使用了SPL的 迭代器, 可以直接对打开的文件进行foreach读取, 类的构造如下 class FileIterator implements Iterator { private $fp; private $line_num; private $line; public function __construct($filename) { $fp = @fopen($filename, 'r'); if (!$fp) { throw new Exception("file ".$fi

循环读取文件夹中的图片matlab代码

参考:http://blog.csdn.net/guoxiaojie_415/article/details/21317323:http://blog.csdn.net/qikaihuting/article/details/70244416 本篇博文仅针对于循环读取指定文件夹下的图片文件,不涉及深度和层度遍历. Function函数 function [subdirpath] = RangTraversal(strPath) maindir = strPath; //strPath是strin

使用while循环遍历文件

/* 使用while循环遍历文件*/ [[email protected] test1]# vim 17.py //add #!/usr/bin/python ll = open('/tmp/1.txt') while True: line = ll.readline() if not line: break print line, [[email protected] test1]# python 17.py abc sjdh /* 另外一种写法,(常用),省去了去把变量关闭 */ [[ema

Python-使用for循环遍历文件

open操作文件 r:    以读方式打开,默认就是这个模式 w:   以写方式打开 a:    以追加模式打开 r+:   以读写模式打开 w+:  以读写模式打开 a+:   以读写模式打开 rb:    以二进制读模式打开 wb:   以二进制写模式打开 ab:    以二进制追加模式打开 rb+   以二进制读写模式打开 wb+  以二进制读写模式打开 ab+   以二进制读写模式打开 写入文件后,一定要执行close关闭文件 fd = open('/tmp/tmp.txt','w')