Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/18: Рейтинг темы: голосов - 18, средняя оценка - 5.00
23 / 23 / 14
Регистрация: 01.05.2015
Сообщений: 180

Запись вывода в файл

30.08.2015, 08:39. Показов 3831. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу понять в чем причина - не получается записать полученные ссылки в файл. Вывод в консоль работает как положено.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import lxml.html
from lxml.html import parse
#~import sys
#~import urlparse
 
def main():
    work_url = "http://vk.com/joyreactor_ru"
    work_file = open("1.txt", "a+", encoding='utf-8')
    page = parse(work_url).getroot()
    hrefs = page.cssselect("a") 
    for row in hrefs:
        #~ print (row.get("href"))
        work_file.write(row.get("href"))
    work_file.close()
Получаю ошибку
File "10.py", line 43, in main
work_file = open("1.txt", "a+", encoding='utf-8')
TypeError: 'encoding' is an invalid keyword argument for this function
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.08.2015, 08:39
Ответы с готовыми решениями:

Запись вывода в .txt файл
Добрый вечер! Необходима помощь с записью вывода в .txt файл. def Hanoi(n, A, C, B): if n!=0: Hanoi(n-1, A, B, C) ...

Запись вывода функции в файл
Мне нужно записать все значения итераций функции Euler в файл # n - количество итераций, h - шаг, (x, y) - начальная точка import...

Запись результатов в файл вместо вывода на консоль
Добрый вечер всем. Есть программа которая свой результат выводит в консоль. Мне необходимо сделать что бы результат в конце записывался в...

4
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8
30.08.2015, 10:24
Потихоньку слезай с 2.7
Python
1
2
import codecs      
work_file = codecs.open("1.txt", "a+", encoding='utf-8')
Для третьего питона можно так и оставить и еще почитай про "with open(...) as file: " такая конструкция делает код более читабельным и гарантирует закрытие файла
1
23 / 23 / 14
Регистрация: 01.05.2015
Сообщений: 180
30.08.2015, 17:21  [ТС]
akzo,
спасибо, но теперь понимаю еще меньше, чем утром))
Исправил скрипт, все работало. Дописал в него еще функций, начал вылавливать ошибки и в итоге все пришлось вернуть к первому рабочему состоянию, но
1. первый запуск выдает только ошибку
2. второй запуск пишет в файл первые три ссылки(вместо примерно 20, которые должен) и выдает все ту же ошибку
Traceback (most recent call last):
File "12.py", line 41, in <module>
main()
File "12.py", line 36, in main
work_file.write(row.get("href"))
File "/usr/lib64/python3.4/codecs.py", line 711, in write
return self.writer.write(data)
File "/usr/lib64/python3.4/codecs.py", line 368, in write
data, consumed = self.encode(object, self.errors)
TypeError: Can't convert 'NoneType' object to str implicitly

Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from lxml.html import parse
import codecs
 
def main(): 
    work_file = codecs.open("1.txt", "a+", encoding='utf-8')
    page = parse(work_url).getroot()
    hrefs = page.cssselect("a")
    for row in hrefs:
        work_file.write(row.get("href"))
        work_file.write("\n")
    work_file.close()
 
if __name__ == '__main__':  
    work_url = "http://vk.com/joyreactor_ru"
    main()
0
 Аватар для akzo
71 / 67 / 6
Регистрация: 08.08.2013
Сообщений: 286
Записей в блоге: 8
30.08.2015, 17:34
Насчет, того что 4 ссылки вместо 20 я не уверен,но попробуйте codecs заменить на io.
1
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
30.08.2015, 23:25
ampermetr, Ну как бы все тривиально, вот:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from lxml.html import parse
 
url = "http://vk.com/joyreactor_ru"
 
out = open("12", "a+", encoding='utf-8')
page = parse(url).getroot()
links = page.cssselect("a")
 
current_link = ''
for row in links:
    current_link = row.get("href")
    print(current_link)
    if current_link:
        out.write('{0}\n'.format(current_link))
out.close()
P.S раз используешь тройку, ни какие библиотеки для открытия файла импортировать не надо.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.08.2015, 23:25
Помогаю со студенческими работами здесь

запись типизированный файл проверка ввода вывода
читается число byte, которое записывается в file of byte readln(number_victory); write(ini_victory,number_victory); - это часть...

Запись вывода команды Telnet в текстовый файл
Помогите написать батник. Есть АТС, с нее отчет можно снимать через телнет. Что получаем cmd открываеться командная стркоа telnet...

Запись данных в файл(потоки ввода и вывода)
Всем привет, попробовал написать программу записи данных(ввод с клавиатуры) в отдельный файл на &quot;Ж.Д.&quot; но не получилось, вот...

Запись вывода в txt файл, который программа создаст сама
Добрый день,хотелось бы узнать ,можно ли как то в c# сделать так,что бы вывод записывался в txt файл,который программа создаст сама, а имя...

Не производится запись в файл и стандартный поток вывода при успешном завершении программы
Здравствуйте. Программа завершается успешно. Проходил в дебагере, ничего такого не обнаружил. Просто не записывает ничего в файлы или...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru