Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3494 posts.

Python для новичков » Python Flair ( error in cpuinfo ) Segmentation fault » Янв. 10, 2019 09:47:58

Здравствуйте, кто нибудь сталкивался с такой ошибкой при обучении нейросети на ubuntu?
Ошибка возникает именно в начале тренировки, подготовка проходит успешно, кусок кода приложу.
            corpus = NLPTaskDataFetcher.load_classification_corpus(Path('../'), test_file='test.csv', dev_file='dev.csv', train_file='train.csv')
            word_embeddings = [WordEmbeddings('glove'), FlairEmbeddings('news-forward-fast'), FlairEmbeddings('news-backward-fast')]
            document_embeddings = DocumentLSTMEmbeddings(word_embeddings, hidden_size=512, reproject_words=True, reproject_words_dimension=256)
            classifier = TextClassifier(document_embeddings, label_dictionary=corpus.make_label_dictionary(), multi_label=False)
            trainer = ModelTrainer(classifier, corpus)
            
            trainer.train('../', max_epochs=10) # error cpuinfo


P.S.: На Windows 10 все ок.

Флейм » Ищем Senior Python Developer (back-end)  » Янв. 7, 2019 05:29:53

Senior Python Developer (back-end) в Москве

Зарплата от 250 000 руб.
Занятость: Полная занятость
Опыт работы: без опыта

Разработка back end для значимого проекта Москвы: Разработка подсистемы сбора данных; Разработка подсистемы анализа данных; Оптимизация производительности. Технологический стек проекта: Рython 2.7, python3.4 и выше; PostgreSQL (Postgi,s, Raw sql), MongoDB; Redis,RabbitMQ; Asyncio, Odoo, Tornado; Docker;
Требования к квалификации: Уверенное владение Python 2/3; Опыт от 5 лет; Знание математики и статистических методов обработки информации; Опыт работы с реляционными СУБД (PostgreSQL); Понимание принципов REST; Плюсом будет опыт работы с веб-фреймворками (Flask, Tornado, Аsyncio).
Мы предлагаем: Официальное оформление; Гибкое время начала рабочего дня; Подключение к корпоративной программе ДМС или Фитнес; Корпоративный спорт (футбольная, волейбольная, баскетбольная команды; настольный теннис); Возможность обучения; Комфортный офис в шаговой доступности от метро; Индивидуальный подход к каждому человеку в команде;
Требования: Python, Flask, PostgreSQL, MongoDB, Redis, RabbitMQ, odoo, tornado

Сферы деятельности
Информационные технологии, интернет, телеком
Программирование, Разработка

Python для новичков » Python,tornado,нужна помощь с повторной отправкой страницы » Дек. 30, 2018 08:15:45

Пытаюсь изучать вебсокеты по методичке,нашел задание и столкнулся с проблемой.Нужно создать клиент-серверное приложение с примерным принципом работы:Запускается сервер,ждет пока к нему подключится клиент,от клиента поступают какие либо данные,и после сервер генерирует и запускает новую страницу где реализована работа с клиентом,примерный код ниже.Собственно вопрос,как сделать так чтобы,сгенерированная страница,автоматически запускалась после генерирования.То есть открывается страница client.html,а после нее уже новая сгенерированная.Попытка заново вызвывать функцию get не удалась,документацию по нужной теме тоже не могу найти
 import threading
import tornado.websocket
import tornado.web
import tornado.ioloop
import lxml.etree as ET
#обработчик запросов к http серверу
strfile="client.html"
class MainHandler(tornado.web.RequestHandler):
    #обработка запроса get
    def get(self):
        print('Get')
       #передаем нашу страницу в которой реализована работа с клиентом
        self.render(strfile)
   
   
