.txt 파일에서 텍스트를 읽으며 클래스 인스턴스의 변수로 읽은 데이터 중 하나를 사용해야합니다.Python 3 : 문자열을 변수로 변환
class Sports:
def __init__(self,players=0,location='',name=''):
self.players = players
self.location = location
self.name = name
def __str__(self):
return str(self.name) + "is played with " + str(self.players) + " players per team on a/an " + self.location + "."
def makeList(filename):
"""
filename -- string
"""
sportsList = []
myInputFile = open(filename,'r')
for line in myInputFile:
record = myInputFile.readline()
datalist = record.split()
sportsList.append(datalist[0])
datalist[0] = Sports(int(datalist[1]),datalist[2],datalist[3])
myInputFile.close()
print(football.players)
makeList('num7.txt')
나는 변환 할 필요가 DataList에 [0], 변수 이름 문자열 (기본적으로 따옴표없이) 그래서 그 이름의 인스턴스를 생성하는 데 사용할 수있다.
이것이 당신을 어떻게 생각하십니까? 나중에 인스턴스를 참조하려면 hacky dereferencing을 도입해야하거나 어쨌든 사전처럼 작동하도록 인스턴스를 일부 구조에 저장해야합니다. 그리고 그 경우 왜 "이름"을 키로 사용하는 사전을 사용하지 않는 것이 좋을까요? – DSM
또 다른 문제는 이미 사용중인 라인이있을 때 readline()을 호출하는 것입니다. 이로 인해 레코드를 건너 뜁니다. – Keith
위험한 것 - 동적 변수 이름. 왜 그냥 사전을 쓰지 않는거야? – volcano