LINUX.ORG.RU

291
Всего сообщений: 2217

Конфликты задач в apscheduler

Есть скрипт на питоне, который получает задания в виде пары «действие» и «день и время в cron формате» и добавляет их в очередь apscheduler. Значение дня может быть wildmark'ом.

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

 ,

WDWTFWW ()

Как в Python & tkinter при использовании MVC создать главное окно программы?

Пытаюсь реализовать шаблон MVC для приложения по примеру https://github.com/li360/tkinter-mvc

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

( читать дальше... )

 , ,

hocktar ()

Не получается отдать видео файл в виде partial content

Всем трям. Пытаюсь на торнадо научиться отдавать видео файл. Проверяю в хроме. Если отдаю файл целиком, то все работает, но браузер кидает мне 2 реквеста, желая работать по технологии partial content https://ru.wikipedia.org/wiki/HTTP#.D0.94.D0.BE.D0...BA.D0.B0.D1.87.D0.B8.D0....

Почитал, запилил реализацию у себя, но браузер кидает теперь 2-3 запроса и видео не показывает. Вот кот http://pastebin.com/DvsPmevc

В чем может быть проблема?

Если надо, могу скопипастить реквест/респонз.

 , ,

panter_dsd ()

Проблема с Python

Дан список чисел. Нужно найти минимальную сумму соседних 2-х чисел. Выдает ошибку: min = min(nums + nums[i + 1], min) TypeError: 'int' object is not callable

import random

random.seed(50)

N_MAX = 10 RANGE_MIN = 1 RANGE_MAX = 100 nums = random.sample(range(RANGE_MIN, RANGE_MAX), N_MAX)

print(nums)

min = RANGE_MAX * 2 for i in range(len(nums)): min = min(nums + nums[i + 1], min)

print(min)

Понять не могу где моя ошибка.

 , ,

elooreed ()

Работа с tty в Orange Pi One

На днях получил Orange Pi One и начал в ней разбираться, решил понять как пользоваться RX и TX на 8 и 10 ножках, но после поисков в интернете запутался еще больше. 1) Какой конкретно tty нужен для этих ножек? Я так понимаю что /dev/tty2? 2) Какое на них напряжение? 3.3V? 3) Их нужно как-то включить? Если да, то собственно где мне это сделать (установил Raspbian с сайта производителя)

Подключил к компьютеру через этот адаптер, по схеме TX(8) > TX RX(10) > RX GND > GND, попытался слать какую-то информацию через программку на Python:

#!/usr/bin/env python
import time
import serial
          
ser = serial.Serial(
    port='/dev/tty2',
    baudrate = 9600,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS,
    timeout=1
)
counter=0
while 1:
    ser.write('Write counter: %d \n'%(counter))
    time.sleep(1)
    counter += 1
Но даже лампочки на адаптере не мигают, не говоря уж про работу консоли.

Помогите разобраться, заранее спасибо!

 , ,

GeneralProger ()

Oven и minimalmodbus

есть два устройства, Овен АС4 и МБ110

МБ110 подключается к ПК через АС4 и USB

хочется научиться управлять ими без офтопика и с помощью питон?

где то бы что-то посмотреть рабочее или почитать умное

помогите разобраться

 

fMad ()

Python Serial

