读取文本文件并拆分数字的技术实现问题
解决读取文本文件中单独数字的问题
嘿,我来帮你搞定这个问题~你原来用splitlines()得到的是按行分割的列表,所以每行的数字会被当成一个整体字符串,自然没法单独调用每个数字。下面给你两种简单有效的实现方法:
方法一:用split()分割所有空白字符
split()方法默认会把所有空白字符(包括空格、换行符、制表符等)都作为分隔符,刚好能满足你的需求,把所有数字拆成单独的元素,再转成整数就可以了:
import os # 替换成你的实际文件路径 path = "./" with open(os.path.join(path, "config.txt"), "r") as config: # 读取全部内容并分割,再转成整数列表 num_list = [int(num_str) for num_str in config.read().split()] # 现在你可以通过索引单独调用每个数字啦 print(num_list) # 输出: [11, 12, 13, 21, 22, 23] print(num_list[0]) # 输出: 11 print(num_list[4]) # 输出: 22
方法二:用正则表达式匹配所有数字
如果你想用正则的方式,补全你之前的代码就行,re.findall(r"\d+", contents)会匹配所有连续的数字字符串,之后转成整数即可:
import os import re path = "./" with open(os.path.join(path, "config.txt"), "r") as config: contents = config.read() # 匹配所有数字并转成整数列表 num_list = [int(num_str) for num_str in re.findall(r"\d+", contents)] print(num_list) # 同样得到 [11, 12, 13, 21, 22, 23]
这两种方法都能让你得到一个包含所有单独数字的整数列表,之后通过索引就能轻松调用任意一个数字啦~
内容的提问来源于stack exchange,提问作者Jack Hunt
相关产品推荐
相关产品推荐

