赞
踩
在python读取文件的时候,经常使用read函数读取文件内容。read()、readlines()函数使用起来看起来相似,但还有很多细微差别。结合阅读代码时候的一些经验总结,对以上函数的不同进行总结。
目录
read()函数不加[size]参数时会对整个文件进行读取将内容放入一个字符串变量中,返回值是一个字符串类型str。
用for循环对read()函数返回值进行操作会逐个字符显示而不是整行显示。
- file = open(r'F:\pytorch_project\test',encoding='utf-8')
- lines = file.read()
- print(lines)
-
- ###显示字符串###
- 我爱你中国
- i love china
-
- print(type(lines)) #类型为<class 'str'>
-
- for line in lines: #逐个字符显示,不是整行显示
- print(line)
-
如果想整行输出文本,可以采用file.read().spitlines()函数,函数返回值是list,其效果与readlines()函数一样,不同之处是每行文本末尾没有换行符。
- lines = file.read().splitlines()
- print(lines) #整行显示 #每行文本末尾没有换行符
- ['我爱你中国', 'i love china']
readline()一次读入一行文本到字符串中,返回值依然是一个字符串类型str,用for循环对readline()函数返回值进行操作同样是逐个字符显示而不是整行显示。
- file = open(r'F:\pytorch_project\test',encoding='utf-8')
- lines = file.readline()
- print(lines)
- ###显示字符串###
- 我爱你中国
-
- print(type(lines)) #<class 'str'>
readlines()函数一次读入整个文件,将文件内容逐行存入到列表中,返回类型是一个列表list。用for循环对readlines()函数返回值进行操作会整行显示,但每行末尾都有一个'\n'换行符。为删除换行符可以采用strip()函数。代码举例如下。
- file = open(r'F:\pytorch_project\test',encoding='utf-8')
- lines = file.readlines()
- print(lines)
-
- ###显示字符串###
- ['我爱你中国\n', 'i love china\n']
-
- print(type(lines)) #<class 'list'>
-
-
- #删除换行符的方法是采用strip()函数
- file.seek(0) #文件读取一次后,指针指向文件尾部,需将文件指针回指到文件首部。
- lines = [line.strip() for line in file.readlines()]
- print(lines)
-
- ###显示字符串###
- ['我爱你中国', 'i love china']

file文件可以不用上面提到的函数,直接使用for循环进行整行快速读取。
- file = open(r'F:\pytorch_project\test',encoding='utf-8')
- for line in file:
- print(line)
-
- ###显示字符串###
- 我爱你中国
-
- i love china
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。