example.py 이 스크립트는 다중 레벨 사전이있는 python 스크립트입니다.다른 파이썬 파일에있는 다중 레벨 사전을 업데이트하는 방법은 무엇입니까?
test_dict = {'path': '/home/user/user_name',
'device1': {'IP': '10.10.10.10',
'password': 'pwd1',
'username': 'user1',
'name':'USER_DEFINED'},
'device2': {'IP': '11.11.11.11',
'password': 'pwd2',
'username': 'user2',
'name':'USER_DEFINED_TEST'}
}
나는 'example.py'
에 사전 존재를 업데이트하기 위해 별도의 파이썬 스크립트를 작성했습니다. 현재, 옵션 구문 분석기를 통해 첫 번째 수준 사전 [예 : 경로 및 값]을 처리 할 수있었습니다. python example.py --key path --value /home/user/user_name
. 이제는 다단계 사전 값 업데이트를 처리하기 위해 어떻게 최적화합니까? 저 좀 도와 주 시겠어요 ?
Working :
file_abs_path = "C://Test_Folder//example.py"
module = imp.load_source('test_dict', file_abs_path)
f_dict = module.test_dict
if f_key != "":
for key, value in f_dict.items():
if key == f_key:
f_dict[f_key] = f_value
parser.add_option("-k", "--key", dest="key",default="",help="")
parser.add_option("-v", "--value", dest="value",default="",help="")
f_key = options.key
f_value = options.value
장치 1 이름 & 1 디바이스 이름을 업데이트하거나 장치 1 설정 이름이 될 수 전혀합니다. 어떻게 최적화합니까?
- 당신의
example.py
파일에서는 데이터를 읽을이 조각을 사용 'example.py'에 파일을 만들고이 파일에 씁니다. [cPickle] (https://pymotw.com/2/pickle/)과 같은 것을 보셨습니까? – martianwars
이것은 x-y 문제의 좋은 예입니다 :-). Python 파일에서 dict를 업데이트하는 방법을 궁금해 할 것입니다. 그러나 업데이트가 필요하다면 파이썬 파일에있는 것이 아니라 * data * 파일에 있어야합니다. 예를 들어 json 모듈은 사전을 다루는 데는 탁월한 반면 손으로 * 쉽게 편집 할 수있는 형식 (간단한 텍스트 편집기 사용)이 있습니다. –