Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/347.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从文本文件计算行?_Python - Fatal编程技术网

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))