파이썬 readline() 질문입니다.

조회수 643회
while True:

           Bus_Data = f.readline()
           Bus_line = Bus_Data.split(',')
           Bus_Dict = {}

           if len(Bus_line) == 2 :
               break
           print(Bus_line)

저기 모이는 값 하나하나에 대한 변수를 편하게 얻고자 while문을 썼습니다. 여기서 문제는 한줄 한줄 다른 변수(Bus_line 하나가 아닌 반복할때 마다 Bus_line1 , Bus_line2 이런식으로 각줄마다 각기다른 리스트)로 표현하고 싶습니다. 어떻게 해야 할까요?

이미지

1 답변

  • 질문자와 같은 요구사항을 충족하려면 즉 변수명을 동적으로 생성하려면 리플렉션을 이용해서 처리를 해야 합니다.

    그런데 질문자의 코드에서는 리플렉션이 좋은 솔루션이 되지 못합니다.

    질문상의 코드가 일부밖에 없어서 구체적으로 답변을 적기는 어렵지만 데이터 양이 적다면 아래와 같이 list 로 다 받아서 사용하는 편이 낫습니다.

    
    with open("file.txt") as f:
        Bus_Data_list = [Bus_Data.split(',') for Bus_Data in f]
    
    Bus_Data_list[0] # 첫번째
    Bus_Data_list[1] # 두번째
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)