Как переформатировать блок кода Python?
Я пытаюсь переписать следующую функцию set_pattern, чтобы она соответствовала функциям set_clock и set_voltage, где идентификатор разбивается на канал и имя. Функция .get запрашивает инструмент и возвращает строковые данные, в то время как функция .send отправляет инструменту строковое сообщение.
def set_clock(self, channel, frequency=None): if frequency is None: return float(self.get("FREQ? \'M{channel:d}.ClkGen\'".format(channel=int(channel)))) else: self.send("FREQ \'M{channel:d}.ClkGen\', {frequency:E}Hz".format(channel=int(channel), frequency=frequency)) def set_pattern(self, identifier, pattern): my_instrument.write(':DATA:SEQ:VAL? ' + identifier) curr_sequence = my_instrument.read() print(curr_sequence) # determine the current PRBS pattern which is loaded curr_prbs_list = curr_sequence.split("<prbs polynomial=") curr_prbs = curr_prbs_list[1].split("/>") print('Current PRBS: ' + curr_prbs[0]) print('Debug: ' + '<prbs polynomial=' + curr_prbs[0] + '/>') # define new sequence replacing current PRBS w/ new PRBS new_sequence = string.replace(curr_sequence, '<prbs polynomial=' + curr_prbs[0] + '/>', '<prbs polynomial="' + pattern + '" />') print(new_sequence) seq_length = str(len(new_sequence)) my_instrument.write(':DATA:SEQ:VAL ' + identifier + ',#3' + seq_length + new_sequence) my_instrument.write('*OPC?') complete = my_instrument.read() def set_voltage(self, channel, name, voltage=None): # [:SOUR]:VOLT[:AMPL] - ‘identifier’, <nrf> # [:SOUR]:VOLT:OFFS - ‘identifier’, <nrf> if voltage is None: return float(self.get("SOUR:VOLT? \'M{channel:d}.{name:s}\'".format(channel=int(channel), name=name))) else: self.send("SOUR:VOLT \'M{channel:d}.{name:s}\', {voltage:f}".format(channel=int(channel),name=name, voltage=voltage))
Что я уже пробовал:
Параметры становятся:
def set_pattern(self, channel, name, pattern)
На .писать стал .вам и .читать стать .отправить.
[no name]
Какие проблемы вы испытываете с тем, что вы пробовали?