#обработчик событий вебсоккетов
class EchoWebSocket(tornado.websocket.WebSocketHandler):
    clients = []#массив клиентов
    fl = True
    index = 0
    #процедура отправки клиенту текущего индекса через 3 сек
    def go(self,client):
        print('ok')
        if(self.fl):
            self.index=self.index+1
            s = u'{"type": "chat", "data": "' +str(self.index) +'"}'
            print("send message : "+s)
        #посылаем сообщение клиенту
        client.write_message(s)
  #проверяются и датся права на действия с соккетом, здесь права даются всем
    def check_origin(self, origin):
        return True
   #обработка события открытия соединения
    def open(self):
        print("Client open")
        #добавляем клиента в список
        self.clients.append(self)
        self.fl = True
        #запускаем поток отправки сообщение клиенту
        self.go(self)
    #обработка прихода события от сервера########################
    def on_message(self, message):
        print("Client message "+message)
   
        #парсим xml файл в dom
        dom = ET.parse("file.xml")
        #парсим шаблон в dom
        xslt = ET.parse("file.xslt")
        #получаем трансформер
        transform = ET.XSLT(xslt)
        #преобразуем xml с помощью трансформера xslt
        newhtml = transform(dom)
        #преобразуем из памяти dom в строку, возможно, понадобится указать кодировку
        strfile = ET.tostring(newhtml)###новая сгенерированная страница
        
    #обработка события закрытия соккета клиента############################
    def on_close(self):
        self.fl = False
        #удаляем клиента из списка
        self.clients.remove(self)
        print("WebSocket closed")
        #создаем приложение tornado с обработчиком вебсоккетов и http сервером
app = tornado.web.Application([(r"/ws", EchoWebSocket),(r'/', MainHandler)])
#прослушиваем на порту
app.listen(10556)
print("Start Server")
#запускаем цикл прослушивания и обработки событий
tornado.ioloop.IOLoop.instance().start()

Django » Валидация. В каком месте разместить код. » Дек. 27, 2018 13:42:23

Добрый день. Возможно ответ заезжен, но все таки. Ранее никогда не задумался над тем куда вставлять код с валидацией поля. В случае с формами - в класс Forms для модели. В случае с DRF в модели Serializer.

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

Но кто и каким образом это делает? Например такой пример:

Есть 2 модели:

“тип товара”
“продажа”
В модели “продажа” есть ссылка на модель “тип товара” и кол-во.
При продаже мы должны проверить наличие товара на складе (модель “тип товара”).
Т.е при задании модели “продажа” должна вызываться валидация, которая проверяет кол-во товара из модели “тип товара”.

https://docs.djangoproject.com/en/2.1/ref/validators/#writing-validators подобное решение не подходит, т.к передается только значение поля, но нет информации о других полях (например, в которых мы можем получить ссылку на модель “тип товара”).

Метод clean не вызывается сам по себе, переопределять метод save и в нем принудительно вызывать метод clean? В общем, прошу совета, какой best practise для подобных вещей?

Django » Обработка POST запроса » Дек. 26, 2018 22:19:02

Подскажите как можно из POST уведомления яндекс мани вытащить поле суммы и прибавить его к полю в базе данных models.py ? вот что у меня получилось но что то ни чего не получается .
@csrf_exempt
def http_notification(request):
response = HttpResponse(status=404)
if request.method == 'POST':
line_notification_options = '%s&%s&%s&%s&%s&%s&%s&%s&%s' % (
request.POST['notification_type'], request.POST['operation_id'], request.POST['amount'],
request.POST['currency'], request.POST['datetime'], request.POST['sender'], request.POST['codepro'],
settings.YANDEX_MONEY_SECRET_WORD, request.POST['label'])
if request.POST['sha1_hash'] == hashlib.sha1(line_notification_options.encode()).hexdigest():
YadTransaction.objects.create(
notification_type=request.POST['notification_type'],
currency=int(request.POST['currency']),
operation_id=request.POST['operation_id'],
amount=request.POST['amount'],
withdraw_amount=request.POST['withdraw_amount'] if 'withdraw_amount' in request.POST else 0,
datetime_transfer=dateutil.parser.parse(request.POST['datetime']),
sender=request.POST['sender'],
codepro=False if request.POST['codepro'] == 'false' else True,
label=request.POST['label'],
test_notification=True if 'test_notification' in request.POST else False,
)
lab = request.POST['label']
aaa = request.POST.get('withdraw_amount')
moss = Money.objects.get(moneyname=lab)
moss.moneyvalue += aaa
moss.save()
response = HttpResponse(status=200)

Models.py
....
withdraw_amount = models.DecimalField('Сумма, которая списана со счета отправителя', max_digits=12, decimal_places=2, null=True, blank=True)
.......

class Money(models.Model):
moneyname = models.CharField(max_length=120)
moneyvalue = models.DecimalField(decimal_places=2 ,max_digits=20)

Центр помощи » Это рубежная работа, сдавать через час , прошу помогите » Дек. 26, 2018 08:46:50

Написать программу которая читает данные из файла, в котором на каждой строке через пробел координаты центра окружности и его радиуса, находи окружность с максимальной суммой координат её центра, если таких несколько взять первую далее программа формирует изображение , рисует все окружности , а окружность, отвечающею условию , заливает пурпурным цветом

Базы данных » Sqlalchemy.Relationship с primaryjoin » Дек. 24, 2018 19:56:15

 class Account(Base):
    __tablename__ = 'account'
    id = Column(Integer, primary_key=True)
    taxes = relationship('Tax',
                         primaryjoin='and_(Account.id == Tax.account_id,'
                                     'Tax.removed == False)',
                         collection_class=attribute_mapped_collection('id'),
                         cascade='all')
    def create_tax(self, id_, name):
        c = Tax(id=id_, name=name)
        self.taxes[c.id] = c
    def remove_tax(self, id_):
        contribution = self.taxes[id_]
        contribution.removed = True
class Tax(Base):
    __tablename__ = 'tax'
    id = Column(Integer, primary_key=True)
    name = Column(String(50), nullable=False)
    account_id = Column(Integer, ForeignKey(Account.id), nullable=False)
    removed = Column(Boolean, nullable=False, default=False)
Base.metadata.drop_all(engine)
Base.metadata.create_all(engine)
if __name__ == '__main__':
    account = Account(id=1)
    account.create_tax(id_=1, name='General tax')
    account.create_tax(id_=2, name='Selective tax')
    assert len(account.taxes) == 2
    account.remove_tax(id_=1)
    assert len(account.taxes) == 1

Проблема в следующем: с веба приходит список действий, которые необходимо выполнить для изменения коллекции account.taxes. Это либо создание, либо удаление налогов. При этом при создании налога необходимо проверять, не выходит ли количество налогов за определенное ограничение, т.е. коллекция должна быть актуальна, и мы всегда должны знать ее длину. Но при выполнении account.remove_tax коллекция остается в прежнем состоянии, т.к. на самом деле налог не удаляется из нее, а для него устанавливается флаг removed = True. Актульной эта коллекция будет только при следующей загрузке из БД.
Если удалять налог из коллекции, то это приводит к обнулению Tax.account_id и ошибке при коммите.
Можно ли как-то настроить отношение, чтобы при удалении налога из коллекции не обнулялся account_id, и он оставался в БД с флагом removed = True?

Центр помощи » Построение графиков асимптотической и логистической функций » Дек. 22, 2018 22:56:24

Суть следующей задачи заключается в построении графиков асимптотической и логистической функции.
Для асимптотической функции (функцию не смог подобрать, но хотелось бы привести примеры):
 import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as p3
import matplotlib.animation as animation
from scipy.integrate import odeint
from scipy.optimize import curve_fit
def show(fun, arg):
    print(type(fun), ':', fun)
    print('arg =',arg,'=> fun(arg) =', fun(arg))
    
