2013-01-09 3 views
1

저는 현재 파일에서 값을 읽고이를 매개 변수 및 값으로 분할하고 있습니다. 예 : @ id = 7은 param = @id, value = 7이됩니다. param 변수를 사전의 새 키로 사용하고 싶습니다. 그러나 예상대로 작동하지 않습니다. 다음 코드를 사용하고 있습니다. 이 코드변수를 사용하여 사전에 동적으로 새 항목 추가

list1 = {} 

with open('C:/Temp/file1.txt') as f: 
    lines = f.read().splitlines() 

for line in lines: 
    middle = line.find("=") 
    param = line[:middle] 
    value = line[middle+1:] 
    list1[param] = value 

는 사전 키 값이 미리 제 감사된다.

+0

나는 당신이 딕트를 사용하지 않는다고 생각합니다. –

+0

param을 출력하지 않고 list1 [param]을 출력합니다. –

+0

왜 print ("param ="+ param + ", value ="+ value ")를 사용하지 않을까요 ?? –

답변

2

당신은 DICT list1 = {}로 목록 1 정의하는 경우 인쇄 문이 올바르지 않습니다.

print("param = " + list1[param] + ", value = " + value) 
모두 list1[param]

value는 내용을 그리고하지가 열쇠의 당신에게 가치를 줄 것이다 7 list1[param] 이후가 될 것입니다.

나중에 사전을보고 인쇄 해보십시오.

print(list1) 
3

사전 (d은 멋진 이름)을 정의해야합니다. 당신은이 방법을 수행 할 수 있습니다

with open('C:/Temp/file1.txt') as f:# 
    d = dict(line.strip().split('=', 1) for line in f) 

for k,v in d.iteritems(): 
    print("param = {0}, value = {1}".format(k,v)) 
0

나는 이것이 당신이 요구 아닙니까 무엇 이었습니까 알지만, ConfigParser보고 제안합니다. 이것은 구성 파일을 사용하는 표준 방법입니다.