Python 如何从文本文件计算行?
只是询问是否有可能的代码或方法来计算文本文件中的整行。 例如,我有以下文本文件Python 如何从文本文件计算行?,python,Python,只是询问是否有可能的代码或方法来计算文本文件中的整行。 例如,我有以下文本文件 Force Displacement Theta 0 0 0 15 0 0 3 0.15 0 1 1 90 -3 0.15 0 我想用这个方程一行一行地计算这些数字的workOne W=力*位移*cos(θ) 我
Force Displacement Theta
0 0 0
15 0 0
3 0.15 0
1 1 90
-3 0.15 0
我想用这个方程一行一行地计算这些数字的workOne
W=力*位移*cos(θ)
我试过了
fname = input("Please enter the filename: ")
infile = open(fname, "r")
with open(fname, 'r'):
data = infile.readline()
f,D,Theta = eval(data)
display = f * D * cos(radians(Theta))
output.setText(("%,2f") % display)
我不知道我做了什么,请帮助我如果我是你,我会创建一个解析函数(
parse
),一个计算函数(work
)
还有一些问题:打开的文件应该有一个名称:,其中open(…)\u作为infle:
。。。您不必在with…
块之前打开它:
fname = input("...")
with open(fname, 'r') as infile:
infile.readline() # drop the first line
for line in infile:
f, d, t = parse(line)
print(work(f, d, t))
这或多或少会起作用。循环在哪里?你只得到文件的第一行,别担心。我只是想知道是否有一个可能的代码可以做到这一点。你的意思是:为输入文本文件的每一行计算结果?是的,这就是我从你的问题文本和上下文中想要的,我很清楚。这个问题本来可以表述得更好。。。
fname = input("...")
with open(fname, 'r') as infile:
infile.readline() # drop the first line
for line in infile:
f, d, t = parse(line)
print(work(f, d, t))