从txt文件读取内容并正确赋值给变量的实现方法
实现方案
你可以通过预处理读取的行内容+索引指针遍历的方式实现按规则赋值,逻辑和你原有的交互式输入完全对齐,不需要修改原有业务处理逻辑。
纯数据文件处理(无备注)
如果你的test.txt内只有纯测试数据,格式如下:
2 3 111 6 100100
对应的处理代码:
with open('test.txt') as file: # 预处理:去除每行首尾空白、换行符,过滤空行 lines = [line.strip() for line in file.readlines() if line.strip()] # 定义读取指针,初始指向第0位 ptr = 0 test_cases = int(lines[ptr]) ptr += 1 for i in range(test_cases): house_number = int(lines[ptr]) ptr += 1 house_string = lines[ptr] ptr += 1 # 直接调用原有业务函数即可 some_function(house_number, house_string)
带备注文件处理
如果你的test.txt保留了示例里的括号备注,只需要修改预处理逻辑,取每行第一个空格前的内容作为有效值即可:
with open('test.txt') as file: # 预处理:取每行第一个空格前的内容,过滤空行 lines = [line.strip().split()[0] for line in file.readlines() if line.strip()] # 后续遍历逻辑和纯数据场景完全一致 ptr = 0 test_cases = int(lines[ptr]) ptr += 1 for i in range(test_cases): house_number = int(lines[ptr]) ptr += 1 house_string = lines[ptr] ptr += 1 some_function(house_number, house_string)
注意事项
- 请保证
test.txt内的内容格式和你定义的输入规则一致,否则会出现索引越界、类型转换失败等报错 - 如果你的二进制字符串可能存在前后空格,可根据实际需求调整
strip()的使用逻辑,避免误删有效内容
内容的提问来源于stack exchange,提问作者Qaimaq
相关产品推荐
相关产品推荐

