Я использую питона и вот кусок моего кода:Ошибка должна быть строка, не генератор в Python
wp = open(outfile, 'w')
fields = line.split('\t')
gene_ID = fields[0]
chr = fields[1]
strand = fields[2]
start = int(fields[3])
end = int(fields[4])
bc = {'A': 'T', 'C': 'G', 'G': 'C', 'T': 'A', 'N':'N'}
if strand == '+':
wp.write(chr_string[start:end])
if strand == '-':
newstart, newend = -(start + 1), -(end + 1)
wp.write(bc[base.upper()] for base in chr_string[newstart:newend]) <--error pointed at this line
Когда я пытаюсь запустить весь мой код, я получаю следующее сообщение:
TypeError: must be str, not generator
Кто-нибудь знает, что не так с моим кодом, который подсказывает это?
Ну, это довольно понятно: вы передаете выражение генератора для 'write', когда он ожидает строку ... – Cameron