我正在开发一个包含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'
答案 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