如何读取TXT文件内容并将其转换为单个字符组成的列表数组
问题原因
你当前代码使用的splitlines()方法是按换行符分割文本,返回的结果是每行完整字符串组成的列表,无法实现单字符拆分。Python中的字符串本身是可迭代对象,直接用list()方法包裹字符串即可自动拆分为单个字符组成的列表。
实现代码
方案1:提取全局单字符列表(忽略换行符)
适用于不需要保留换行符,要把整个文件所有字符汇总为一个单字符列表的场景:
def text_check(filename): # 使用with上下文管理器自动管理文件资源,无需手动关闭文件 with open(filename, "r", encoding="utf-8") as f: content = f.read() # 不需要移除换行符的话,直接写list(content)即可 char_list = list(content.replace("\n", "")) print(char_list) text_check("demo_text.txt")
方案2:按行拆分单字符(返回嵌套列表)
适用于需要逐行处理、每行单独拆分为单字符列表的场景:
def text_check(filename): with open(filename, "r", encoding="utf-8") as f: char_list = [list(line.rstrip("\n")) for line in f] print(char_list) text_check("demo_text.txt")
注意事项
如果你的TXT文件使用非UTF-8编码(比如GBK),可以调整open方法的encoding参数适配对应编码。
内容的提问来源于stack exchange,提问作者nosebig
相关产品推荐
相关产品推荐

