python 中循环 line for line in file(filename)啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 中循环 line for line in file(filename)啥意思?相关的知识,希望对你有一定的参考价值。
原句: lines = [line for line in file (file name)]
for in 的循环结构我明白, 但是之前怎么还有个line?
line for line 是什么用?
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]
参考技术A 遍历file的每一行line,生成新的list,line for line in ...是为了对遍历的每一行做处理的,比如[line.strip() for line in file()] 这样生成的list中的每一个line都是经过了strip操作的,或者我要取每一行的前面几个字符就是 [line[:3] for line in file()],只不过你这个地方是没有做任何处理。本回答被提问者和网友采纳 参考技术B 这是个列表推导式,将for循环的结果存储到lines中。
python的for循环的神奇之处
python的for循环太神奇了:
你可以编写这样的语句:
for i in range(10) :
j= i**2
print(j)
你也可以编写这样的语句:
with open(‘/path/to/file‘,‘r‘) as f:
for line in f.readlines():
print(line.strip())
这个时候line是什么类型?.readline按什么顺序来执行?
-----这里是分隔符-------
#读word文件
import win32com
import win32com.client
def readWordFile(path):
#调用系统word功能,可以出来doc和docx两种文件
mw=win32com.client.Dispatch("Word.Application")
#打开word文件
doc=mw.Documents.Open(path)
for paragraphsin in doc.Paragraphs:#循环取出内容
line=paragraphsin.Range.text
print(line)
#关闭文件
doc.Close
#退出word
mw.Quit()
path=r"D:学习Pythonpycharm234办公软件word的读写2.docx"
readWordFile(path)#读文件
#读取word并且保存到另外文件
import win32com
import win32com.client
def readWordFile(path,toPath):
mw=win32com.client.Dispatch("Word.Application")
doc=mw.Documents.Open(path)
#将word的数据保存到另一个文件
doc.SaveAs(toPath,2)#2是txt文件
doc.Close
mw.Quit()
path=r"D:2.docx"
topath=r"D:(a).txt"
readWordFile(path,topath)#读文件
#但是以上代码在3.8+pyCharm环境下不能执行,提示找不到win32com模块,真扯。
#本页的英文字体很好看,中文就扯淡了。
#今天休息了,抽根烟睡觉,明天继续战斗。
以上是关于python 中循环 line for line in file(filename)啥意思?的主要内容,如果未能解决你的问题,请参考以下文章
python3中 for line1 in f1.readlines():,for line1 in f1:,循环读取一个文件夹