def f()
t = np.linspace( 0, 20, 50) # vector of time
y0 = [100, 300] # start value
w = odeint(f, y0, t) # solve eq.
y1 = w[:,0]
y2 = w[:,1]
fig = plt.figure(facecolor='white')
#plt.plot(t, y1, '-o', t, y2, '-o', linewidth=2)
plt.plot(y1, y2, '-o', linewidth=2)
plt.ylabel("z")
plt.xlabel("t")
plt.grid(True)
plt.show() # display
# T=2pi/sqrt(ab) U=b/gamma2 V=a/gamma1
# U= 1/T int (ot 0 do T) U(t)dt
# V= 1/T int (ot 0 do T) V(t)dt
# U0=199 V0=200 U=50/500
U_fig = range(50,500,25)
V_fig = range(50,500,25)
for u_t in U_fig:
    for v_t in V_fig:
        
        F=[u_t, v_t]
        
        
#X = open('test.txt', 'r')
b = np.array

Для логистической функции:
 import numpy as np
import math
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as p3
import matplotlib.animation as animation
from scipy.integrate import odeint
def show(fun, arg):
    print(type(fun), ':', fun)
    print('arg =',arg,'=> fun(arg) =', fun(arg))
x = np.linspace(-5, 2, 100)
def P(x,y):
    return 1/(1+math.pow(math.e, y))
t = np.linspace( 0, 20, 100) # vector of time
x0 = [10, 300] # start value
w = odeint(P, x0, t) # solve eq.
x1 = w[:,0]
x2 = w[:,1]
fig = plt.figure(facecolor='white')
#plt.plot(t, y1, '-o', t, y2, '-o', linewidth=2)
plt.plot(x1, x2, '-o', linewidth=2)
plt.ylabel("z")
plt.xlabel("t")
plt.grid(True)
plt.show() # display
# T=2pi/sqrt(ab) U=b/gamma2 V=a/gamma1
# U= 1/T int (ot 0 do T) U(t)dt
# V= 1/T int (ot 0 do T) V(t)dt
# U0=199 V0=200 U=50/500
U_fig = range(50,500,25)
V_fig = range(50,500,25)
for u_t in U_fig:
    for v_t in V_fig:
        
        F=[u_t, v_t]

GUI » QTreeView и модель RootPath » Дек. 19, 2018 09:09:13

Как в окне с данной моделью при двойном нажатии мышкой на какой-либо файл получить его путь и расширение?

Python для новичков » Проблемы с pythonwin » Дек. 19, 2018 00:35:20

Установил python 2.7.15, с помощью pip установил pywin32 и при попытке запустить pythonwin, вот такое окошко: . Хотя этот файл (win32ui) лежит в той же папке что и pytonwin. Пути в переменных среды прописаны, ранее на системе, питона установлено не было. Как-таки запустить pythonwin? Спасибо.

Web » cookie » Дек. 17, 2018 12:57:10

Добрый день всем. Я пробую прочитать сайт http://primgazeta.ru/rss/ программой: import cookielib hdr = {'User-Agent': ‘Magic Browser’, ‘Set-cookie’: ‘beget=begetok; expires=expstr; path=“/”’} hdr = ‘beget=begetok; expires=’+expires+'; path=“/”' req = urllib2.Request(url, headers=hdr) try: page = urllib2.urlopen(req) print page.info() except urllib2.HTTPError, e: print e.fp.read() html = page.read() print html return html; и получаю
Тогда я попробовал так: from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler import cookielib import js2py def getHtmlCook(url, expires): import cookielib cook = ‘beget=begetok; expires=’+expires+'; path=“/”' cj = cookielib.CookieJar() opener = build_opener(HTTPCookieProcessor(cj)) opener.addheaders.append(('Cookie', cook)) try: page = opener.open(url) print page.info() except urllib2.HTTPError, e: print e.fp.read() html = page.read() print html return html; js = “”“ function set_expires() { var now = new Date() var time = now.getTime() time += 19360000 * 1000 now.setTime(time) return now.toUTCString() } set_expires() ”“” result = js2py.eval_js(js) + ‘ GMT’ xml = getHtmlCook('http://primgazeta.ru/rss/', result) print xml и получил тот же ответ. Подскажите, пожалуйста, что делаю не так и что надо сделать, чтобы получить нормальный xml. (Хотелось бы конкретный код.) Заранее спасибо всем.

