文本文件逐行打印python总是报错

Python012

文本文件逐行打印python总是报错,第1张

缩进有错误。python文件保存时使用了utf在读取时,缩进需要调节,不调节的话文本文件打印时会报错就是缩进有错误导致的。Python由荷兰数学和计算机科学研究学会的吉多范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。

a赋值为's' b赋值为'p'

在这个赋值语句中,a匹配第一个字母,剩下的用于匹配b:a赋值为's',b赋值为'pam'

在这个语句中spam ham都会赋值成对相同的字符串对象'lunch'的引用

赋值右侧可以是任何类型的序列,只要长度相等即可

在Python3.0中可以允许我们使用更为通用的扩展解包语法,在python2.x中要求赋值目标中的项数和主体的数目必须一致:否则就会报错

如果想使用通用方法就需要使用分片。

在Python3.0中一个带有单个星号的名称,可以在赋值目标中使用,以指定对于序列的一个更为通用的匹配

带星号的名称可能只匹配单个的项

X+=Y X&=Y X-=Y X|=Y

X =Y X^=Y X/=Y X>>=Y

X%=Y X<<=Y X *=Y X//=Y

增强赋值语句的有点

对于增强赋值语句,对列表是做原处修改的意思。而'+'总是生成新对象。

上述的例子中,由于'+'会生成一个新的列表对象,所以M的值并没有发生改变

犹豫增强赋值对于可变的数据类型时在原处修改值,所以使M的值发生了变化

对列表调用append、sort、reverse这类在原处修改的运算,一定是对列表做原处的修改,但这些方法在列表修改后并不会把列表返回,而是返回的None对象

print默认的把对象打印到stdout流,添加了一些格式化。

格式中sep、end、和file部分如果给出的话,必须作为关键字参数给定。必须使用一种特殊的"name = value"语法来根据名称而不是根据位置来传递参数。

在Python3.0和Python2.6中,打印都默认地发送到标准输出流。也可以发送到一个文本文件’

print只是Python的人性化的特性,它提供了sys.stdout对象的简单接口

将输出流重定向到文件后print语句直接打印内容到文件

方法一:

import csv

f = open("C:\\Users\\windows10\\Desktop\\Python练习\\文本流\\raw循环合并.csv")

csv_reader = csv.reader(f,dialect='excel') # dialect='excel'为EXCEL编码风格,否则无法读取首行

for line in csv_reader:

print(line)123456

方法二:

import csv

f = open("C:\\Users\\windows10\\Desktop\\Python练习\\文本流\\raw循环合并.csv")

csv_reader = csv.reader(f) # 分割符号,默认,根据不同情况进行设置

data= []

for line in csv_reader:

data.append([x for x in line[:len(line)]]) #[x for x in line[:len(line)]]:形成一个行列表,对每行逐个字符串,进行追加; data.append():对添加一个行列表

print(data)