所以我遇到了这样一种情况:我打开了一个 .Dat 文件并试图从中提取数字:
self.text= (open("circles.dat", "r")).readlines()
print (self.text)
输出:
['200 200 100\n', '75\t200\t15\n', ' 325\t200\t15\n', '\n', '\t200\t\t75 10\n', '200 325 10\n']
有没有一种方法我可以只提取 int 数字而不包含任何其他内容。 编辑: 不能使用 eval() 我希望输出是这样的:
[200,200,100,75,200,15,325,200,15,200,75,10,200,325,10]
请您参考如下方法:
假设您拥有所有 int 并且它们之间只有空格(例如空格或制表符),那么您可以使用 str.split() 的简单列表理解:
>>> with open("circles.dat", "r") as f:
... d = [int(a) for l in f for a in l.split()]
>>> d
[200, 200, 100, 75, 200, 15, 325, 200, 15, 200, 75, 10, 200, 325, 10]