Python для новичков » pycharm, обращение к классу через точку » Дек. 12, 2018 22:09:22

Здравствуйте. В pycharm, при обращении к импортированному модулю через точку, в выпадающем меню не видны его внутренности, хотя в интерпретаторе cpython, который также является интерпретатором для чарма, все работает. Пути прописаны… вроде. Что можете подсоветовать по данному вопросу?

Центр помощи » help СРОЧНО осталось 30 минут » Дек. 11, 2018 16:38:57

Представьте себе, что ваш очень хороший друг (будем именовать его Василием) разрабатывает устройство, анализирующее данные из космоса! Это устройство получает измерения со спутника, расположенного на геостационарной орбите. Василий просит вас написать программу на Python, чтобы помочь ему узнать, какие из полученных данных являются корректными. Данные сильно засекречены, поэтому вы получаете последовательность, состоящую только из неотрицательных целых чисел. Василий говорит, что первое и последнее число в последовательности определяют диапазон корректных значений: первое – это число, на которое квадрат корректного значения должен делиться c остатком, последнее – число, на которое корректное значение должно делиться без остатка.

Помогите Василию написать программу, которая формирует из полученной последовательности чисел новую последовательность, состоящую только из правильных значений с точки зрения Василия.

Сначала вводится количество данных, затем каждое число на отдельной строке.

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

Формат ввода
Сначала вводится количество данных, затем каждое число на отдельной строке. Гарантируется валидность входных данных.

Формат вывода
Последовательность целых чисел, каждое число с новой строки.

Пример 1
Ввод Вывод
5
3
14
6
26
2
14
26
Пример 2
Ввод Вывод
10
5
6
9
15
30
44
42
10
12
3



Василий получил ваши данные и поблагодарил вас, поскольку вы ему очень помогли. Прошло время, и он модернизировал алгоритм шифрования своего спутника. Теперь спутник возвращает последовательность строк, а правило корректности звучит так: строка является корректной, если количество уникальных символов в ней чётное, в ней содержится как минимум 3 разных гласных английского языка и она начинается со строчной буквы.

Василий снова просит вас ему помочь.

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

Прописные и строчные буквы считаются разными (например, ‘F’ и ‘f’ — разные буквы).

Формат ввода
Сначала вводится количество данных, затем данные, каждый элемент на отдельной строке. Гарантируется валидность входных данных, строки состоят только из букв английского алфавита (заглавных и строчных), а также цифр.

Формат вывода
Последовательность строк, каждая из которых содержит один элемент последовательности.

Пример 1
Ввод Вывод
10
htCNpA
ppZCUYsthNhi
GofWy1Ca78a
V7BMwx7id1q6
kUjLOo
LrLvT
rD1OxyHATiIgvcWI3
DR9Od40uVYf4VY
vNQomxTy47XQc
6UzL9qO
ppZCUYsthNhi
kUjLOo
rD1OxyHATiIgvcWI3
Пример 2
Ввод Вывод
5
fjm8IsLzuYct5QpC
k9nosXSVyzkUTypmc62A
4XQda35xM26Q67p1
pNO4xqIWYyfL
byY6heiUzM
fjm8IsLzuYct5QpC
k9nosXSVyzkUTypmc62A
pNO4xqIWYyfL
byY6heiUzM
Примечания
Под гласными буквами в этой задаче понимаются aeiouy (заглавные и строчные)






