# 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']