Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » Нужна помощь с скрапингом сайта! » Март 2, 2018 19:18:43

Есть сайт с расписанием занятий http://lk.ugatu.su/raspisanie/#timetable, не пойму как вытащить всю таблицу.

Python для новичков » проблема с модулем msgpack » Март 2, 2018 15:43:34

У меня возникла такая проблема:
пакет msgpack установлен (pip list отображает пакет версией 0.5.6)
а при попытке в python подключиться к нему (import msgpack) пишет, что нет такого модуля.
При попытке принудительно переустановить пакет
pip install -U –force-reinstall msgpack
выдается ошибка
UnicodeDecodeError: ‘utf-8’ codec can't decode byte 0xa0 in position 12: invalid start byte

Заранее спасибо.

Django » Название timezone в отображении даты » Фев. 28, 2018 08:50:37

Заметил, что на локальном проекте перестала отображаться название timezone. Например 28.02.2018 13:22 +07
Причем в продакшене все нормально : 28.02.2018 10:00 KRAT
Переустановил pytz - ситуация не изменилась.
Такая неприятная картина не в одном месте, а в целом по проекту.
Что могло измениться - вообще не понимаю.
Подскажите, что нужно проверить в данной ситуации?

Дополнительно:
В шаблонах
{% load tz %} - загружает действительно нужную зоны, проверил через {{ tz }} - выводит “Asia/Krasnoyarsk”
{% timezone “Asia/Krasnoyarsk” %} {% endtimezone %} Выводит вот такое отображение 28.02.2018 13:22 +07

Python для новичков » Tkinter, python2, help  » Фев. 27, 2018 11:23:59

ЕСть 2 списка Listbox
При нажатии кнопки input необходимо добавить выбранные из списка Listbox пункты в самый обычный список для дальнейшей работы с ним.
При нажатии reset надо чтобы все выбранные элементы Listbox обнулялись.
Как это сделать?


# encoding: utf-8
from Tkinter import *
#from Tkinter.filedialog import *
import problems.f1c0

def push_input():
idx_p = listbox_problems.curselection()
idx_s = listbox_solvers.curselection()

v_p = listbox_problems.get(idx_p)
v_s = listbox_solvers.get(idx_s)


def push_reset():
pass

def push_default():
pass

root = Tk()
root.title('Benchmark')
root.geometry('600x400+300+200')
root.resizable(False, False)

button_input = Button(root, bg=“pink”, text=“input”)#.place( x= 40, y = 150,width = 100)
button_reset = Button(root, bg=“plum”, text=“reset”)#.place( x= 40, y = 200,width = 100)
button_default = Button(root, bg=“gray”, text=“default”)#.place( x= 40, y = 250,width = 100)

button_input.place( x= 40, y = 150,width = 100)
button_reset.place( x= 40, y = 200,width = 100)
button_default.place( x= 40, y = 250,width = 100)

listbox_problems=Listbox(root,height=5,width=25,selectmode=MULTIPLE, bg = “ivory”)#.place( x= 300, y = 100)
listbox_solvers=Listbox(root,height=5,width=25,selectmode=MULTIPLE, bg = “ivory”)#.place( x= 300, y = 220)

listbox_problems.place( x= 300, y = 100)
listbox_solvers.place( x= 300, y = 220)

list_p=


list_s=

for i in list_p:
listbox_problems.insert(END,i)
for i in list_s:
listbox_solvers.insert(END,i)

button_input.bind(“<Button-1>”,push_input )
button_reset.bind(“<Button-1>”,push_reset)
button_default.bind(“<Button-1>”,push_default)



root.mainloop()

Python для новичков » помогите пожалуйста с программой  » Фев. 26, 2018 14:26:06

