python3文件读取,readlines()方法去除返回列表中\n

1、处理\n

测试文本如下:

python3文件读取,readlines()方法去除返回列表中\n_第1张图片

不做处理时,输出的列表会有\n,如下

path = "test.txt"
txt = open(path, "r", encoding="UTF-8")
print(txt.readlines())
txt.close()

如上代码输出的结果如下:

['123\n', '456\n', '789\n', '123']

使用strip方法可以去除,代码如下

path = "test.txt"
txt = open(path, "r", encoding="UTF-8")
txt_list = []
for line in txt.readlines():
    # txt.readlines()读取整个文件,返回数据中每一行有\n存在,需使用line.strip去掉
    # readlines()方法读取整个文件所有行,保存在一个列表(list)变量中,每行作为一个元素,但读取大文件会比较占内存
    line = line.strip()   # 去掉每行头尾空白
    txt_list.append(str(line))
print(txt_list)
txt.close()

输出结果如下:

['123', '456', '789', '123']

 

2、strip方法科普

说明:Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。

strip()方法语法:str.strip([chars])
参数:chars -- 移除字符串头尾指定的字符序列
返回值:返回移除字符串头尾指定的字符序列生成的新字符串

使用方法如下:

# strip()方法语法:str.strip([chars])
str = "*abc*"
print(str.strip("*"))
# 输出结果 abc

str = "12abc21"
print(str.strip("12"))
# 输出结果 abc

str = "\n123abc\n"
print(str.strip())
# 输出结果 123abcd
# 注:chars空时,默认删除首尾的空白符(包括'\n', '\r', '\t', ' ')

 

你可能感兴趣的:(python3,文件读取,readlines)