Итак есть устройство OPH-3001. Есть к ним драйвера для OC Windows и небольшая программа. С помощью USBpcap я отловил два состояния вкл (http://hostingkartinok.com/show-image.php?id=d31dd2ffa732c01ed7b221100f1979fe) и откл (http://hostingkartinok.com/show-image.php?id=9c6085811c4bf68facd66769dab98854) устройства. Я так понимаю при включении, на адрес 0x41 отсылается 1 байт, а при отключении, на тот же адрес отсылается 2 байта (можете бить сапогами если написал ахинею). [code = Python] import serial

port = serial.Serial('/dev/ttyUSB0')

Вопрос, как отсылать эти команды?! Буду благодарен если ткнете меня носом в нужное направление!

 ,

prog1c ()

Org-mode python session complete

#+BEGIN_SRC python :session :results none
import numpy as np
#+END_SRC

#+BEGIN_SRC python :session :results output
np.__
#+END_SRC

Во втором блоке, после перехода в org-edit-special (C-c ') отсутствует code completion для python кода обьявленого в первом блоке. Например: np.__<TAB> ничего не происходит. Дополнение работает на уровне файла который создает org-edit-special и то что обьявлено в другом src блоке anaconda невидит.

Кто может поделиться настройками?

Ps.
python+anaconda+company настроен и работает.

 , , , ,

robotron5 ()

Python Mysql reconnect

Всем привет! Как сделать так, чтобы при таймауте соединения с базой происходило переподключение к ней? Везде рекомендуют ping, но оно не работает. Пока использую вот такой код и он не работает:

while True:  #it works until the data was not saved                                                   
    try:                                                                                              
        self.cur.execute("SELECT property FROM objects WHERE id = %s", str(self.object_id))              
        # Delay of aggregator                                                                         
        self.agg_delay = int(self.cur.fetchall()[0][0])                                               
        break                                                                                         
    except pymysql.err.OperationalError:                                                              
        self.conn.ping(True)

Выдает вот такое:

  File "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 112, in execute
    result = self._query(query)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 230, in _query
    conn.query(q)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 607, in query
    self._affected_rows = self._read_query_result()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 691, in _read_query_result
    result.read()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 869, in read
    self.first_packet = self.connection.read_packet()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 685, in read_packet
    packet = packet_type(self)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 200, in __init__
    self.__recv_packet()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 206, in __recv_packet
    raise OperationalError(2013, "Lost connection to MySQL server during query")
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "back_server.py", line 62, in prepare
    self.cur.execute("SELECT property FROM objects WHERE id = %s", str(self.object_id))
  File "/usr/local/lib/python3.4/dist-packages/pymysql/cursors.py", line 117, in execute
    self.errorhandler(self, exc, value)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 189, in defaulterrorhandler
    raise errorclass(errorvalue)
pymysql.err.OperationalError: (2013, 'Lost connection to MySQL server during query')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 631, in ping
    self._execute_command(COM_PING, "")
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 716, in _execute_command
    self._send_command(command, sql)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 712, in _send_command
    self.wfile.flush()
  File "/usr/lib/python3.4/socket.py", line 391, in write
    return self._sock.send(b)
BrokenPipeError: [Errno 32] Broken pipe

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/dist-packages/tornado/web.py", line 1446, in _execute
    result = self.prepare()
  File "back_server.py", line 67, in prepare
    self.conn.ping(True)
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 634, in ping
    self._connect()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 677, in _connect
    self._request_authentication()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 719, in _request_authentication
    self._send_authentication()
  File "/usr/local/lib/python3.4/dist-packages/pymysql/connections.py", line 730, in _send_authentication
    self.user = self.user.encode(self.charset)
AttributeError: 'bytes' object has no attribute 'encode' 1.50ms

 , ,

aido ()

Циклы PYTHON Варианты записи

Привет!

Можно ли исполнять циклы непосредственно в модулях или функциях? Вот например простой цикл в одну строчку

if x < y != 0:    print("rm ./test.txt")
корректна ли в PYTHON такая запись?

subprocess.Popen([if x < y != 0:    print("rm ./test.txt")],shell=True, stdout=subprocess.PIPE)

Если да, то какой правильный синтаксис вставки циклов? Или возможно ли например вывод цикла завести в лист не через a.append(), а другими методами?

a = 'if x < y != 0: ....'

 

den3332011 ()

PYTHON вопрос по перестановке

Привет.

Вопрос для кого-то наверно простой

есть 2 переменные

print d, t
[14, 20, 2, 8] [-10, -12, -13, -14]

данные надо перемешать {0} {4} {1} {5} и т.д. чтобы получилось 14 -10 20 -12 и т.д.

пишу такое

for line4 in d:
for line5 in t:
print {line4}+' '+{line5}

ответ

TypeError: unsupported operand type(s) for +: 'set' and 'str'

в примерах у кого-то вроде работало, но у меня не тот тип данных или что, никак пока не понятно.

 

den3332011 ()

pass var from bash env to python

Есть файл с локальными настройками (логины, пароли, адрес базы данных). Пишу как обычно в файл:

export db_uri='sqlite:///some.db'
export login='admin'
export passwd='pa$$w0rd'
в скрипте питона пишу:
from os import getenv
engine = create_engine(getenv('db_uri'))
файл создаётся со знаком вопроса в конце (some.db?). При удалении баш дописывает some.db^M. Я так понимаю в переменную как-то затесался \n, собственно вопрос, а как передать правильно?

 , ,

conformist ()

какие есть варианты разработки на удаленном сервере в PyCharm?

может по самбе или ssh?

в инете искал находит только «Идем в file-> settings-> deployment» в моем пайчарме такого нет

Create New Project: Add Remote Server

File | New Project From Existing Files - Web server is installed locally, source files are located elsewhere locally File | New Project From Existing Files - My web server is on remote host, files are accessible via network share or mounted drive File | New Project From Existing Files - My web server is on remote host, files are accessible via FTP/SFTP/FTPS

где это там такое?

 ,

megido ()

С++ разработчик на удаленную основу/оплата от 100 тыс.руб.

Мы - узкоспециализированная компания по разработке сложного программного обеспечения для зарубежных заказчиков. Требуются: Глубокие знания С++ Опыт системной разработки как минимум под одну из ОС Linux/Windows/OS X Понимание принципов многопоточного и сетевого программирования Понимание принципов ООП, паттернов проектирования и рефакторинга Опыт разработки с использованием библиотек Qt, STL, boost и т.д Опыт разработки баз данных Приветствуется знание алгоритмов и структур данных Плюсом будет знание Python Условия: Работа удаленная Готовы обсудить варианты с частичной занятостью Почасовая ставка от 600 рублей в час. Очень сильная команда разработки с опытом работы в Яндекс Гарантируем быстрый рост в сфере разработки системного ПО Дружеская позитивная атмосфера :)

Ждем Ваше резюме на lina@mediterra-soft.com

 , , ,

Mediterra-soft ()

Различие минорных версий python

Привет. Совместимы ли минорные версии питона? Например, Python 3.5.0 и Python 3.5.2.

 ,

chen-san ()

Процесс хочет сообщить о себе данные

Привет. У меня есть процесс пусть tokenizer, который запускается независимо от меня и генерирует внутри себя токен, с которым дальше работает как ему надо. Внешний процесс хочет этот токен прочитать по PIDу tokenizer-a. Я могу менять код tokenizer-a, он на питоне. Конечно, можно нагородить IPC или писать временные файлы типа /tmp/tokenizer.PID, но по-моему и IPC и временные файлы для одной строки текста - это очень криво. Может ли tokenizer записать внутри себя этот токен таким образом, которую можно будет прочитать, например, через /proc/PID/?

Типа

# ???
magic(token)


# из внешнего шелла...
cat /proc/PID/magic
7b-4


Код Linux-only, о переносимости можно не заботиться.

 , ,

former_anonymous ()

Реально увеличить значение hex символа?

Надо name = '\x01' превратить в '\x02'

Пробовал оперировать >> и <<, ругается на str.

 

steemandlinux ()

Какую версию Python учить в 2017

Привет. Собственно сабж.

 ,

bokurano ()

Проблема с socketio flask

В общем что я хочу сделать — есть функция, которая работает медленно (парсит некоторые данные в интернете и отдаёт их постепенно, допустим с yield). Я хочу, чтобы пользователь не ждал всех результатов и потом увидел всю страницу целиком, а получал эти данные по мере поступления. Выбор пал на flask_socketio. Для примера я создал простейшее приложение. Оно отдаёт изначально готовый шаблон и этот шаблон я хочу наполнить новыми элементами. Код:

from flask import Flask, render_template
from flask_socketio import SocketIO
from time import sleep
app = Flask(__name__)
socketio = SocketIO(app)


@app.route('/')
def index():
    return render_template('index.html')


@socketio.on('connect')
def test_connect():
    for i in range(5):
        html = render_template('div.html', number=i)
        socketio.emit('update', {'tag': html})
        sleep(1)


if __name__ == '__main__':
    socketio.run(app, host='0.0.0.0', debug=True)
и 2 шаблона html, думаю их показывать не стоит, покажу только js из index.html:
	var insertElement = function(html){
		var el = document.createElement('div');
		el.innerHTML = html;
		return el.childNodes[0];
	}
	$(document).ready(function(){
		var socket = io.connect('http://' + document.domain + ':' + location.port);
		socket.on('update', function(response){
			insertElement(response.tag);
			console.log('data: ' + response.tag);
		});
	});
Версии используемых либ:

jquery — 3.1.1, socket.io — 1.7.2.

Собственно, что происходит: при загрузке страницы в консоли js я вижу очень долгий первый запрос, потом быстро несколько запросов и вывод в консоль в одну секунду всех результатов. Почему так происходит — я понять не могу, равно как и почему элементы, которые я создаю не появляются в DOM. Вот скрин происходящего click!.

Заранее благодарю за ответы/советы.

P.S. если я выбрал не тот подход, вполне соглашусь на подобный. Главное, чтобы при загрузке страницы не тупило, пока подготовятся все данные.

 , , , ,

conformist ()

Беда с py3status

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

Пробовал и переустанавливать python,pip,py3status все бесполезно один и тот же Выхлоп!

 ,

ruspezdal ()