Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3492 posts.

Python для новичков » PyQt5 второе окно из первого » Янв. 31, 2016 11:47:11

Может кто подскажет как создавать по нажатию на кнопку второе окно, как я тока не пробывал у меня приложение ломалось, да вообще я новичек.

И еще если возможно, то как передавать параметры второму окну ?

Видел кучу примеров на PyQt4 но они все не работают на новой версии.
работаю в python3

Python для новичков » ладья » Янв. 30, 2016 18:31:16

Требуется определить, бьет ли ладья, стоящая на клетке с указанными координатами (номер строки и номер столбца), фигуру, стоящую на другой указанной клетке.
не проходит онлайн тесты

Python для экспертов » Запросы к Vueling » Янв. 23, 2016 21:29:16

Привет всем!
Python 2.7, requests
Имеется следующая проблема:
1. Делаем запрос к Vueling.com, чтобы получить значение параметра view_state
2. Делаем запрос к Tickets.vueling.com/XmlSearch.aspx с полученным view_state, помимо view_state, передаю параметры и хедеры, которые передавал Chrome
Сайт возвращает страницу с ошибкой, которая говорит о том, что выключен javascript

Хедеры:
HEADERS = {
    'Accept': 'text/html,application/xhtml+xml,application/xml,application/x-javascript;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Encoding': 'gzip, deflate, sdch',
    'Accept-Language': 'ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4',
    'Content-Type': 'application/x-www-form-urlencoded',
    'userAgent': 'Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.111 Safari/537.36',
    'Origin': 'http://www.vueling.com',
    'Referer': 'http://www.vueling.com/en'}

Ошибка : ERROR: This service makes use of Javascript, which appears to be turned off.

Только что осознал, что сайт совершенно не работает без js
Как можно спарсить сайт, который возвращает данные js'ом? Без selenium

Python для новичков » pyglossary - интеграция новых функций. » Янв. 21, 2016 01:13:04

Приветствую всех!

Первый пост - пришёл за помощью несколько из другой области. Любительски занимаюсь словарями. Не программист, но более или менее имею представление об AutoIt, VBA и общих принципах программирования. Неплохо знаю регулярные выражения. Суть проблемы:

Наверное, большинство знает что такое язык разметки Lingvo DSL от ABBYY (вероятно, учили инглиш с помощью словарей в этом формате). На данный момент большинство любительских словарей как и оцифровка печатных делается именно в нём (см. ру-боард). По сути формат является сырцом-исходником для компиляции во всевозможные другие форматы под различные программы/платформы. Одним из самых универсальных конвертеров является pyglossary, написанный на Python 2.7. Но с DSL он работает криво. Точнее неполноценно.

Проблема 1. Сам формат DSL, хоть и похож на BBCode, имеет специфические особенности. Он допускает “ill-nested” теги, что является основным препятствием для корректного конвертирования (в html, к примеру). Здесь скрипт на Perl, решающий эту проблему (там же и примеры для наглядности). Но он сортирует теги только внутри группы без пробелов, тогда как могут существовать и такие ситуации:
    #fix unclosed tags like [b]...[c]...[/b]...[/c]
#change it to [b]...[c]...[/c][/b][c]...[/c]
Данная секция из dsl.py самого pyglossary, который, по идее, должен с этим сам справляться. Есть ещё модуль Normalizer на Ruby 2.0 и normalize_tags.cpp для dsl_parser.cpp проекта xdxf_makedict (C++). Все они нацелены на решение именно этой проблемы.