добрый день ребята прошу у вас помощи так как сам только учусь.
крч суть работы такая : есть распберри, релюшка , и какое нить оборудование( cisco, nateks,surpass и тд.)
нужна программа что бы она пинговала оборудование с условием если пинг проходит то она продолжает пинг дальше с промежутком 5 мин если же не проходит то через релюшку распберри перезапускает оборудование до тех пор пока пинг не пройдет. и еще если можно подскажите как поставить программу на автозапуск ( что бы если проподет питание распберри то при включение программа запустилась автоматически) заранее благодарю!! я сам накидал что не так? подскажите пожалуйста

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
GPIO.setup(18,GPIO.OUT)
while True:
time.sleep(300)
do
ping -c1 192.168.1.1
if = False:
time.sleep(300)
else:
GPIO.output(18.0)
time.sleep(60)
GPIO.output(18.1)

Python для новичков » Как установить второй питон куда я хочу? у меня не получается » Фев. 25, 2018 19:03:25

или же можно ли сделать так чтобы новый питон видел модули которые сохранились в подпапке старого питона а сам старый питон загадочным образом испарился

Python для новичков » Как c помощью http передать статус в python? » Фев. 24, 2018 09:55:30

в общем мне нужно как то из вне в .py скрипт передать статус, 1 или 0, выполняться коду или нет, уверен есть и лучше способы решения этой проблемы, но в голову пришло только такое:

отправляю http запрос, на php странице должна появиться 1(единица) при этом python должен все время проверять, есть ли единица на странице, если она там есть, то выполняется py код и затем отправляется http запрос и на php странице должен быть 0 и py код дальше ждет когда на странице будет 1

GUI » Tkinter canvas как определить, что один объект вошел в зону второго? » Фев. 24, 2018 00:30:53

Нужно что-то вроде bind “Enter” для указателя, только для объектов. В принципе, можно просчитать все точки на площади объекта, но хотелось бы узнать способ эффективнее.

Ну и раз уж на то пошло, можно ли вычесть площадь одного объекта из другого и отрисовать только их разницу?

Python для новичков » Проверка прокси на работоспособность и анонимность » Фев. 23, 2018 11:35:01

Доброго времени суток!
Создал скрипт для парсинга сайта, во избежание того что сайт может забанить, решил использовать прокси,
вот здесь появилась необходимость проверять прокси сервера на работоспособность и анонимность. Для пробы использую прокси судью: http://proxyjudge.us. Парсю данный текст с помощью BeautifulSoup (данный прокси прозрачный и выводит мой IP - 111.111.111.111):

 HTTP_HOST = proxyjudge.us
HTTP_CONNECTION = close
HTTP_X_REAL_IP = 111.111.111.111
HTTP_X_FORWARDED_FOR = 111.111.111.111
HTTP_PROXY_CONNECTION = keep-alive
HTTP_UPGRADE_INSECURE_REQUESTS = 1
HTTP_USER_AGENT = Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.167 Safari/537.36
HTTP_ACCEPT = text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
HTTP_ACCEPT_LANGUAGE = ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7
REMOTE_ADDR = 101.50.1.2
REQUEST_SCHEME = http
REMOTE_PORT = 35190
REQUEST_METHOD = GET
REQUEST_URI = /
REQUEST_TIME_FLOAT = 1519377640.159
REQUEST_TIME = 1519377640

потом с помощью регулярных выражений нахожу HTTP_X_FORWARDED_FOR или HTTP_X_REAL_IP и вставляю значение 111.111.111.111 в переменную, после чего проверяю свой IP со значением данной переменной, если прокси скрывает мой IP - записываю в текстовый файл, если нет пропускает.
Проблема в том что, когда прокси скрывает мой IP, параметр(ы) HTTP_X_FORWARDED_FOR или HTTP_X_REAL_IP отсутствует(ют).
Другая проблема что есть нерабочие прокси.

Подскажите пожалуйста в этих проблемах или может есть другие идеи для осуществления проверки прокси.

Python для новичков » Загрузка файлов через url » Фев. 23, 2018 08:40:47

Здравствуйте! Начал работать с vk api использую вот эту библиотеку - vkapi. Итак, вопрос состоит в следующем:

Как мне скачать файл (картинка/документ) имея вот это:
{'count': 1, 'items': [{'user_id': 01, 'body': 'Прикрепляю фотографию', 'id': 149, 'date': 1519367388, 'read_state': 0, 'out': 0, 'title': '', 'attachments': [{'photo': {'photo_130': 'https://pp.userapi.com/c619826/v619826143/1722f/mp0iSzTrMBw.jpg', 'date': 1499891323, 'width': 811, 'photo_75': 'https://pp.userapi.com/c619826/v619826143/1722e/KbthUoPhkyo.jpg', 'photo_604': 'https://pp.userapi.com/c619826/v619826143/17230/NuuqCpr2ffQ.jpg', 'photo_807': 'https://pp.userapi.com/c619826/v619826143/17231/03mMuxo0yY4.jpg', 'owner_id': 01, 'album_id': -15, 'id': 456239188, 'access_key': 'ca82d02a62266d9016', 'photo_1280': 'https://pp.userapi.com/c619826/v619826143/17232/DKGPpmdAxlg.jpg', 'text': '', 'height': 456}, 'type': 'photo'}]}]}
Подойдет ли вот эта конструкция?
 out = open("img/img-" + str(img_number) + ".jpg", "wb")  # Сохраняем 
p = requests.get(url)
out.write(p.content)
out.close()
Как определить какую ссылку использовать? (photo_807, photo_1280 и пр…) Например, может быть размер больше чем 1280.
Подскажите, пожалуйста!

Python для экспертов » Проблема с преобразованиям кода для мониторинга курса криптовалют » Фев. 22, 2018 16:31:12

Не могу заставить программу выводить данные в эксель

Исходный код
import requests
import json
import time

# программа будет работать бесконечно
while True:
# получить данные с биржи
r = requests.get('https://api.exmo.com/v1/ticker/')
# переводим данные во понятный программе формат
obj = json.loads(r.text)
# находим все валюты, перечисленные в файле
for pair in obj:

print(
"Валюта",
pair,
"текущая максимальная цена покупки",
obj[pair]['buy_price'],
"текущая минимальная цена продажи",
obj[pair]['sell_price']
)

# подождать три секунды и начать заново
time.sleep(3)


Моя попытка переделать

 import requests
import json
import time
import os
from openpyxl import Workbook
# Создадим Excel файл
wb = Workbook()
ws = wb.active
# Вставим заголовки
ws.append(["Валюта", "текущая максимальная цена покупки",
           "текущая минимальная цена продажи" ])
        
# программа будет работать бесконечно
while True:
    # получить данные с биржи
    r = requests.get('https://api.exmo.com/v1/ticker/')
    # переводим данные во понятный программе формат
    obj = json.loads(r.text)
    # находим все валюты, перечисленные в файле
    for pair in obj:
       
        ws.append([
            pair,
            
            obj[pair]['buy_price'],
            
            obj[pair]['sell_price']
            ])
        
   
  
# Сохраняем файл
wb.save(os.path.dirname(os.path.abspath(__file__)) + "/exmo_excel.xlsx")
print('Работу закончил')
  # подождать три секунды и начать заново
time.sleep(300)

Python для новичков » Модуль saspy - интеграция Python -SAS » Фев. 22, 2018 14:38:50

Всем добрый день,
На форуме первый день, надеюсь выбрал правильную ветку форума.
Есть SAS 9.4 на одном сервере (srvsas), на Windows Server, есть Anaconda 1.3.1 Python 3.5 на другом сервере (srvpy), тоже на Win Server, мне необходимо из подружить. Цель - забирать данные из SAS, чтобы не подгружать csv, обрабатывать их в Python-е, и сохранять результат в SAS. Для этого установил saspy 2.2.1. Теоретически, настроил sascfg.py:


SAS_config_names=

