Мне нужны значения start1, end1, start2, end2 из приведенной ниже программы. Как это получить. Я пытался использовать get (), но в качестве его str я получаю сообщение об ошибке «объект str не имеет атрибута get». Self.bin - путь к exe-файлу. {{{{Это может быть похожий вопрос, я пытался их использовать, но не смог получить результат. Пожалуйста, предоставьте решение для кода ниже python. Прежде чем закрыть мой вопрос. Большое спасибо}}}}
def run(self ) :
query = self.args.query
target = self.args.target
complete = str(self.bin + ' -q ' + query + ' -t ' + target +' --outMode=C -n 1')
ps = s.Popen(str(complete), stdin = s.PIPE, stdout = s.PIPE, universal_newlines=True)
(stdout, stderr) = ps.communicate()
self.b1 = stdout
print("B1: \n")
print(self.b1)
self.block_b1(self.b1, self.b2, self.b3)
def block_b1(self, b1, b2, b3): ############get values from above method
print(self.b1.get("start1"))
print(self.b1.get("start2"))
print(self.b1.get('end1'))
print(self.b1.get('end2'))
output of self.b1 lookslike this :
B1:
id1;start1;end1;id2;start2;end2;subseqDP;hybridDP;E
target;39;45;query;98;104;UCCUGGA&UCCAGGA;(((((((&)))))));-4.37
Я хочу результат, как показано ниже :
39
98
45
104