Проблема 2. Чистка заголовков. В pyglossary она отсутствует, отсюда артефакты и битый индекс. Одним из наилучших примеров конвертирования DSL в другой формат (в данном случае в Apple Dictionary) является DSLConverter (Python 3.x). Данная проблема решена так:
            gEntryHeader = re.sub('[{}]', '', thisString) # this one shows up as an entry header
            gEntryHeader = re.sub('(\s+?)\)', ') ', gEntryHeader)
            gEntryHeader = re.sub('\((\s+?)', ' (', gEntryHeader)                       
            gEntryHeader = re.sub(' \]', '] ', gEntryHeader)
            gEntryHeader = re.sub('\[ ', ' [', gEntryHeader)
                        
            gEntryTitle = re.sub('{(.*?)}', '', thisString) # this one is the value displayed in window header and search list
            gEntryTitle = re.sub('^\.\.\.', '', gEntryTitle)

Проблема 3. Внедрение аббревиатур из файла *_abbr.dsl. Реализовано только в конвертере DSLConverter от svintuss.

Проблема 4. Сами теги HTML на выходе. Везде они разные. В идеале лучше ничего безвозвратно не удалять, а добавлять как Class к span-ам (чтоб потом можно было навесить CSS). Аббревиатуры (расшифровки) можно как title к ним же. Есть ещё один конвертер в html - pyDSL2HTM.py. Нет ни нормализации, ни аббревиатур.

Собственно, вопрос: может ли кто-нибудь помочь интегрировать нужный функционал в dsl.py? Понимаю, что задача не простая, поэтому и привёл практические примеры реализации. Если возникнут вопросы по самой спецификации DSL, то здесь наиболее полный хэлп.

Надеюсь на помощь и заранее благодарю.

Python для новичков » sklearn, keras и другие нейронные сети » Янв. 16, 2016 14:05:18

Собственно, вопрос в создании матриц для сети.
Например у меня имеются исходные данные вида
[[1,2,1,5],[3,5,1,3],[9,1,0,2]]
Последняя колонка это маркер., 3 первых это данные.
Возьмем keras. Пример с сайта
from keras.models import Sequential
from keras.layers.core import Dense, Dropout, Activation
from keras.optimizers import SGD
model = Sequential()
# Dense(64) is a fully-connected layer with 64 hidden units.
# in the first layer, you must specify the expected input data shape:
# here, 20-dimensional vectors.
model.add(Dense(64, input_dim=20, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(64, init='uniform'))
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(2, init='uniform'))
model.add(Activation('softmax'))
sgd = SGD(lr=0.1, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='mean_squared_error', optimizer=sgd)
model.fit(X_train, y_train, nb_epoch=20, batch_size=16)
score = model.evaluate(X_test, y_test, batch_size=16)

Что должно быть в X_train, y_train и X_test, y_test? Если барть как аналог классификаторы sklearn, то в X_train должны быть данные, в y_test - маркер(или label, как называют). В X_test - тестовый данные? В y_test - что?
Тоже самое и для sklearn.
Объясните нубу )


Python для новичков » Симуляция нажатия на SVG используя Selenium » Янв. 15, 2016 20:38:19

Всем привет.
Подскажите плиз, как можно закрывать frame в 2gis, используя selenium (unithtml)?
На пример здесь
Я уже как только не пробовал, не пойму. Говорит либо такого css_selector не существует, либо графические елементы можно использовать только в header-browser.ъ Я вот просто выбираю любой элемент из появившегося первоначально списка, открывается фрейм. И в этом фрейме (используя bugtracker) выделяю xpath или css, но потом element.click() не срабатывает

from selenium import webdriver
from lxml import etree, html
 
 
url = "http://2gis.ru/moscow/search/%D1%81%D0%BF%D0%BE%D1%80%D1%82%D0%B8%D0%B2%D0%BD%D1%8B%D0%B5%20%D1%81%D0%B5%D0%BA%D1%86%D0%B8%D0%B8/center/37.437286%2C55.753395/tab/firms/zoom/11"
 
driver = webdriver.Firefox()
#driver = webdriver.Remote(desired_capabilities=webdriver.DesiredCapabilities.HTMLUNIT)
 
driver.get(url)
content = (driver.page_source).encode('utf-8')
doc = html.fromstring(content)
 
elems = doc.xpath('//article[@data-module="miniCard"]')
elem = elems[0]
 