# build out a local classpath variable to use below for Windows clients
cpW = “C:\\Program Files\\Anaconda3\\Saspy\\SASDeploymentManager\\sas.svc.connection.jar”
cpW += “;C:\\Program Files\\Anaconda3\\Saspy\\SASDeploymentManager\\log4j.jar”
cpW += “;C:\\Program Files\\Anaconda3\\Saspy\\SASDeploymentManager\\sas.security.sspi.jar”
cpW += “;C:\\Program Files\\Anaconda3\\Saspy\\SASDeploymentManager\\sas.core.jar”
cpW += “;C:\\ProgramData\\Anaconda3\\Lib\\site-packages\\saspy\\java\\saspyiom.jar”

# Windows client and Windows IOM server
winiomwin = {'java' : ‘C:\Program Files\Anaconda3\Saspy\SASPrivateJavaRuntimeEnvironment’,
‘iomhost’ : ‘windows.iom.host’,
‘iomport’ : 8591,
‘encoding’ : ‘windows-1252’,
‘classpath’ : cpW
}
Для чего скопировал необходимые *.jar файлы с сервера srvsas на srvpy (вроде бы так можно сделать), другие настройки оставил как есть. При импорте модуля saspy он сначала спрашивает какую конфигурацию загрузить, указываю на winiomwin, и тут возникает ошибка:


Attempted to run program D:\SAS\SASHome\SASPrivateJavaRuntimeEnvironment\9.4\jre\bin\java with the following parameters:

If no OS Error above, try running the following command (where saspy is running) manually to see what is wrong:
D:\SAS\SASHome\SASPrivateJavaRuntimeEnvironment\9.4\jre\bin\java -classpath “C:\Program Files\Anaconda3\Saspy\SASDeploymentManager\sas.svc.connection.jar;C:\Program Files\Anaconda3\Saspy\SASDeploymentManager\log4j.jar;C:\Program Files\Anaconda3\Saspy\SASDeploymentManager\sas.security.sspi.jar;C:\Program Files\Anaconda3\Saspy\SASDeploymentManager\sas.core.jar;C:\ProgramData\Anaconda3\Lib\site-packages\saspy\java\saspyiom.jar” pyiom.saspy2j -host localhost -stdinport 49947 -stdoutport 49948 -stderrport 49949 -iomhost windows.iom.host -iomport 8591 -user МОЙЛОГИН

No SAS process attached. SAS process has terminated unexpectedly.
No SAS process attached. SAS process has terminated unexpectedly.
No SAS process attached. SAS process has terminated unexpectedly.

Я так понимаю, что в настройках коннекшена SAS он (SAS) пишет, что находится локально (localhost), и с ним трудно поспорить

Кто встречался с данным вопросом? Как правильно указать настройки в конфиге?
Заранее спасибо!

Web » webdavclient + Яндекс.Диск = споткнулся на ровном месте » Фев. 21, 2018 19:03:15

Добрый день! ОС Windows 7 64 bit, python 2.7.13. Установил webdavclient 1.0.8 + pycurl-7.43.0.win32-py2.7.exe + lxml-3.4.3.win32-py2.7.exe. Выполняю простейшую программу и получаю ошибку:
import webdav.client as wc
options = { ‘webdav_hostname’: "https://webdav.yandex.ru“, ‘webdav_login’: ”LOGIN“,
‘webdav_password’: ”ПАРОЛЬ“
}
cl = wc.Client(options); f = cl.list()
——-
Traceback (most recent call last):
File ”C:\Python27\Work\t.py“, line 13, in <module>
f = cl.list()
File ”C:\Python27\lib\site-packages\webdav\client.py", line 225, in list
raise NotConnection(self.webdav.hostname)
NotConnection: Not connection with https://webdav.yandex.ru

