python 中循环 line for line in file(filename)什么意思?
代码的最后一行:f.close() 和 for 对齐。不然就变成在for循环里面执行文件关闭操作了,第一次循环过后,文件就已经关闭,下一次循环,肯定就会报错
因为这是个变量名啊,你当然随便起什么名字都可以。
python中使用lines = [line for line in file (file name)]的格式是列表推导式,这个等式是将for循环的结果存储到列表lines中。
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表,它是利用其创建新列表list的一个简单方法。列表推导式比较像for循环语句,必要时也可以加入if条件语句完善推导式。
它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if
语句。表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。
语法格式:[表达式 for 循环计数器 in 可迭代对象]
扩展资料
1、列表推导式标准格式
[Expression for Variable in list]
也就是:[ 表达式 for 变量 in 列表]
如果需要加入if条件语句则是:[表达式 for 变量 in 列表 if 条件]
2、python推导式操作方法
(1)列表推导式标准操作方法:
>>> a = [1,2,3,4,5,6,7,8,9,10]
>>> [3*x for x in a]
输出:[3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
(2)如果没有给定列表,也可以用range()方法:
>>> [3*x for x in range(1,11)]
输出:[3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
(3)加入if条件判断语句的列表推导式:
比如要取列表a中的偶数
>>> a = [1,2,3,4,5,6,7,8,9,10]
>>> [x for x in a if x % 2 == 0]
输出:[2, 4, 6, 8, 10]
遍历file的每一行line,生成新的list,line for line in ...是为了对遍历的每一行做处理的,比如
[line.strip() for line in file()] 这样生成的list中的每一个line都是经过了strip操作的,或者我要取每一行的前面几个字符就是 [line[:3] for line in file()],只不过你这个地方是没有做任何处理。
这是个列表推导式,将for循环的结果存储到lines中。
大狐学亮菌: 代码的最后一行:f.close() 和 for 对齐.不然就变成在for循环里面执行文件关闭操作了,第一次循环过后,文件就已经关闭,下一次循环,肯定就会报错
成武县18384417959: python 循环f.readlines 为什么从最后一行开始执行 - ?
大狐学亮菌: def showfile2 (filepath): startTime=datetime.datetime.now() f=file(filepath) while True: flag=True lines=f.readlines(10000) failure=0 for line in lines : if not line: flag=false break else: line=line.strip() if not line: continue print line f.close() endTime=...
成武县18384417959: python中两个for循环的问题 - ?
大狐学亮菌: 这一段效果和下面这个代码块是一样的.temp = [] for line in f: for word in line.split(): temp.append(word) print len(temp) 我不知道你是在什么地方看到这样的例子的,但你没必要再看了.把简单的东西复杂化一点也不高大上.而且这段代码也实现不了求文本中非空白字符数目的功能.line=' hello'或者'hello '或者'he llo'这三种情况都得不到正确结果.
成武县18384417959: python中 line!=是什么意思 - ?
大狐学亮菌: != 就是不等于的意思
成武县18384417959: python中f.readline() - ?
大狐学亮菌: 回车符(\r)、换行符(\n)、水平制表符(\t)、垂直制表符(\v)、换页符(\f))\v的效果的确如你程序里所显示那样. \f在有些终端下与你现在的效果不同.比如可能会清屏.如果你直接向打印口print,那么会真的换页.
成武县18384417959: Python list循环读取问题 - ?
大狐学亮菌: 我猜测,你希望I3数组保存的数据: [ ['aaa', 12], ['bbb', 56], ['ccc', 23], ['ddddd', 67], ]12345678 with open("scores.txt") as handle: I3 =[] forln inhandle: try: name, score =ln.strip().split(', ') I3.append([name, int(score)]) except: pass
成武县18384417959: 如何用python读取文本中指定行的内容 - ?
大狐学亮菌: 假如要读取文件的第 10 行 以下代码调试通过:n = 0 with open('yesterday', 'r') as f: for i in f: if n == 10: print(i) n += 1
成武县18384417959: python 的文本对比死循环怎么处理 - ?
大狐学亮菌: if len(line) == 0 and len(line2) == 0:break ==> if len(line) == 0 or len(line2) == 0:break
成武县18384417959: python 中readline 和readlines的区别 - ?
大狐学亮菌: fname='test.txt' with open(fname,'w') as wf: s='\n'.join(list('abcd')) wf.write(s) with open(fname) as f: s=f.readline() print('readline:',s) with open(fname) as f: s=f.readlines() print('lines:',s)(py27dj165) [willie@bogon py27dj165]$ python readtext.py ('readline:', 'a\n')('lines:', ['a\n', 'b\n', 'c\n', 'd'])
成武县18384417959: 用python读取文本文件,对读出的每一行进行操作,这个怎么写? - ?
大狐学亮菌: 用python读取文本文件,对读出的每一行进行操作,写法如下: f = open("test.txt", "r")while True:line = f.readline()if line:pass # do something hereline=line.strip()p=line.rfind('.')filename=line[0:p]print "create %s"%lineelse:break...