Василий снова модифицировал алгоритм своего спутника. Теперь в целях экономии он присылает данные в одну строку, разделителем при этом являются символы ‘***’. Информация о каждом измерении содержит 5 полей, в свою очередь разделённых символом “;”. Первое поле хранит название параметра, второе – модуль максимально возможное значения этого параметра, третье – само значение параметра, четвёртое – контрольное значение для названия параметра, а пятое – контрольное значение для самого параметра. Первый параметр – это строковое значение, остальные – целочисленные.

Критерий правильности:
1. Значение параметра по модулю не превышает максимума.
2. В названии параметра используется не больше уникальных символов, чем указано в контрольном значении названия параметра.
3. Контрольное значение самого параметра – остаток от целочисленного деления значения параметра на 31.
4. Название параметра содержит как минимум 2 разных цифры.

Напишите программу, которая из приведённого набора данных выбирает правильные и выводит их на экран.

Прописные и строчные буквы считаются разными (например, ‘F’ и ‘f’ — разные буквы).

Формат ввода
Строка, содержащаяя все исходные элементы, через указанные разделители. Гарантируется валидность входных данных

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

Пример 1
Ввод Вывод
DcHdqcc;724;-169;19;27***3yRnL7he5;97;-2;10;29***K2iTMSHNr;483;-44;16;27***lFTm5k;632;-722;8;4***L355kDy;12;-2;12;29***iDWUNu;946;565;0;9
3yRnL7he5;97;-2;10;29***L355kDy;12;-2;12;29
Пример 2
Ввод Вывод
Zm8hu;692;-643;4;24***AqjQ8V8;73;30;13;30***HnQ60Z7gmH;87;-63;16;30***iid4QHG4Kb;622;382;10;7***XfQmtPpz;955;-851;4;30***l0oYj4IHi;161;-559;14;13
HnQ60Z7gmH;87;-63;16;30

Python для новичков » помогите воспаленному мозгу с путями для тестов проекта » Дек. 9, 2018 19:27:12

Такс. Использую ST3 + Anaconda.
Структура папок на картинке. Тест сам по себе проходит.

Исходник:

 from kits_config import Kit
from kits_config import Kits
import unittest as _t
class TestKit(_t.TestCase):
    def setUp(self) -> None:
        Kit.kit_ids = list()
        Kit.kit_names = list()
        self.kit = Kit('TestKit', 'testdata/TestKitSamples', -5)
        self.kit._nka_path = 'testdata/'
    def tearDown(self) -> None:
        del self.kit
    def test_errors(self) -> None:
        """test for proper raising errors"""
        self.kit._samples_path = 'testdata/TestKitWrongSamples'
        with self.subTest():
            with self.assertRaises(Kit.Error) as e:
                self.kit.zones
            self.assertEqual(str(e.exception),
                             'length of zones and names lists is not equal.'
                             ' Probably, zones have to be updated for '
                             f'{self.kit.name}')
    def test_lists(self) -> None:
        """test contents of arrays"""
        print(__file__)
        print(__name__)
        with self.subTest():
            self.assertEqual(len(self.kit.zones), len(self.kit.names))
        self.assertEqual(self.kit.zones, [1, 2, 3])
        self.assertEqual(self.kit.names, ['TestKit_sample_1',
                                          'TestKit_sample_2',
                                          'TestKit_sample_3'])
class TestKits(_t.TestCase):
    def runTest(self) -> None:
        self.kits = Kits()
        Kit1 = Kit('Kit1', '.', -1)
        Kit2 = Kit('Kit2', '.', -2)
        self.kits.append(Kit1)
        self.kits.append(Kit2)
        with self.assertRaises(NameError):
            Kit('Kit2', '.', -3)
        with self.assertRaises(IndexError):
            Kit('Kit3', '.', -2)
        self.assertEqual(self.kits.Kit1, Kit1)
        self.assertEqual(self.kits[0], Kit1)
        self.assertEqual(self.kits.Kit2, Kit2)
        self.assertEqual(self.kits[1], Kit2)
