当前位置: 首页 > 工具软件 > readline > 使用案例 >

python中readlines方法_Python中read(),readline(),readlines()使用详解

吴康平
2023-12-01

# python3.7

1.read()会读取文件的全部内容,read(size)方法,每次最多读取size个字节的内容,返回字符串.

#a.txt  第一行为abc

#a.txt  第二行为a12

代码:

f =open('a.txt', 'r')

content = f.read()

print('文件名为:', f.name)

print (content)

f.close()

结果:

文件名为: a.txt     #打印出文件的名字

abc                         #打印出第一行的内容(print (content))

a12                         #打印出第二行的内容(print (content))

Note: 因为使用read()读取每行结尾会有\n,实际输出等同于content = ‘abc\na12’.

2.readline可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回字符串.

代码:

f =open('a.txt', 'r')

content = f.readline()

print('文件名为:', f.name)

print (content)

print(len(content))

f.close()

结果:

文件名为: a.txt     #打印出文件的名字

abc           #打印第一行的内容

#换行

4               #打印content字符长度

Note: readline()方法会在每行后面加上\n,content = ‘abc\n’.

3.readlines()一次读取所有内容并按行返回列表

代码:

f =open('a.txt', 'r')

content = f.readlines()

print (content)

f.close()

结果:

['abc\n', 'a12']   #打印第一行和第2行,并把每一行当成一个字符串,第一行后面也增加\n,最后一行没有加\n

怎么去掉\n呢?

方法1:

f =open('a.txt', 'r')

content = f.readline().splitlines()

print(content)

f.close()

结果:

['abc']       #打印第一行的内容,类型为列表

Note: 使用splitlines(),将字符串‘abc\n’转换为了列表 ['abc']

方法2:

f =open('a.txt', 'r')

content = f.readlines()

content =''.join(content).strip('\n')

print(content)

f.close()

结果:

abc   # 打印第一行的内容

a12   #打印第二行的内容

Note: 返回的结果是‘abc\na12’ 字符串,只是把这个字符隔行打印出来;list中没有strip的这种属性。strip是字符串的属性,f.readlines()返回的是一个列表。所以将f.readlines()返回的列表转换成字符串就能用strip这个属性了。line = ''.join(line) 列表转换成字符串了.( line = ''.join(line) 可能不太好理解,可以简单理解为''join(x)就是把列表数据都为字符串的x列表转换为一个大的字符串.)

方法1,直接使用字符串方法:   splitlines   ,返回结果是列表 ['abc']

方法2,在使用 ''.join转换成字符串后,可以直接使用splitlines方法,返回的结果就是列表['abc', 'a12']

 类似资料: