对Python非常陌生,需要一些帮助。如何在类中引用成员? 我有两个csv文件。一个包含一系列零件和关联的物料ID。另一个是包含物料ID和有关该物料的一些信息的物料索引。你知道吗
我的意图是创建第三个文件,其中包含所有零件、它们的材质Id以及材质索引中存在的信息。你知道吗
我已经为材质索引创建了一个类,并尝试使用零件文件中的材质ID访问该类中的对象,但是,这不起作用,我不确定原因。感谢您的帮助:
class material():
def __init__(self, name, ftu, e, nu):
self.name = name
self.ftu = ftu
self.e = e
self.nu = nu
def extract_FTU_Strain(input_file_parts,input_file_FTU,output_file):
parts = {}
materials = {}
for aline in open(input_file_FTU, 'r'):
comma_split = aline.strip().split(',')
name = comma_split[1]
ftu = comma_split[8]
e = comma_split[9]
nu = comma_split[7]
try:
materials[int(comma_split[0])] = material(comma_split[1],comma_split[8],comma_split[9],comma_split[7])
#materials[comma_split[0]] = material(comma_split[1],comma_split[8],comma_split[9],comma_split[7])
except:
pass
for i in open(input_file_parts, 'r'):
semicolon_split = i.strip().split(';')
material_id = semicolon_split[3]
part = semicolon_split[0]
part_id = semicolon_split[1]
material_name = materials[material_id].name
FTU = materials[material_id].ftu
Stress = materials[material_id].e
output.write(','.join([part,part_id,material_name,material_id,FTU,Stress]) + '\n')
output = open (output_file,'w')
output.write('Part Title, Part Id, Material Id, FTU, e' + '\n')
output.close()
import sys
input_file_parts = '/parttable.csv'
input_file_FTU = '/Material_Index.csv'
output_file = '/PYTHONTESTING123.csv'
extract_FTU_Strain(input_file_parts,input_file_FTU,output_file)
我可能误解了你的问题,但是“我如何在类中引用成员?”您可以这样引用成员变量:
因此在类中可以使用
self.someVariable
引用成员变量。你知道吗如果要在类外访问它们:
如果我还没有完全理解你的问题,或者你有一个特定的错误,我会很高兴地编辑答案。你知道吗
我不明白你有什么错误,你能回溯一下吗?无论如何,在赋值时您正在创建一个类实例。对于更优雅的编程,您可以简单地执行以下操作:
m = materials(name, ftu, e, nu)
通过这种方式,您可以访问如下实例变量:
试一下,除了->;传球很危险
因为您在注释中说您的错误在
materials[material_id]
中,所以请将material_id
设置为整数,就像您创建对象时的整数一样。你知道吗你是这样创造的
materials[int(comma_split[0])]=...
但后来调用它时没有将
material_id
转换为int。在for循环中调用它以写入输出之前,请执行此操作。你知道吗相关问题 更多 >
编程相关推荐