如何在Python中对TXT文件整数执行/2运算并规避ValueError
问题解决:读取多行数字文件并执行除以2运算
你的代码报错原因很明确:txt.read()会一次性读取整个文件的内容,得到的是包含所有换行符的字符串(比如'1\n2\n3\n...\n10'),直接用int()转换这种包含换行的字符串肯定会失败——它不是单个有效的整数。
下面是修正后的两种实现方式:
方式一:逐行读取并即时处理
with open("python/file/t.txt") as txt: for line in txt: # 去除每行的换行符及首尾空白,转换为整数后计算 num = int(line.strip()) print(num / 2)
方式二:先读取所有数字到列表再处理
如果需要后续复用这些数字,可以先把它们存入列表:
with open("python/file/t.txt") as txt: # 过滤空行,将有效行转换为整数列表 nums = [int(line.strip()) for line in txt if line.strip()] # 遍历列表执行运算并输出 for num in nums: print(num / 2)
另外,你原代码里在with块内定义div()函数完全没必要,直接在文件读取的上下文里处理即可,这样代码更简洁高效。
内容的提问来源于stack exchange,提问作者NUKE NOM
相关产品推荐
相关产品推荐