# get element id to click on
el1_id = elem.attrib['id']
 
#simulate click to open frame
el1_to_click = driver.find_element_by_xpath('//article[@id="{0}"]//\
                   a[contains(@class, "miniCard__headerTitle")]'.format(el1_id))
el1_to_click.click()
 
#some stuff
pass
 
#now need to close this
close = driver.find_element_by_xpath('//html/body/div[1]/div/div[1]/div[2]/div[2]/div[2]/div/div[2]/div/div[2]/div[3]/div[1]/div[2]/svg/use')
close.click()

Но вот последний кусок не срабатывает. Не могу закрыть фрейм.
Как это можно сделать?

Спасибо!

Флейм » "Видео для GIF" Конвертор » Янв. 13, 2016 11:59:39

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

Видео для GIF Конвертор является бесплатным для загрузки

Python для экспертов » webdriver selenium проблема с http proxy... » Янв. 8, 2016 14:23:56

Скопировал тему из рубрики для новичков…
Надо достучаться до сайта используя http proxy авторизацию…
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.proxy import *
myProxy = "login:password@10.10.1.38:5555"
proxy = Proxy({
	    'proxyType': ProxyType.MANUAL,
	    'httpProxy': myProxy,
	    'ftpProxy': myProxy,
	    'sslProxy': myProxy,
	    'noProxy': ''
	    })
driver = webdriver.Firefox(proxy=proxy)
driver.get("http://mail.*****.net/")
При запуске скрипта все равно выводит окно ввода логина-пароля подключения к инету.
Большое спасибо!

Python для новичков » Python and trassir » Янв. 8, 2016 07:10:24

Добрый день! Я новичок в pthon сильно не пинайте.
Я занимаюсь видеонаблюдением, работаю с ПО trassir там есть встроенный интерпретатор python 2.7.
Так вот в чем вопрос как туда добавить библиотеки? В тех. поддержке trassir сказали можно, но не говорят как. Я экспериментирую на клиентской части ПО. В файлах нашел где лежат библиотеки и python27.dll. Сборка python в trassir, какие там файлы, похожа на сборку программы py2exe.
Конкретные библиотеки меня интересуют opencv, numpy.

Python для новичков » selenium вход на сайт через http proxy... » Янв. 7, 2016 17:09:34

Здравствуйте. Внутренняя сеть, инет раздается через http proxy.
Как организовать ввод логина-пароля?
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
driver = webdriver.Firefox()
driver.get("http://mail.****.net/")
...
При открытии страницы вызывается диалоговое окно ввода логина-пароля для доступа к инету, который раздает squid (сервер ubunta). Хотелось бы автоматизировать это
Спасибо за помощь, питон только начал осваивать…

Флейм » Фото сервер на pythonоставил qVadro » Янв. 6, 2016 07:58:29

А можно пример такого EXIF софта.
Сейчас на данный момент какая необходимость в “большом софте”?

говорить о: GIMP, "Bulk EXIF EDITOR", LR

Кто ж им позволит занести?

Python для новичков » Как из xls-файла прочитать форматы ячеек » Янв. 5, 2016 22:57:41

Для чтения xls файла использую xlrd и вывожу полученные данные с помощью pyqt(QTableWidgetItem). Но вот прочитать еще и их формат(цвет, выравнивание и т.д.) не получается. Т.е. задача - вывести на экран экселевскою таблицу в оригинальном виде.

Python для новичков » Торнадо не запускается на сервере rasspberry pi » Янв. 1, 2016 02:37:48

Написал маленький скрипт для rasspberry pi на торнадо, простой веб сервер, при запуске скрипта в консоли появляется надпись HTTP request sent; waiting for response. !!! До сервера достучаться нельзя, что делать не знаю, в интрнете постов на такую тему не нашел, подскажите что делать ?


Django » Некорректная работа CKEditor для полей моделей в Inline » Дек. 30, 2015 10:55:31

