Python 3.6.5读取文本文件并将每行姓名转为标准列表的方法
解决Python读取姓名文本文件转标准列表的问题
嘿,这事儿好办!针对你用Python 3.6.5读取每行一个姓名的文本文件需求,给你两个简单靠谱的方法:
方法一:用readlines()配合列表推导式
直接按行读取文件,再去掉每行末尾的换行符(和可能的多余空白):
with open('file.txt', 'r', encoding='utf-8') as file_object: # 用strip()去掉换行符和前后空白,同时过滤空行 names = [line.strip() for line in file_object.readlines() if line.strip()]
解释:readlines()会返回包含每行内容的列表,但每行末尾自带\n换行符,用strip()能把它去掉;后面的if line.strip()是可选的,用来过滤文件里的空行(如果有的话)。
方法二:用read()加splitlines()
如果你已经用read()拿到了整个字符串,直接调用splitlines()就能完美分割成不带换行符的列表:
with open('file.txt', 'r', encoding='utf-8') as file_object: content = file_object.read() # splitlines()自动按换行分割,且不保留换行符 names = content.splitlines() # 如果要过滤空行,再加一步: names = [name for name in names if name.strip()]
这个方法更直接,splitlines()会识别所有常见的换行格式(比如\n、\r\n),非常省心。
两种方法都能得到你想要的["Name 1", "Name 2", "Name 3"]格式列表,选哪个都可以~
内容的提问来源于stack exchange,提问作者Hugs
相关产品推荐
相关产品推荐

