我有一个这种格式的输入文件:
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
但它不起作用。
答案 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