if __name__ == '__main__':
    _t.main()

test_project_path выставлен в {PROJECT_DIR}/source

вывод:

 EE.
======================================================================
ERROR: test for proper raising errors
----------------------------------------------------------------------
Traceback (most recent call last):
  File "F:\Leo Percussion\source\test_kits_config.py", line 23, in test_errors
    self.kit.zones
  File "F:\Leo Percussion\source\kits_config.py", line 62, in zones
    self._check_actuality()
  File "F:\Leo Percussion\source\kits_config.py", line 51, in _check_actuality
    self.update_sample_zones()
  File "F:\Leo Percussion\source\kits_config.py", line 38, in update_sample_zones
    with open(self._nka_path + self.name + '.nka') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'testdata/TestKit.nka'
======================================================================
ERROR: test contents of arrays
----------------------------------------------------------------------
Traceback (most recent call last):
  File "F:\Leo Percussion\source\test_kits_config.py", line 33, in test_lists
    self.assertEqual(len(self.kit.zones), len(self.kit.names))
  File "F:\Leo Percussion\source\kits_config.py", line 62, in zones
    self._check_actuality()
  File "F:\Leo Percussion\source\kits_config.py", line 51, in _check_actuality
    self.update_sample_zones()
  File "F:\Leo Percussion\source\kits_config.py", line 38, in update_sample_zones
    with open(self._nka_path + self.name + '.nka') as f:
FileNotFoundError: [Errno 2] No such file or directory: 'testdata/TestKit.nka'
-------------------- >> begin captured stdout << ---------------------
F:\Leo Percussion\source\test_kits_config.py
--------------------- >> end captured stdout << ----------------------
----------------------------------------------------------------------
Ran 3 tests in 0.054s
FAILED (errors=2)
[Finished in 0.4s with exit code 1]
[shell_cmd: nosetests  ./source]
[dir: F:\Leo Percussion]

Простите, чего-то башка не варит, куда прописать, чтоб пути были правильные?
Пробовал доставать абсолютный путь через path.dirname(path.abspath(__file__)), но там вообще какие-то черти с кодировкой полезли….

Python для новичков » Обработка двумерных массивов » Дек. 8, 2018 18:12:44

1.Вычислить сумму отрицательных элементов, расположенных в
столбцах с номерами, кратными 3.
2.В каждом столбце матрицы найти сумму отрицательных элементов
и вычислить произведение этих сумм.

Помогите кто может, буду благодарен.

Центр помощи » Обработка двумерных массивов » Дек. 8, 2018 17:12:13

1.Вычислить сумму отрицательных элементов, расположенных в
столбцах с номерами, кратными 3.
2.В каждом столбце матрицы найти сумму отрицательных элементов
и вычислить произведение этих сумм.

Помогите кто может, буду благодарен.

Python для новичков » Модуль(и) для работы с аудио (lossless) » Дек. 8, 2018 13:58:20

Добрый день!
Подскажите, пожалуйста, какие есть модули для:
1) разбивки больших файлов FLAC, WAVPACK, APE на дорожки согласно CUE
2) перекодирования полученных дорожек во FLAC (если они после разбивки ещё не во FLAC)
3) изменения частоты дискретизации FLAC
Нашел обвязку для cuetools, но есть ли реализация на Python, без необходимости установки дополнительного ПО?

GUI » как в главном окне PyQt5 правильно создать триггер пункта меню из модульного файла? » Дек. 8, 2018 07:29:58

Добрый день.
есть основной файл main.py с главным окном приложения mainmdi.py (инициализируемый генератором pyuic), содержащий menubar с меню uvedoml_menu и mdi форму mdiArea
  import mainmdi
class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = mainmdi.Ui_MainWindow()
        self.ui.setupUi(self)
        # self.setWindowFlag(Qt.MSWindowsFixedSizeDialogHint)
        date_time = QDateTime.currentDateTime()
        self.ui.Period.setDate(date_time.date())
