Python - 从外部文件中读取数字

时间:2018-03-16 15:58:18

标签: python numpy

我有一个这种格式的输入文件:

 Head    
 20 20 20 !Random text
 random lines

我想将这些值读作3个不同的变量'a''b''c'并乘以a * b

我有以下代码:

import sys
import numpy as np
import fileinput

filename = 'file.txt'
#filename = sys.argv[-1]

data = np.genfromtxt(filename, skip_header=8, dtype=[('a',int),('b',int),

('c',int)])

result = a*b

但它不起作用。

2 个答案:

答案 0 :(得分:1)

你必须使用numpy吗? 否则,如果文件看起来像这样,那么这应该有用。

with open("file.txt") as file_handle:
    file_handle.readline() # skip the header
    values = file_handle.readline().split()

a = int(values[0])
b = int(values[1])

result = a * b

答案 1 :(得分:0)

以下是一行中的不同方法

import re
from functools import reduce
print(reduce(lambda x,y:x*y,[list(map(int,re.findall(r'\d+',i)))[:2] for i in open('file.txt') if re.findall(r'\d+',i)][0]))

输出:

400