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:,循环读取一个文件夹

如何在 for 循环中创建键:值对列表? [复制]

while read line 与for循环的区别

oracle for循环

Bash将值附加到for循环内的列表中

python的for循环的神奇之处