Форум сайта python.su
0
Подскажите возможно ли как упростить данный код, записать как то иначе, более компактно..
self.minimapRead['minimapButton'] = getattr(Keys, self.config.readString('minimapButton', ''), None) self.minimapRead['minimapEnable'] = self.config.readInt('minimapEnable') self.minimapRead['minimapRegime'] = self.config.readInt('minimapRegime') self.minimapRead['minimapMarker'] = self.config.readInt('minimapMarker') self.minimapRead['minimapPulses'] = self.config.readInt('minimapPulses') self.minimapRead['dynamicLaunch'] = self.config.readInt('dynamicLaunch') self.minimapRead['minimapNotice'] = self.config.readInt('minimapNotice') self.minimapRead['vehicleSquare'] = self.config.readInt('vehicleSquare') self.minimapRead['strategSquare'] = self.config.readInt('strategSquare') self.minimapRead['vehicleMarker'] = self.config.readInt('vehicleMarker') self.minimapRead['vehicleHeight'] = self.config.readInt('vehicleHeight') self.minimapRead['vehicleHidden'] = self.config.readInt('vehicleHidden') self.minimapRead['vehicleDetect'] = self.config.readInt('vehicleDetect') self.minimapRead['minimapMethod'] = self.config.readInt('minimapMethod') self.minimapRead['minimapLength'] = self.config.readInt('minimapLength') self.minimapRead['callmapUpdate'] = self.config.readInt('callmapUpdate') self.minimapRead['minimapRemain'] = self.config.readInt('minimapRemain') self.minimapRead['minimapSpeech'] = self.config.readString('minimapSpeech', 'RU') if self.minimapRead['minimapMarker'] == 1: self.minimapOpen['minimapMarker'] = ['player','postmortem'] if self.minimapRead['minimapMarker'] == 2: self.minimapOpen['minimapMarker'] = ['backgroundMarker'] if self.minimapRead['vehicleMarker'] == 1: self.minimapOpen['vehicleMarker'] = ('arrow') if self.minimapRead['vehicleMarker'] == 2: self.minimapOpen['vehicleMarker'] = ('eye') if self.minimapRead['vehicleMarker'] > 1: self.minimapRead['vehicleMarker'] = 1 if self.minimapRead['vehicleDetect'] == 1: self.minimapOpen['vehicleDetect'] = ('green') if self.minimapRead['vehicleDetect'] == 2: self.minimapOpen['vehicleDetect'] = ('red') if self.minimapRead['vehicleDetect'] == 3: self.minimapOpen['vehicleDetect'] = ('purple') if self.minimapRead['vehicleDetect'] > 1: self.minimapRead['vehicleDetect'] = 1 if self.minimapRead['minimapPulses'] == 1: self.minimapOpen['minimapPulses'] = ['firstEnemy'] if self.minimapRead['minimapPulses'] == 2: self.minimapOpen['minimapPulses'] = ['enemySPG'] if self.minimapRead['minimapPulses'] == 3: self.minimapOpen['minimapPulses'] = ['attack'] if self.minimapRead['minimapPulses'] == 4: self.minimapOpen['minimapPulses'] = ['attackSPG'] if self.minimapRead['minimapPulses'] == 5: self.minimapOpen['minimapPulses'] = ['attackSenderSPG'] if self.minimapRead['minimapPulses'] == 6: self.minimapOpen['minimapPulses'] = ['follow_me'] if self.minimapRead['minimapPulses'] == 7: self.minimapOpen['minimapPulses'] = ['reloading_gun'] if self.minimapRead['minimapPulses'] == 8: self.minimapOpen['minimapPulses'] = ['negative'] if self.minimapRead['minimapPulses'] == 9: self.minimapOpen['minimapPulses'] = ['positive'] if self.minimapRead['minimapPulses'] == 10: self.minimapOpen['minimapPulses'] = ['stop'] if self.minimapRead['minimapPulses'] == 11: self.minimapOpen['minimapPulses'] = ['help_me'] if self.minimapRead['minimapPulses'] == 12: self.minimapOpen['minimapPulses'] = ['help_me_ex'] if self.minimapRead['minimapPulses'] == 13: self.minimapOpen['minimapPulses'] = ['turn_back'] if self.minimapRead['minimapPulses'] > 1: self.minimapRead['minimapPulses'] = 1 if self.minimapRead['minimapNotice'] == 1: self.minimapOpen['minimapNotice'] = ('chat_shortcut_common_fx') if self.minimapRead['minimapNotice'] == 2: self.minimapOpen['minimapNotice'] = ('enemy_sighted_for_team') if self.minimapRead['minimapNotice'] == 3: self.minimapOpen['minimapNotice'] = ('gun_intuition') if self.minimapRead['minimapNotice'] == 4: self.minimapOpen['minimapNotice'] = ('sight_convergence') if self.minimapRead['minimapNotice'] == 5: self.minimapOpen['minimapNotice'] = ('gun_reloaded') if self.minimapRead['minimapNotice'] > 1: self.minimapRead['minimapNotice'] = 1
Отредактировано BossBox (Июнь 5, 2014 20:24:53)
Офлайн
253
BossBoxДа.
возможно ли как упростить данный код
Офлайн
0
doza_and
Отредактировано BossBox (Июнь 5, 2014 21:15:43)
Офлайн
75
d ={1: 'chat_shortcut_common_fx' 2: 'enemy_sighted_for_team'} self.minimapOpen['minimapNotice'] = d[self.minimapRead['minimapNotice']]
Офлайн
0
Singularity
Офлайн
253
Наибольшее упрощение будет если конфигурационный файл писать в нормальном формате типа json,yaml,pickle. Тогда загрузка будет в одну строчку.
у вас по крайней мере:
for i in 'minimapEnable minimapRegime'.split(): self.minimapRead[i] = self.config.readInt(i)
Офлайн
75
BossBoxТвои проблемы.
Что то я не вижу тут ничего упрощенного
l = ['minimapRegime', 'minimapMarker', 'minimapPulses', 'dynamicLaunch', 'minimapNotice', 'vehicleSquare', 'strategSquare', 'vehicleMarker', 'vehicleHeight', 'vehicleHidden', 'vehicleDetect', 'minimapMethod', 'minimapLength', 'callmapUpdate', 'minimapRemain'] for key in l: self.minimapRead['key'] = self.config.readInt('key')
Офлайн
0
Спасибо за вежливость в ответе.
Офлайн
75
BossBox
ну вот надо тебе minimapPulses сменить на Pulses что ты с этим будешь делать?
if self.minimapRead['minimapPulses'] == 1: self.minimapOpen['minimapPulses'] = ['firstEnemy'] if self.minimapRead['minimapPulses'] == 2: self.minimapOpen['minimapPulses'] = ['enemySPG'] if self.minimapRead['minimapPulses'] == 3: self.minimapOpen['minimapPulses'] = ['attack'] if self.minimapRead['minimapPulses'] == 4: self.minimapOpen['minimapPulses'] = ['attackSPG'] if self.minimapRead['minimapPulses'] == 5: self.minimapOpen['minimapPulses'] = ['attackSenderSPG'] if self.minimapRead['minimapPulses'] == 6: self.minimapOpen['minimapPulses'] = ['follow_me'] if self.minimapRead['minimapPulses'] == 7: self.minimapOpen['minimapPulses'] = ['reloading_gun'] if self.minimapRead['minimapPulses'] == 8: self.minimapOpen['minimapPulses'] = ['negative'] if self.minimapRead['minimapPulses'] == 9: self.minimapOpen['minimapPulses'] = ['positive']
Отредактировано Singularity (Июнь 5, 2014 21:50:12)
Офлайн
75
https://docs.python.org/2/library/configparser.html
import json config = {'key1': 'value1', 'key2': 'value2'} with open('config.json', 'w') as f: json.dump(config, f) with open('config.json', 'r') as f: config = json.load(f) config['key3'] = 'value3' with open('config.json', 'w') as f: json.dump(config, f)
Офлайн