Python中如何将.txt文件内容存入列表?
解决将TXT文件各行内容存入列表的问题
你的示例代码里,with open代码块仅完成了行数累加,没有读取文件内容到列表的逻辑,所以datainfile始终是空列表,直接访问datainfile[0]会触发IndexError。以下是两种可行的实现方式:
方法1:一次性读取所有行到列表
适合处理小文件,代码简洁:
datainfile = [] with open("txt.txt", "r") as t: # 读取所有行到列表,每行包含末尾的换行符\n datainfile = t.readlines() # 如果要去掉换行符和首尾空白,用列表推导式处理 # datainfile = [line.strip() for line in t.readlines()] linecount = len(datainfile) # 列表长度即为文件行数 # 先判断列表非空再访问元素,避免报错 if datainfile: config1 = datainfile[0]
方法2:逐行读取并添加到列表
适合大文件,内存占用更低:
linecount = 0 datainfile = [] with open("txt.txt", "r") as t: # 逐行遍历文件对象 for line in t: # 去掉换行符后添加到列表,如需保留空格可改用line.rstrip('\n') datainfile.append(line.strip()) linecount += 1 if datainfile: config1 = datainfile[0]
注意事项
- 访问列表元素前务必判断列表是否为空,防止索引越界错误
strip()会移除行首尾的所有空白字符(换行、空格、制表符等),如果仅需移除换行符,使用line.rstrip('\n')更精准
内容的提问来源于stack exchange,提问作者user19973965
相关产品推荐
相关产品推荐

