Форум сайта python.su
0
Всем доброго времени суток!
есть кусок кода:
class sequence: #sequence
def __init__(self):
self.seq = ''
self.tag = ''
self.hash_of_sequence = {}
def read_sequence_from_lines(self, Line): # read sequence into a hash tag /sequence object
if Line.startswith('>'):
self.tag = Line
self.sequence = Line.next()
return self.hash_of_sequences[self.tag] = self.sequence
else:
pass
def read_file_hash(self, filename): #readfile as lines
f = open(filename, "r")
for Line in f.readlines():
self.read_sequence_from_lines(Line)
f.close()
>>> import al
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "al.py", line 61
return self.hash_of_sequences[self.tag] = self.sequence
Отредактировано (Март 19, 2012 15:29:12)
Офлайн
25
syntheticВ коде.
Подкажите, плз, в чем закючатя ошибка.
self.hash_of_sequences[self.tag] = self.sequence
Офлайн
0
Это быа попытка сделать словарь из tag и sequence. С удовоьствием выслушаю Ваши замечания.
Офлайн
25
return там зачем?
Офлайн
0
Помогло, спасибо! return там действительно не к месту.
допустим, я хочу проверить работспособность этого кода и считать некий файл: к коду я добавил строки:
sequence.read_file_hash(sys.argv[1])
Отредактировано (Март 19, 2012 19:28:31)
Офлайн
25
syntheticПонимаете вы правильно - делаете неверно.
Я правиьно понимаю, что первым аргументом дожен быть экземляр этого класса и как этого избежать.
my_sequence = sequence()
my_sequence.read_file_hash(sys.argv[1])
syntheticИзвиняться не стоит - лучше прочтите книжку или туториал какой-нибудь.
Недавно познакомися с python и возможно задаю очень глупые вопросы. Заранее извините.
Офлайн
0
Спачибо!
Офлайн
52
А я посоветую обращаться с вопросами для начала к поисковику. На фразу “unbound method” вам мгновенно выпадет адекватный ответ, и не нужно будет ждать ответа на форуме долгое время :)
Офлайн