Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 19, 2015 23:59:15

Pytonist
Зарегистрирован: 2015-05-27
Сообщения: 36
Репутация: +  1  -
Профиль   Отправить e-mail  

Ошибка в коде

Есть код:

path = glob.glob("C:\...\*.txt")
with open("sample_text_collection_metadata.txt", "w", encoding = "utf-8") as metadata_out:
    for txt in test:
        f = open(txt, "r", encoding = "utf-8").read()
        autor_name = f.split("Autor:")[1].replace("\r", "").split("\n")[0]
        text_file = file.split("Title:")[1].replace("\r", "").split("\n")[0]
        file_name = file.split("/")[-1]
        metadata_out.write(file_name + "\t" + autor_name + "\t" + text_file + "\n")
        f.close()
        with open("sample_text_collection/" + file_name, "w", "utf-8") as file_out:
            file_out.write(txt)

Загвоздка в том, что когда выполнение кода доходит до autor_name = f.split(“Autor:”).replace(“\r”, “”).split(“\n”) появляется ошибка AttributeError: ‘list’ object has no attribute ‘replace’
Вопрос: откуда берется ‘list’? если при проверке type(f) мы получаем <class ‘str’>.

Офлайн

#2 Ноя. 20, 2015 02:36:45

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9797
Репутация: +  849  -
Профиль   Отправить e-mail  

Ошибка в коде

Pytonist
Вопрос: откуда берется ‘list’?
>>> 'a|b|c'.split('|')
['a', 'b', 'c']
>>>



Офлайн

#3 Ноя. 20, 2015 15:15:12

Pytonist
Зарегистрирован: 2015-05-27
Сообщения: 36
Репутация: +  1  -
Профиль   Отправить e-mail  

Ошибка в коде

Уже разобрался. Причина была банальна, было неверно задано условие … Наверное надо перекурить денек второй …

Офлайн

#4 Ноя. 21, 2015 18:17:27

Fat_Doge
Зарегистрирован: 2015-11-21
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

Ошибка в коде

как сложить все числа, данные в документе?

вот что уже есть:

g=open('dfg.txt', ‘rt’)
s=0
while True:
f = g.readline()
if f == '':
break
n = int(f.strip())

Вот документ:

12
23
45
1
2

зарание спасибо!

Офлайн

#5 Ноя. 21, 2015 18:28:18

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Ошибка в коде

Собрать строки в документе в список, попутно преобразовав в числа и просуммировать через sum

In [1]: sum([1,2,3,4,5])
Out[1]: 15



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version