есть модульный файл, расположенный в подпапке subfolder, с такими функциями:
 def NewUvedoml_ur_clicked(parent):
    ur_w = NewUvedomlenie()
    # w.ui.get_data_btn.setHidden(False)
    sWindow = QtWidgets.QMdiSubWindow(parent.mdiArea)
    sWindow.setWidget(ur_w)
    parent.mdiArea.addSubWindow(sWindow)
    sWindow.setAttribute(Qt.WA_DeleteOnClose)
    sWindow.setWindowFlag(Qt.MSWindowsFixedSizeDialogHint)
    sWindow.setWindowTitle("Новое уведомление по юридическим лицам и приравненным")
    sWindow.adjustSize()
    ur_w.ui.comboTypePotr.setCurrentIndex(0)
    sWindow.show()
def add_menus_to_main(parent):  # parent = self.ui
    # создаем подменю модуля
    parent.new_sub_menu = QtWidgets.QMenu("&Новые уведомления")
    parent.uvedoml_menu.insertMenu(parent.uvedoml_menu.actions()[0], parent.new_sub_menu)
    # добавляем новую кнопку (юр) в меню и выставляем на исполнение
    parent.ur_new_uvedoml_action = QtWidgets.QAction("Новое уведомление &Юр")
    parent.ur_new_uvedoml_action.setShortcut("Ctrl+U")
    #clicked_ur = NewUvedoml_ur_clicked(parent)
    #parent.ur_new_uvedoml_action.triggered.connect(clicked_ur)
    parent.new_sub_menu.insertAction(parent.uvedoml_menu.actions()[0], parent.ur_new_uvedoml_action)
class NewUvedomlenie(QtWidgets.QDialog):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.setWindowFlag(Qt.MSWindowsFixedSizeDialogHint)
        self.ui = new_uvedoml.Ui_Dialog()

в данный момент при добавлении в main.py строки
 import subfolder.new_uvedoml_form as new_uvedoml_form
и добавлением в dev __init__ строки
 new_uvedoml_form.add_menus_to_main(self.ui) 
нужные пункты меню отрисовываются как положено, но имеется проблема при раскомментировании строк с
 clicked_ur 
и
 parent.ur_new_uvedoml_action.triggered.connect(clicked_ur)
подскажите, как правильно передать в функцию NewUvedoml_ur_clicked параметр parent, чтобы полученные пункты меню стали реагировать на нажатия с созданием субокна. в данный момент программа вылетает с ошибкой: File “E:\Python_Programming\Limits\subfolder\new_uvedoml_form.py”, line 58, in add_menus_to_main
parent.ur_new_uvedoml_action.triggered.connect(clicked_ur)
TypeError: argument 1 has unexpected type ‘NoneType’

Ранее функция NewUvedoml_ur_clicked была в файле main.py и была частью класса MyWin и отрабатывалась как положено без параметра (вместо param был self ну и на местах параметра было self.ui. триггер тоже был частью __init__ и отрабатывался как надо (NewUvedoml_ur_clicked вызывалась без скобок) захотел перенести все в файл модуля для дальнейшего минимального редактирования основного файла и более простой масштабируемости (все настройки делать в модулях и потом просто двумя строками подключать их)

“косметика” вроде как получилась, а вот функционал нет

Центр помощи » Кратчайший путь во взвешенном графе методом Дейкстра » Дек. 6, 2018 19:12:36


Помогите, пожалуйста! Уже третий день не получается это сделать

Python для новичков » Не могу запустить проект в Visual Studio Code » Дек. 3, 2018 07:39:36

Проект скачал отсюда https://github.com/AppliedDataSciencePartners/DeepReinforcementLearning
Использует Tensorflow, Keras и Jupiter
При запуске выдает ошибку ModuleNotFoundError