如何编写从单独的python文件中的列表中读取数据的三角函数?

时间:2017-03-17 18:32:00

标签: python

我正在开发一个包含3个独立python文件的程序。我的EWGetdata.py文件,它从.txt文件中读取输入并将其放入列表列表中。然后我有一个EWtriFun.py文件,用于计算输入文件中三角形的功能。如何使用我在EWtrifun.py文件中的EWGetdata.py文件中创建的列表列表中的数据?

这是我的EWGetdata.py

def getData():
inFile = open("input5.txt", "r")

names = []
vertices = []
my_list = []
for line in inFile:
    line = line.split()

    name = line[0]
    x1 = line[1]
    y1 = line[2]
    x2 = line[3]
    y2 = line[4]
    x3 = line[5]
    y3 = line[6]

    names.append(name)
    vertices.append([[x1,y1],[x2,y2],[x3,y3]])

my_list.append(names)
my_list.append(vertices)
inFile.close()

return(my_list)
getData()

到目前为止,这是我的功能文件

import EWgetData

local_lst = EWgetData.my_list

我收到错误AttributeError:模块'EWgetData'没有属性'my_list'

1 个答案:

答案 0 :(得分:1)

修改
您在函数中定义了my_list,因此在主程序之外无法使用它 您可以创建全局列表并将函数列表返回到全局列表 或者在函数中创建全局列表并填充数据。

这是前者,例如 在EWGetdata.py

my_list_global = []
my_list_global = getData()

然后在EWtriFun.py

 import EWGetdata

local_lst = EWgetData.my_list_global

您可以在triFun.py

中导入Getdata.py作为模块

在Getdata.py中

将.txt中的数据加载到列表中以表示data_lst

在triFun.py中 导入getdata文件

import Getdata

您可以将data_lst简单地用作

local_lst = Getdata.data_lst