доброго времени суток! столкнулся с проблемой при работе ckeditor. когда перевожу модель в инлайн-состояние (stackedimline, tabularinline) поля RichTextField c cked'ом отображаются некорректно и не сохраняют результат.

в остальных случаях cked редактор работает нормально. подскажите, куда смотреть

Центр помощи » Тормозит IDLE (Проблему решил но остались вопросы) » Дек. 29, 2015 18:40:04



Подергивается окно IDLE при перетаскивании. Компьютер мощный: i7, 8GB RAM, видеокарта r9270x. А окошко глючит, как будто комп не тянет.
Запустил IDLE в виде единого процесса. Из командной строки с добавлением флага -n:
idle.py -n
IDLE запустился и работает без тормозов. Но при таком запуске пишет предупреждение:
WARNING: Running IDLE without a Subprocess is deprecated and will be removed in a later version. See Help/IDLE Help for details

С чем связаны тормоза, и стоит ли обращать внимание на это предупреждение?
В книге Лутца описывается похожая проблема. Но там описывается проблема соединения/запуска. А у меня с процессом что-то не так. Вот текст из книги:

Если возникают ошибки соединения, попробуйте запустить IDLE в виде единого процесса. Из-за того что для нормальной работы IDLE необходимо поддерживать взаимодействие между пользовательским процессом и гра- фическим интерфейсом среды разработки, на определенных платформах могут проявляться проблемы с запуском (особенно часто проблема с запу- ском встречается на некоторых машинах windows). Если вам доведется столкнуться с такими ошибками, попробуйте запустить IDLE из командной строки, что вынудит ее запуститься в виде единственного процесса и позво- лит избежать проблем с поддержанием соединения: для принудительного запуска в этом режиме используйте флаг –n.

Центр помощи » Оч.нужна помощь! Благодарность и вознаграждение гарантирую! » Дек. 29, 2015 01:51:57

Всем привет! Кто успешно юзал codecombat пожалуйста отзовитесь. Очень нужна помощь в прохождении уровней, при чем не всех, а только тех. которые доступны бесплатно. Самый 1-й (Подземелье) сделан, нужны решения 2, 3, 4. Подробнее условия и размер вознограждения обсудим. tank_zp@i.ua

Django » django - работа с текстовыми файлами в админке » Дек. 28, 2015 09:52:10

Дорогие форумчани, ткните носом как реализовать отдачу файлов из сервера в админке джанго? Нужно реализовать отдачу не медиа файлов, а обычных текстовиков.

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

Пока прикрутил вот такую штуку
Но не разобрался как скачать файл с админки с авторизацией по пользователю.

Процесс гугления завел в тупик.
Заранее спасибо.

Python для новичков » Как реализовать мультипоточность  » Дек. 26, 2015 20:05:57

Всех приветствую.
Помогите с мультипоточность разобраться. Задача: в директории есть файлы с именем 145.55.24.158.txt 78.75.154.68.txt итд. нужно взять из названия файла ip , открыть этот файл внутри которого - логины построчно, взять пароли из другого файла, перебрать логины, пароли итд
В блоке кода предоставленного ниже беру IP. А вот что дальше делать не представляю. Если не корректно сформирован вопрос, дополню.
directory = 'c:/python27/Ip/'  
files = os.listdir(directory)
for i in files: 
    host = i[:-4] #Ip адрес = имя файла - .txt

Вот сам код который хочу использовать
#!/usr/bin/python
 
import threading
import Queue
import socket
 
usernameList = open('users.txt','r').read().splitlines()
passwordList = open('passwords.txt','r').read().splitlines()
class WorkerThread(threading.Thread) :
        
 
    def __init__(self, queue, tid) :
        threading.Thread.__init__(self)
        self.queue = queue
        self.tid = tid
 
    def run(self) :
        while True :
            username = None 
 
            try :
                username = self.queue.get(timeout=1)
 
            except Queue.Empty :
                return
 
            try :
                for password in passwordList:
                    res = host +  ':' + username + ':' + password + '\n' # В этот цикл нужно передать HOST здесь будет код для проверки подключения
                    
            except :
                raise 
 
            self.queue.task_done()
            
