Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3495 posts.

GUI » Пропадает изображение pixmap QT5 при загрузке из Python » Окт. 2, 2020 10:49:24

Приветствую.

Создал простую форму в QT, изменил файл .ui на .py, внес необходимые настройки. Запускаю через командную строку, не отображаются изображения. Форма работает как на QI все на месте, но нет изображений.

Запускаю этот файл через cmd

from PyQt5 import QtCore, QtGui, QtWidgets
import sys
from ui import Ui_Form

# Create application
app = QtWidgets.QApplication(sys.argv)

# Create form and init UI
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
# Hook logic

# Run mail loop
sys.exit(app.exec_())

Путь для фото прописан так, самой программой.
def setupUi(self, Form):
Form.setObjectName(“Form”)
Form.resize(480, 320)
self.label = QtWidgets.QLabel(Form)
self.label.setGeometry(QtCore.QRect(0, 50, 481, 51))
self.label.setText(“”)
self.label.setPixmap(QtGui.QPixmap("../../Users/Андрей/Desktop/предпосылка-текстуры-золотого-яркого-б

Python для новичков » регулярные выражения » Сен. 30, 2020 09:58:26

Выбрать и сохранить в формате html любую статью в википедии о каком-либо животном на русском языке. Используя регулярные выражения, найти и вывести в файл result.txt английские и латинские термины, используемые в статье.

Python для новичков » Классы и регулярные выражения » Сен. 30, 2020 09:56:24

Добрый день, кому не сложно можете помочь с задачей?
Создать класс, описывающий фигуру на плоскости. Статическое поле “цвет”. Нестатические поля centerX, centerY, size. Методы перемещения влево, вниз на заданную величину, изменение размера, печать параметров фигуры. Конструктор.

Python для новичков » Классы и регулярные выражения » Сен. 30, 2020 09:54:49

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

Web » Авторизация на сайте fermer.ru » Сен. 29, 2020 09:00:36

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

import requests
sesion=requests.Session()
url = 'https://fermer.ru/node' #так же пробовал https://fermer.ru/node?destination=node
data = {'user-agent': ‘Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.121 Safari/537.36’,
'remember_me': ‘1’,
'form_build_id': ‘form-4W6o2rxhgk0ITv82WhqDEqiyHNQ0pCls_IbiT7jDreA’,
'form_id': ‘user_login_block’
}
log_pas = {'name': ‘xxxxxx’, ‘pass’: xxxxxxx'}
responce=sesion.post(url, data=log_pas, headers=data)

new_url='https://fermer.ru/user/107829'
new_resp=sesion.get(url, headers=data)

print(new_resp.text)

Network » Решение тестов на сайте » Сен. 28, 2020 10:10:32

Здравствуйте. Есть сайт в котором решают тесты. Нужно получить все баллы. Раньше этот сайт работал благодаря cookie. Но через некоторое время эта функция перестала работать. То-есть раньше можно было отключив инет и через инкогнито решать задачи(видеть правильные и не правильные ответы),и через другое устройство можно было вводить правильные решение. Сейчас все данные проверяются только тогда когда есть инет,и все данные синхронизируется на всех устройствах. Как сделать так чтобы можно было получать правильные ответы?

Django » heroku --- Проблемы с правами доступа к файлу на выполнение. » Сен. 27, 2020 18:35:09

Здравствуйте! Развернул проект в heroku. Один из контроллеров использует подпроцессы для обработки данных. Вначале, подпроцессы (exe) располагались в том же каталоге, где находится приложение.
На локальном сервере для разработки и отладки это работало. Но после того как я развернул проект на heroku, после вызова данного контроллера, http-запрос завершился ошибкой Errno2 — FileNotFound SOME.EXE. То есть сервер не видел этот exe, который вызывался python-скриптом в контроллере.

В heroku есть консоль bash, с помощью которой проверил наличие этого exe в той папке. Он там был, сюрприз-сюрприз.

В подробном отчёте об ошибке я посмотрел пути, где сервер искал файлы exe. Они следующие:

(b'/app/.heroku/python/bin/SOME.EXE',
b'/usr/local/bin/SOME.EXE',
b'/usr/bin/SOME.EXE',
b'/bin/SOME.EXE')

Ну ладно, взял я всё поменял в проекте, поместил скрипты, exe в первый путь:

b'/app/.heroku/python/bin/SOME.EXE'

Записал изменения через коммит, развернул заново. Появилась ошибка Permission denied: ‘SOME.EXE’

Снова через bash посмотрел, всё там где и нужно.

В этой строке происходит ошибка:

 p = subprocess.Popen(['SOME.EXE'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, text = True)

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

Пробовал и так

 chmod u+x .heroku/python/bin/SOME.EXE

и так:

 chmod a+x .heroku/python/bin/SOME.EXE


Права имеет владелец файла читать и редактировать. Всё как было так и есть, команды не сработали.

Стек: python 3.8.5 + django 3.0 + heroku + WSGI: waitress 1.4.4

Спрашиваю здесь, потому что поддержка heroku не спешит особо с кодом помогать.

Traceback:

/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/exception.py in inner
response = get_response(request) …
▶ Local vars
/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py in _get_response
response = self.process_exception_by_middleware(e, request) …
▶ Local vars
/app/.heroku/python/lib/python3.7/site-packages/django/core/handlers/base.py in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs) …
▶ Local vars
/app/inputData/views.py in upload_file
j = makeBin.main('hex.ascii', ‘bin’) …
▶ Local vars
/app/.heroku/python/bin/makeBin.py in main
import subprocess
import os
from diehard.settings import BASE_DIR
def main(inpPath, outPath):
‘'’init_path = os.path.join(BASE_DIR, ‘inputData’)
os.chdir(init_path)'''
p = subprocess.Popen(, stdin=subprocess.PIPE, stdout=subprocess.PIPE, text = True) …
p.communicate(input='\n\n\n' + inpPath + ‘\n’ + outPath)

if “__name__” == “__main__”:
main(inpPath, outPath)
▶ Local vars
/app/.heroku/python/lib/python3.7/subprocess.py in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
pass_fds, cwd, env,
startupinfo, creationflags, shell,
p2cread, p2cwrite,
c2pread, c2pwrite,
errread, errwrite,
restore_signals, start_new_session) …
except:
# Cleanup if the child failed starting.
for f in filter(None, (self.stdin, self.stdout, self.stderr)):
try:
f.close()
except OSError:
▶ Local vars
/app/.heroku/python/lib/python3.7/subprocess.py in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename) …
▶ Local vars

Python для новичков » фото с разрешением png не открывается » Сен. 4, 2020 21:35:10

Будьте так добры почему не открывается фото при вызове функции, картинки в папке с исходником:
 elif (x==1):
                x=0
                btn.config(fg="red",text="включи свет")#Метод config() для изменения свойств компонента
                ser.write(b'n')
                my_image1 = PhotoImage(file='n.png')
                canvas.create_image(50, 10, anchor=NW, image=my_image1)

Python для экспертов » Pandas merge multiple dataframes » Авг. 31, 2020 14:49:47

Здравствуйте,

Есть, как обычно в секретном проекте, такой цикл:
  
main_dataframe = get_main_dataframe()
new_dataframe = pd.DataFrame()
 
for df in list_of_dataframes:
     temp_df = main_dataframe.merge(df, how='left', on=['key1', 'key2'])
     new_dataframe = new_dataframe.append(temp_df)
 
main_dataframe = new_dataframe[~new_dataframe['key1'].isnull()]

Здесь какая-то неочевидная мне бизнес-логика, раз делается такое. И всё было бы хорошо, но когда список
 list_of_dataframes
большой - это выполняется очень долго: 200 dataframes - добавляется примерно за 3 минуты. А в идеале он должен работать с размером до 1000 dataframes.

Есть ли возможность оптимизировать как-то такой кусок кода?

Python для новичков » Раньше работало, сейчас нет » Авг. 30, 2020 02:36:29

 import pip
from subprocess import call  
for dist in pip.get_installed_distributions():
    call("pip install --upgrade " + dist.project_name, shell=True)

AttributeError: module ‘pip’ has no attribute ‘get_installed_distributions’

Python для новичков » считывает пароль(с условиями), через for, что не так? » Авг. 25, 2020 18:19:58

Написал програму считывает пароль, через for, что не так?

 a=input("""Пароль дожен быть больше 6 символов;
Местить в себе цифры и заглавные буквы;
Принимаеться только пароль на английском языке
Введите пароль:""")
n=len(a)
x=False
y=False
k=0
l=0
if n>=6:      
    for i in a:
        if'A'<=i<='Z':
            k+=1
            x=True
            break
        
    if x==False:
        print("Пароль дожен местить в себе заглавную букву")
        
    for i in a:    
        if'0'<=i<='9':
            l+=1
            y=True
            break
        
    if y==False:
        print('Пароль должен местить в себе цыфру')
    if k>0 and l>0 :
        print('Отлично')
        Password=a
       
    
else:
    print('Слишком короткий пароль')
try:
    print('Ваш пароль '+Password)
except NameError:
    print('Введите подходящий пароль')

Python для новичков » считывает пароль(с условиями), через while, что не так? » Авг. 25, 2020 18:19:00

 a=list(input("""Пароль дожен быть больше 6 символов;
Местить в себе цифры и заглавные буквы;
Принимаеться только пароль на английском языке
Введите пароль:"""))
n=0
k=0
b=a.copy()
c=a.copy()
while len(a)>0:
    if len(a)<6:
        print('Слишком короткий пароль')
        break
    while len(a)>0:
        last=a.pop()
        last1=str(last)
        
        if 'A'<= last1<='Z' :
            n=n+1
            break
       
    else:
        print('Пароль дожен местить в себе заглавную букву')
    while len(b)>0:
        last=b.pop()
        last1=str(last)
        
        if '0'<= last1<='9' :
            k=k+1
        
            break
    
    else:
        print('Пароль должен местить в себе цыфру')
    
    if k>0 and n>0:
        print('Отлично')
        Password=c
        break
    elif k==0 or n==0:
        print('Попробуйте еще раз')
        continue
try:
    print('Ваш пароль '+''.join(Password))
except NameError:
    print('Введите подходящий пароль')
Посмотрите кто шарит. где что не так

Python для новичков » Скрытый браузер » Авг. 24, 2020 19:44:30

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

Python для экспертов » Keras sample_weight » Авг. 24, 2020 13:47:31

Привет. Решил применить sample_weight=sample_weights в model.fit, в результате стал получать ошибку (без sample_weight все работает):

'Passing list-likes to .loc or with any missing labels is no longer supported, see htt…

sample_weights проверил:
sample_weights.isnull().sum()
0

По размерам все норм:
y_train.shape
(17954, 3)
sample_weights.shape
(17954,)

Может дело в размерности, там 1D там 2D. Незнаю.
Есть люди которые использовали Keras или могут пояснить за эту ошибку? Спасибо

Python для экспертов » photoshop api smart object » Авг. 15, 2020 07:15:45

какие есть решения для работы с smart object и с psd?
желательно основанные на личном опыте, может кто то уже работал и выскажет свое мнение?

Центр помощи » Есть мододелы?  » Авг. 4, 2020 21:46:36

Есть кто разбирается в модах для игры?
А именно есть мод для танков в формате “рус” нужно раскодировать и немного подправить.
По оплате договоримся.
Пишите в телегу @kogni66 или сюда.

Базы данных » Flask-sqlalchemy и имена полей в существовующей БД на mssql » Авг. 1, 2020 16:30:44

Всем привет!
Нужна помощь.
Есть бд на mssql в которой все таблицы называются с T$, а поля с F$. Хочу к ним подключиться через ORM с помощью flask-sqlalchemy, но не писать в классе свойства в таком формате. Не понимаю как сделать, подскажите.
Т. Е. Как красиво задать соответствие поле.
Лучше с примером.

Python для новичков » Распознавание речи оффлайн » Июль 31, 2020 11:31:45

Здравствуйте, появилась надобность в потоковом распознавании русской речи без интернета, а конкретно 5- 10 слов , как это сделать можно? что почитать? нейронки?

Python для новичков » Анализ, предсказание следующего шага последовательности. » Июль 23, 2020 21:49:31

Доброго времени.

Как предсказать следующий шаг последовательности.

Например есть последовательность.

112233112233112233…….

или

111211312111211312…….

Последовательность может быть любая.

Но как обучить нейронную сеть чтобы она определяла следующий шаг последовательности.

есть такой код.

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

А как это исправить я не понимаю.

Может есть тут знатоки которые помогут решить задачу.

 import numpy
import pandas as pd
import math
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from sklearn.preprocessing import MinMaxScaler
from sklearn.metrics import mean_squared_error
from sklearn.metrics import accuracy_score
# convert an array of values into a dataset matrix
def create_dataset(dataset, look_back):
        dataX, dataY = [], []
        for i in range(len(dataset)-look_back-1):
                xset = []
                for j in range(dataset.shape[1]):
                        a = dataset[i:(i+look_back), j]
                        xset.append(a)
                dataX.append(xset)
                dataY.append(dataset[i + look_back,0])
        return numpy.array(dataX), numpy.array(dataY)
# fix random seed for reproducibility
numpy.random.seed(1)
# load the dataset
file='test123456.xlsx'
xl=pd.ExcelFile(file)
dataframe = xl.parse('Sheet1')
dataset = dataframe.values
dataset = dataset.astype('float32')
# normalize the dataset
scaler = MinMaxScaler(feature_range=(0,1))
dataset = scaler.fit_transform(dataset)
# split into train and test sets
train_size = int(len(dataset) * 0.75)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size,:],dataset[train_size:len(dataset),:]
# reshape into X=t and Y=t+1
look_back = 1
trainX, trainY = create_dataset(train, look_back)
testX, testY = create_dataset(test, look_back)
# reshape input to be [samples, time steps, features]
trainX = numpy.reshape(trainX, (trainX.shape[0],1,trainX.shape[1]))
testX = numpy.reshape(testX, (testX.shape[0],1,testX.shape[1]))                           
# create and fit the LSTM network
model = Sequential()
model.add(LSTM(8, input_shape=(1, look_back)))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='Adam')
model.fit(trainX, trainY, epochs=10000, batch_size=1, verbose=2)
# make predictions
trainPredict = model.predict(trainX)
testPredict = model.predict(testX)
# invert predictions
trainPredict = scaler.inverse_transform(trainPredict)
trainY = scaler.inverse_transform([trainY])
testPredict = scaler.inverse_transform(testPredict)
testY = scaler.inverse_transform([testY])
#
print("X=%s, Predicted=%s" % (testPredict[-1],testX[-1]))
print("X=%s, Predicted=%s" % (testPredict[0],testX[0]))

Буду презнателен за любую помощь.

Python для новичков » Горячие клавиши Alt+стрелка или Alt+pageDown (pageUp) - проблема » Июль 12, 2020 09:57:10

Здравствуйте!

Только начал использовать питон вместо программ для создания макросов. Вроде открылось много больше возможностей, но вот…
Потребовалось написать макрос для работы (вставка и уменьшение-увеличение картинки в онлайн-редакторе) с помощью цифр, pageDown, pageUp и стрелок.

Использовал keyboard.add_hotkey для назначения горячих клавиш.

Оказывалось, что при нажатии ALT + pageDown, ALT + pageUp, Alt+стрелка отправляется сразу два набора горячих клавиш. Например:
(Alt+pageDown и Alt+3)
(Alt+Down и Alt+2)
Цифра совпадает с той что стоит на клавиатурном блоке с NUMLOCK вместе с этой стрелкой или PgUP / PgDown.

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

Попытка включать и отключать вручную Numlock, Сменить клавиатуру, переустановить виндоус, использовать вместо keyboard.add_hotkey keyboard.Listener - все не помогло. При этом без разницы на каком блоке нажимать клавиши (с цифрами или без).

Может кто все же подскажет как разделить. Например как поставить горячую клавишу на код клавиши. Хотя бы направление….

Ниже код. Он очень простой, но думаю дело не в нем, так как если сменить горячие клавиши все работает нормально.

 #Функция для уменьшения - увеличения фото в редакторе
def photoplus(n):
    pyautogui.click(427, 277)
    time.sleep(0.2)
    pyautogui.click(1730, 1218)
    pyautogui.keyDown('ctrl')
    pyautogui.keyDown('a')
    pyautogui.keyUp('a')
    pyautogui.keyDown('c')
    pyautogui.keyUp('c')
    pyautogui.keyUp('ctrl')
    pyautogui.press('delete')
    num = clipboard.paste()
    time.sleep(0.1)
    num=num.strip()
    num=num.strip('%')
    num = (Decimal(num))*10 + n
    num=num/10
    itog=str(num)+"%"
    clipboard.copy(itog)
    time.sleep(0.4)
    pyautogui.hotkey('ctrl', 'v')
    time.sleep(0.2)
    pyautogui.click(2332, 1576)
[B]#Функция для вставки  фото в редакторе[/B]
def photo(n):
    pyautogui.click(1742, 1015)
    pyautogui.keyDown('ctrl')
    pyautogui.keyDown('a')
    pyautogui.keyUp('a')
    pyautogui.keyDown('c')
    pyautogui.keyUp('c')
    pyautogui.keyUp('ctrl')
    urlphoto = clipboard.paste()
    pyautogui.click(1708, 1219)
    pyautogui.hotkey('ctrl', 'a')
    pyautogui.press('delete')
    clipboard.copy(n)
    pyautogui.hotkey('ctrl', 'v')
    pyautogui.press('tab')
    pyautogui.hotkey('ctrl', 'a')
    pyautogui.press('delete')
    pyautogui.click(1436, 797)
    clipboard.copy(urlphoto)
    pyautogui.click(1530, 914)
    pyautogui.hotkey('ctrl', 'a')
    pyautogui.press('delete')
    pyautogui.hotkey('ctrl', 'v')
    pyautogui.press('tab', presses=3)
    pyautogui.typewrite('3')
    pyautogui.click(2330, 1574)
keyboard.add_hotkey('Alt + pagedown', photoplus, args=(-10, ))
keyboard.add_hotkey('Alt + 3', photo, args=('31%',))