Если смонтировать диск, командой C:\Windows\System32\net.exe use y: https://webdav.yandex.ru Пароль /USER:login, то всё нормально, появляется ещё один диск, с которым нормально можно работать.
Буду благодарен за любые мысли …
PS: компьютер подключен через ADSL2+ MODEM ROUTER TD-W8968 к телефонной линии, к сожалению, не у всех ещё оптика :(

Python для новичков » ntp proxy » Фев. 21, 2018 08:30:26

подскажите плз возможно ли подключиться к ntp серверу через http proxy?

GUI » Tkinter прозрачность окон и виджетов » Фев. 13, 2018 16:08:10

Есть ли способ изменять прозрачность отдельных окон и виджетов для Windows?
root.wm_attributes('-alpha',0,3) меняет прозрачность окна и всех дочерних виджетов. Можно ли сделать виджеты видимыми? Пишут, что это невозможно, но может есть какие костыли, или сторонние библиотеки?

Python для новичков » Задачка про домино » Фев. 12, 2018 10:20:17

Всем добрый день!
Изучаю Python и наткнулся на задачку на сайте Checkio.
Попытался решить ее используя два словаря, не вышло. Подскажите пожалуйста, в каком направлении идти? Вот вообщем -то задача:

У вас есть коробка с домино. Костяшки домино состоят из двух цифр от 0 (пустая) до 6. Костяшки не имеют направления и 1-6 это тоже самое, что 6-1. Стандартный набор состоит из 28 разных костяшек - все комбинации пар цифр.

Из коробки высыпалось несколько костяшек. Вы должны постараться собрать из этих костяшек цепь, составляя их друг к другу подходящими сторонами (т.е. сторонами с одинаковыми номерами). Таким образом, вы можете получить непрерывную цепочку из всех костяшек. В некоторых случаях такая цепь будет не единственной.

Например, вам достались эти костяшки:
1-5, 2-5, 3-5, 4-5, 3-4
Тогда вы можете построить такие полные цепочки:
1-5, 5-3, 3-4, 4-5, 5-2
1-5, 5-4, 4-3, 3-5, 5-2
Ваша задача в этой миссии - сосчитать, сколько полных цепочек вы можете составить, используя все заданные костяшки домино.

Примечание. Цепочки должны быть уникальны. Перевернутая цепочка не считается уникальной: “1-2, 2-3, 3-4, 4-5” и “5-4, 4-3, 3-2, 2-1” - это одна и та же цепочка.

Входные данные: Строка с описанием костяшек домино. Например, “5-4, 4-3, 3-2, 2-1”.

Выходные данные: Целое число. Максимальное число полных цепочек, которые вы можете построить, используя все костяшки.

Web » Автоматизация поиска по сайту и обработки результатов » Фев. 10, 2018 12:51:05

Доброго времени суток, есть сайт на котором реализована система поиска по БД
Я задолбался уже все искать вручную…

Все что нужно - это чтобы программа сама задавала значение полей для поиска (их необходимо брать из excel, csv или др.) открывала ссылки с результатами поиска (это будут страницы с патентами) и с этих страниц собирала значения в excel, csv или что-то подобное, раскладывая все по столбцам.

Сильно упрощает дело то, что данные шаблонизированы, как в самих полях поиска, так и на страницах с результатами (например, (54) – это название и везде после этого кода будет идти название патента). Однако в самом тексте патента, после кода (57), могут встречаться такого же рода коды, их надо воспринимать просто как текст.
Хотел бы этот процесс автоматизировать, но не знаю как, пытался что-то подобное найти в сети, но понял, что даже не знаю, как сформулировать запрос.

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

Python для новичков » Python и Excel » Фев. 7, 2018 23:14:43

Всем привет,помогите пожалуйста решить проблему, есть объединенная ячейка с данными в экселе, если начинаю считывать ячейки,то данные есть только в первой верхней (В2 на скрине) т.е. данные из других ячеек кроме первой равны нулю. Кто может знает как это решить? Даже сам эксель пишет что значение 0(см. скрин). Может питон может это как то обходить? Пробовал библиотеки xlrd, xlwt , openpyxl. Кто может сталкивался с похожей проблемой, заранее спасибо.

Python проекты » Вакансия Team lead Python developer » Фев. 7, 2018 08:45:19

Позиция в команде криптовалютной биржи — это математики и алгоритмисты, которые в собственном окружении делают сложные финансовые инструменты для биржи, в том числе торговых роботов. Бэкендом биржи занимается отдельная команда.
Задачи приходят от математиков разрабатывающих торговые гипотезы и алгоритмы, и менеджера проекта, который декомпозирует задачи.
Про проект: стартап с поддержкой венчурного фонда, есть команда на Кипре. Тимлида ищем в Москву с командировками на Кипр.

Что делать:
Погрузиться в текущий проект → познакомиться с командой → определить слабые места в текущей реализации → усилить их → принимать активное участие в разработке торговых роботов.
Команда проекта: Project Manager, Quant, 2 Senior Python разработчика, 2 DevOps.
Что уже есть: всякие сложные алгоритмические штуки и инструменты для криптовалютной биржи со своим окружением, командой и кодовой базой.

Суть задач:
Заниматься разработкой различных модулей, необходимых для торговли криптовалютой в автоматическом режиме. Отвечать за стабильность реализованных компонентов. Market making — создание спроса-предложения и вида активности на бирже. Тайминг критически важен, идёт борьба за миллисекунды.
Технологический стек: Python, PostgreSQL, Git, Linux. Уметь в C/C++, иметь своё мнение по поводу Go, Rust, etc.

Нам важно:
- Прямое попадание в существующий стек.
- Глубокое понимание алгоритмов и структур данных.
- Опыт в стартапах или активно растущих/меняющихся проектах.
- Умение выстраивать инфраструктуру, devops, процессы разработки.
- Хороший английский.
- Твой интерес к финансовому сектору.
- Опыт с высоконагруженными финансовыми системами.

Почему у нас хорошо:
- Плоская структура, высокая скорость принятия решений, небольшая Senior команда: 8 человек.
- Высокая стабильность и надежность, чего стартапам, увы, часто не хватает: за проектом стоит частный венчурный фонд.
- Проверенный другими проектами сильный маркетинг.
- Много свободы и ответственности.
- Сложная бизнес логика, чувствительные данные и секьюрные API.

Продукт ожидает серьезного успеха при выходе на рынок: понимаем рынок (выпустили уже 4 зарабатывающих финтех проекта), выходим с низкой комиссией (благодаря собственной платежной системе), задача продукта — снизить порог входа на биржу для пользователей.

Бонусы:
- Деньги — обсуждаем твои ожидания, включая самые смелые;
- Гибкий график работы. Мы делаем продукт в команде и личное общение считаем важнейшей составляющей хорошего продукта (удаленки нет);
- Кипр на первые 3 месяца (всё оплачиваем), затем Москва, в 3-х минутах от ст.м. Бауманская или 7-и минутах от ст.м. Красносельская;
- Рассматриваем кандидатов из других городов РФ и стран таможенного союза с возможностью быстрого переезда в Москву.

Ждем ваши резюме на почту lidiya.rahimova81@gmail.com



Python для экспертов » Планировщик rqscheduler не выполняет задания. » Фев. 6, 2018 19:07:03

Добрый вечер! Подскажите ,правильно ли я вызываю функцию в планировщике?

scheduler.py:
 from redis import Redis
from rq_scheduler import Scheduler
from datetime import datetime
from task import save_exchange_rates
redis_conn = Redis()
scheduler = Scheduler(connection=redis_conn) 
scheduler.schedule(
    datetime.utcnow(),
    save_exchange_rates, 
    interval=10,                  
    repeat=None,                    
)
task.py:
 import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'market_capitalizations.settings'
import django
django.setup()
import requests
from exchange_rates.models import Currency
def save_exchange_rates():
    url = 'https://api.coinmarketcap.com/v1/ticker/'
    repositories = requests.get(url).json()
    for exchange in repositories:
          Currency.objects.create(name=exchange['name'],
                                                 price_usd=exchange['price_usd'],
                                                 last_updated=exchange['last_updated'],)
if __name__ == '__main__':
    save_exchange_rates()
Если таск руками запустить, то она работает. службы :rq worker, rqscheduler и сам джанго - запущены. Редис установлен и пишет «* The server is now ready to accept connections on port 6379».
Подскажите ,пожалуйста, из-за чего может не срабатывать scheduler?