queue = Queue.Queue()
 
threads = []
for i in range(1, 40) : # Number of threads
	worker = WorkerThread(queue, i) 
	worker.setDaemon(True)
	worker.start()
	threads.append(worker)
 
for username in usernameList :
	queue.put(username)     # Push usernames onto queue
 
queue.join()
 
# wait for all threads to exit 
 
for item in threads :
	item.join()
 
print "Testing Complete

Python для новичков » помогите с записью в .xls файл » Дек. 25, 2015 12:13:15

Задача: прочитать из столбца “С” длинное наименование, содержащее в первых символах строки артикул и записать его в столбец “В”.
ниже привожу коды. все читает. артикул выделяет правильно, а в файл не записывает.
Помогите пожалуйста найти ошибку и исправить. может я что то не так совсем делаю?




import xlwt, xlrd
import xlsxwriter
rb = xlrd.open_workbook(r“c:\pyt\000.xls”)
workbook = xlsxwriter.Workbook('C:\pyt\000.xls')
worksheet = workbook.add_worksheet()
sheet = rb.sheet_by_index(0)
print (sheet)
i=0
ii=0
k=0
VC=
tmp=

# выделяем столбец с артикулом и вырезаем из строки артикул
for ii in range(sheet.nrows):
value_c=sheet.cell_value(ii,2)
for k in range(100):
if value_c == “ ”:
art = value_c

worksheet.write(ii,1,art)
break
k+=1

Python для экспертов » Mock классов и методов » Дек. 23, 2015 23:48:35

Продолжаю разбираться с этой бедой, и вот, что имею (Python 2.7):

1)
from mock import Mock, patch, create_autospec
 
class A(object):
    def func1(self, arg):
        return arg
 
 
class B(object):
    def func1(self, arg):
        a = A()
        return "=== %s ===" % a.func1(arg)
 
 
b = B()
print b.func1("hello") # === hello ===
 
mocked_A = create_autospec(A)
ma = mocked_A()
print ma.func1("hello") # <MagicMock bla-bla-bla'>
 
ma.func1.return_value = "world"
print ma.func1("hello") # world
 
globals()['A'] = mocked_A
b = B()
print b.func1("hello") # === world ===

Вывод:
=== hello ===
<MagicMock name='mock().func1()' id='3070641676'>
world
=== world ===

2) если же, вместо
ma.func1.return_value = "world"
написать
mocked_A.func1.return_value = "world"
, что казалось бы логичнее, так как вроде патчим именно класс, а не экземпляр, то будет вот так:

from mock import Mock, patch, create_autospec
 
class A(object):
    def func1(self, arg):
        return arg
 
 
class B(object):
    def func1(self, arg):
        a = A()
        return "=== %s ===" % a.func1(arg)
 
 
b = B()
print b.func1("hello") # === hello ===
 
mocked_A = create_autospec(A)
ma = mocked_A()
print ma.func1("hello") # <MagicMock bla-bla-bla'>
 
mocked_A.func1.return_value = "world"
print ma.func1("hello") # world
 
globals()['A'] = mocked_A
b = B()
print b.func1("hello") # === world ===

Вывод:

=== hello ===
<MagicMock name='mock().func1()' id='3070903788'>
<MagicMock name='mock().func1()' id='3070903788'>
=== <MagicMock name='mock().func1()' id='3070903788'> ===

Видимо, Я здесь что-то недопонял. Как же так работает этот mock? Почему? Мне нужно поведение, как в 1-м варианте, что в принципе добился, но ещё не до конца протестил на настоящих модулях и классах (да, оно связано с предыдущим вопросом). Или может подскажете хотя бы нормальный гайд, ибо в оффициальной документации таких интересных случаев не разбирают.