Уведомления

Группа в Telegram: @pythonsu

Уведомления

  • Found 3495 posts.

Центр помощи » Почему не запускается программа? Python + TKINTER  » Янв. 7, 2022 07:44:14

 import os
from tkinter import *
import subprocess
from tkinter import ttk
path = "C:/Program Files/Organaizer"
m1 = "C:/Program Files/Organaizer/Monday/Registration"
m2 = "C:/Program Files/Organaizer/Monday/Literature"
m3 = "C:/Program Files/Organaizer/Monday/ITGS"
m4 = "C:/Program Files/Organaizer/Monday/Maths"
t1 = "C:/Program Files/Organaizer/Tuesday/Registration"
t2 = "C:/Program Files/Organaizer/Tuesday/English"
t3 = "C:/Program Files/Organaizer/Tuesday/Literature"
t4 = "C:/Program Files/Organaizer/Tuesday/CS"
t5 = "C:/Program Files/Organaizer/Tuesday/PE"
w1 = "C:/Program Files/Organaizer/Wednesday/Registration"
w2 = "C:/Program Files/Organaizer/Wednesday/CS"
w3 = "C:/Program Files/Organaizer/Wednesday/Psychology"
w4 = "C:/Program Files/Organaizer/Wednesday/English"
h1 = "C:/Program Files/Organaizer/Thursday/Registration"
h2 = "C:/Program Files/Organaizer/Thursday/English"
h3 = "C:/Program Files/Organaizer/Thursday/Maths"
h4 = "C:/Program Files/Organaizer/Thursday/Literature"
h5 = "C:/Program Files/Organaizer/Thursday/ITGS"
f1 = "C:/Program Files/Organaizer/Friday/Registration"
f2 = "C:/Program Files/Organaizer/Friday/CS"
f3 = "C:/Program Files/Organaizer/Friday/Psychology"
f4 = "C:/Program Files/Organaizer/Friday/Grorootg Minds"
try:
    os.makedirs(path)
except OSError:
    print ("The %s directory could not be created" % path)
else:
    print ("The %s directory was successfully created" % path)
try:
    os.makedirs(m1)
except OSError:
    print ("The %s directory could not be created" % m1)
else:
    print ("The %s directory was successfully created" % m1)
try:
    os.makedirs(m2)
except OSError:
    print ("The %s directory could not be created" % m2)
else:
    print ("The %s directory was successfully created" % m2)
try:
    os.makedirs(m3)
except OSError:
    print ("The %s directory could not be created" % m3)
else:
    print ("The %s directory was successfully created" % m3)
try:
    os.makedirs(m4)
except OSError:
    print ("The %s directory could not be created" % m4)
else:
    print ("The %s directory was successfully created" % m4)
try:
    os.makedirs(t1)
except OSError:
    print ("The %s directory could not be created" % t1)
else:
    print ("The %s directory was successfully created" % t1)
try:
    os.makedirs(t2)
except OSError:
    print ("The %s directory could not be created" % t2)
else:
    print ("The %s directory was successfully created" % t2)
try:
    os.makedirs(t3)
except OSError:
    print ("The %s directory could not be created" % t3)
else:
    print ("The %s directory was successfully created" % t3)
try:
    os.makedirs(t4)
except OSError:
    print ("The %s directory could not be created" % t4)
else:
    print ("The %s directory was successfully created" % t4)
try:
    os.makedirs(t5)
except OSError:
    print ("The %s directory could not be created" % t5)
else:
    print ("The %s directory was successfully created" % t5)
try:
    os.makedirs(w1)
except OSError:
    print ("The %s directory could not be created" % w1)
else:
    print ("The %s directory was successfully created" % w1)
try:
    os.makedirs(w2)
except OSError:
    print ("The %s directory could not be created" % w2)
else:
    print ("The %s directory was successfully created" % w2)
try:
    os.makedirs(w3)
except OSError:
    print ("The %s directory could not be created" % w3)
else:
    print ("The %s directory was successfully created" % w3)
try:
    os.makedirs(w4)
except OSError:
    print ("The %s directory could not be created" % w4)
else:
    print ("The %s directory was successfully created" % w4)
try:
    os.makedirs(h1)
except OSError:
    print ("The %s directory could not be created" % h1)
else:
    print ("The %s directory was successfully created" % h1)
try:
    os.makedirs(h2)
except OSError:
    print ("The %s directory could not be created" % h2)
else:
    print ("The %s directory was successfully created" % h2)
try:
    os.makedirs(h3)
except OSError:
    print ("The %s directory could not be created" % h3)
else:
    print ("The %s directory was successfully created" % h3)
try:
    os.makedirs(h4)
except OSError:
    print ("The %s directory could not be created" % h4)
else:
    print ("The %s directory was successfully created" % h4)
try:
    os.makedirs(h5)
except OSError:
    print ("The %s directory could not be created" % h5)
else:
    print ("The %s directory was successfully created" % h5)
try:
    os.makedirs(f1)
except OSError:
    print ("The %s directory could not be created" % f1)
else:
    print ("The %s directory was successfully created" % f1)
try:
    os.makedirs(f2)
except OSError:
    print ("The %s directory could not be created" % f2)
else:
    print ("The %s directory was successfully created" % f2)
try:
    os.makedirs(f3)
except OSError:
    print ("The %s directory could not be created" % f3)
else:
    print ("The %s directory was successfully created" % f3)
try:
    os.makedirs(f4)
except OSError:
    print ("The %s directory could not be created" % f4)
else:
    print ("The %s directory was successfully created" % f4)
root = Tk()
root.title("Login")
root.resizable(0, 0)
root.configure(bg='black')
root.geometry("910x740")
attempts=0
correctpassword="1234"
entrypass = Entry(root, width=25, textvariable=password, show="*")
entrypass.pack()
def start():
    while attempts<3:
        if entrypass==correctpassword:
            print('Correct.')
            altroot = Toplevel(root)
            altroot.title("Organaizer")
            altroot.resizable(0, 0)
            altroot.configure(bg='black')
            altroot.geometry('910x740')
            def monviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Monday\Registration"')
            def tuviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Tuesday\Registration"')
            def wedviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Wednesday\Registration"')
            def huviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Thursday\Registration"')
            def frviewcom():
                subprocess.Popen(r'explorer /select,"C:\Program Files\Organaizer\Friday\Registration"')
            def mondays():
                monles = Toplevel(root)
                monles.title("MONDAY")
                monles.resizable(0, 0)
                monles.configure(bg='black')
                monles.geometry('910x740')
                monlesson = Frame(monles, width=750, height=600, bg='black')
                monlesson.grid(row=0, column=0, padx=1, pady=1)
                monregistration = Label(monlesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=6)
                monregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)
                monliterature = Label(monlesson, text="Russian Literature || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=6)
                monliterature.grid(row=1, column=0, sticky=S, padx=1, pady=1)
                monitgs = Label(monlesson, text="ITGS || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=6)
                monitgs.grid(row=2, column=0, sticky=S, padx=1, pady=1)
                monmaths = Label(monlesson, text="Maths || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=6)
                monmaths.grid(row=3, column=0, sticky=S, padx=1, pady=1)
                monview = Button(monlesson, text="View", fg='black', bg='white', font=300, width=85, height=6, command=monviewcom)
                monview.grid(row=4, column=0, sticky=S, padx=1, pady=1)
            def tuesdays():
                tules = Toplevel(root)
                tules.title("TUESDAY")
                tules.resizable(0, 0)
                tules.configure(bg='black')
                tules.geometry('910x740')
                tulesson = Frame(tules, width=750, height=600, bg='black')
                tulesson.grid(row=0, column=0, padx=1, pady=1)
                turegistration = Label(tulesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=5)
                turegistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)
                tuenglish = Label(tulesson, text="English || 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=5)
                tuenglish.grid(row=1, column=0, sticky=S, padx=1, pady=1)
                tuliterature = Label(tulesson, text="Literature || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=5)
                tuliterature.grid(row=2, column=0, sticky=S, padx=1, pady=1)
                tucs = Label(tulesson, text="CS || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=5)
                tucs.grid(row=3, column=0, sticky=S, padx=1, pady=1)
                tupe = Label(tulesson, text="PE || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=5)
                tupe.grid(row=4, column=0, sticky=S, padx=1, pady=1)
                tuview = Button(tulesson, text="View", fg='black', bg='white', font=300, width=85, height=5, command=tuviewcom)
                tuview.grid(row=5, column=0, sticky=S, padx=1, pady=1)
            def wednesdays():
                wedles = Toplevel(root)
                wedles.title("WEDNESDAY")
                wedles.resizable(0, 0)
                wedles.configure(bg='black')
                wedles.geometry('910x740')
                wedlesson = Frame(wedles, width=750, height=600, bg='black')
                wedlesson.grid(row=0, column=0, padx=1, pady=1)
                wedregistration = Label(wedlesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=6)
                wedregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)
                wedliterature = Label(wedlesson, text="CS || 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=6)
                wedliterature.grid(row=1, column=0, sticky=S, padx=1, pady=1)
                weditgs = Label(wedlesson, text="Psychology || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=6)
                weditgs.grid(row=2, column=0, sticky=S, padx=1, pady=1)
                wedmaths = Label(wedlesson, text="English || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=6)
                wedmaths.grid(row=3, column=0, sticky=S, padx=1, pady=1)
                wedview = Button(wedlesson, text="View", fg='black', bg='white', font=300, width=85, height=6, command=wedviewcom)
                wedview.grid(row=4, column=0, sticky=S, padx=1, pady=1)
            def thursdays():
                hules = Toplevel(root)
                hules.title("THURSDAY")
                hules.resizable(0, 0)
                hules.configure(bg='black')
                hules.geometry('910x740')
                hulesson = Frame(hules, width=750, height=600, bg='black')
                hulesson.grid(row=0, column=0, padx=1, pady=1)
                huregistration = Label(hulesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=5)
                huregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)
                huenglish = Label(hulesson, text="English || 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=5)
                huenglish.grid(row=1, column=0, sticky=S, padx=1, pady=1)
                humaths = Label(hulesson, text="Maths || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=5)
                humaths.grid(row=2, column=0, sticky=S, padx=1, pady=1)
                huliterature = Label(hulesson, text="Literature || 11:40 - 12:20 / 13:20 - 14:00", fg='white', bg='black', font=200, width=85, height=5)
                huliterature.grid(row=3, column=0, sticky=S, padx=1, pady=1)
                huitgs = Label(hulesson, text="ITGS || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=5)
                huitgs.grid(row=4, column=0, sticky=S, padx=1, pady=1)
                huview = Button(hulesson, text="View", fg='black', bg='white', font=300, width=85, height=5, command=huviewcom)
                huview.grid(row=5, column=0, sticky=S, padx=1, pady=1)
            def fridays():
                frles = Toplevel(root)
                frles.title("FRIDAY")
                frles.resizable(0, 0)
                frles.configure(bg='black')
                frles.geometry('910x740')
                frlesson = Frame(frles, width=750, height=600, bg='black')
                frlesson.grid(row=0, column=0, padx=1, pady=1)
                frregistration = Label(frlesson, text="Registration || 8:20 - 8:40", fg='white', bg='black', font=200, width=85, height=6)
                frregistration.grid(row=0, column=0, sticky=S, padx=1, pady=1)
                frcs = Label(frlesson, text="CS|| 8:40 - 10:00", fg='white', bg='black', font=200, width=85, height=6)
                frcs.grid(row=1, column=0, sticky=S, padx=1, pady=1)
                frpsychology = Label(frlesson, text="Psychology || 10:20 - 11:40", fg='white', bg='black', font=200, width=85, height=6)
                frpsychology.grid(row=2, column=0, sticky=S, padx=1, pady=1)
                frgm = Label(frlesson, text="GM || 14:00 - 15:20", fg='white', bg='black', font=200, width=85, height=6)
                frgm.grid(row=3, column=0, sticky=S, padx=1, pady=1)
                frview = Button(frlesson, text="View", fg='black', bg='white', font=300, width=85, height=6, command=frviewcom)
                frview.grid(row=4, column=0, sticky=S, padx=1, pady=1)
            lu = Frame(altroot, width=250, height=200, bg='white')
            lu.grid(row=0, column=0, padx=1, pady=1, sticky=N)
            tp = Frame(altroot, width=250, height=200, bg='white')
            tp.grid(row=0, column=1, padx=1, pady=1, sticky=N)
            ru = Frame(altroot, width=250, height=200, bg='white')
            ru.grid(row=0, column=2, padx=1, pady=1, sticky=N)
            lt = Frame(altroot, width=250, height=200, bg='white')
            lt.grid(row=1, column=0, padx=1, pady=1, sticky=N)
            md = Frame(altroot, width=250, height=200, bg='white')
            md.grid(row=1, column=1, padx=1, pady=1, sticky=N)
            rt = Frame(altroot, width=250, height=200, bg='white')
            rt.grid(row=1, column=2, padx=1, pady=1, sticky=N)
            bt = Frame(altroot, width=250, height=200, bg='white')
            bt.grid(row=2, column=1, padx=1, pady=1, sticky=N)
            mday = Button(lu, text="MONDAY", fg='black', bg='white', font=150, width=27, height=10, command=mondays)
            mday.pack()
            tday = Button(tp, text="TUESDAY", fg='black', bg='white', font=150, width=27, height=10, command=tuesdays)
            tday.pack()
            wday = Button(ru, text="WEDNESDAY", fg='black', bg='white', font=150, width=27, height=10, command=wednesdays)
            wday.pack()
            thday = Button(lt, text="THURSDAY", fg='black', bg='white', font=150, width=27, height=10, command=thursdays)
            thday.pack()
            fday = Button(md, text="FRIDAY", fg='black', bg='white', font=150, width=27, height=10, command=fridays)
            fday.pack()
            saday = Label(rt, text="SATURDAY", fg='black', bg='white', font=150, width=27, height=10)
            saday.pack()
            sday = Label(bt, text="SUNDAY", fg='black', bg='white', font=150, width=27, height=10)
            sday.pack()
            altroot.mainloop()
        else:
            attempts+=1
            print('incorrect!')
            if attempts==3:
                print('too many attempts')
ttt = Button(root, text="Enter", command=start).pack()
root.mainloop()

Django » OAuth 2, обработка ответа сервера  » Янв. 6, 2022 16:52:06

Пытаюсь организовать OAuth2.
В url.py у меня
 urlpatterns = [
    path('login', views.login, name = 'login'),  
]

В views.py
 def login(request):
    #return HttpResponse('<h4>LogIn page</h4>')
    url = 'https://login.abc.com/v2/oauth/authorize/?'    
    parametres ={
        'a' :'response_type=code',
        'b' :'redirect_uri=http%3A%2F%2Flocalhost%2Fcallback%3A8000',  #http://localhost/callback:8000
        'c' :'client_id=1234',
        'd' :'scope=publicData',
        'e' :'state=somethingunique',}
    return redirect(url+'&'.join(list(parametres.values())) )

Сервер авторизации, как и ожидается, перенаправляет ответ на http://localhost/callback:8000 с параметрами ‘code’ и ‘state’, но я не понимаю, как именно его обрабатывать. Уже нашёл библиотеку ‘urllib.parse’, но где её применять - не знаю.
Подскажите, пожалуйста.

Python для новичков » Tesseract » Янв. 5, 2022 18:11:37

Добрый день,не могу разобраться с тессерактом,нужно что бы он просто распознал текст
На код не смотрите я учусь
 from PIL import Image, ImageGrab #Cкриншоты
import cv2
import pytesseract #определение цифр
img1 = ImageGrab.grab( (1697,410,1787,447) )#Скрингот заданной области
img1.save("picture.jpg")#Сохранение скриншота
image = cv2.imread("picture.jpg") #Открытие скришота
T, image2 = cv2.threshold(image, 215, 255, cv2.THRESH_BINARY)#Делаю черно белым
cv2.imwrite('graygirl.jpg', image2)#Сохарнение черно белого
pytesseract.pytesseract.tesseract_cmd = r'C:\Users\Desktop\AppData\Local\Programs\Tesseract-OCR\tesseract.exe'
question_text = pytesseract.image_to_string(Image.open("picture.jpg"))

терминал
 Traceback (most recent call last):
  File "C:\Users\Desktop\Desktop\Машенист\main.py", line 11, in <module>
    question_text = pytesseract.image_to_string(Image.open("picture.jpg"))
  File "C:\Users\Desktop\Desktop\Машенист\venv\lib\site-packages\pytesseract\pytesseract.py", line 409, in image_to_string
    return {
  File "C:\Users\Desktop\Desktop\Машенист\venv\lib\site-packages\pytesseract\pytesseract.py", line 412, in <lambda>
    Output.STRING: lambda: run_and_get_output(*args),
  File "C:\Users\Desktop\Desktop\Машенист\venv\lib\site-packages\pytesseract\pytesseract.py", line 287, in run_and_get_output
    run_tesseract(**kwargs)
  File "C:\Users\Desktop\Desktop\Машенист\venv\lib\site-packages\pytesseract\pytesseract.py", line 263, in run_tesseract
    raise TesseractError(proc.returncode, get_errors(error_string))
pytesseract.pytesseract.TesseractError: (1, 'Error opening data file D:\\Tesseract-OCR\\eng.traineddata Please make sure the TESSDATA_PREFIX environment variable is set to your "tessdata" directory. Failed loading language \'eng\' Tesseract couldn\'t load any languages! Could not initialize tesseract.')

Python для новичков » Адаптация Яндекс.Алисы под ютуб » Янв. 2, 2022 10:00:05

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

Основной код:
bot.py
 from telegram.ext import Updater, MessageHandler, Filters
from pytube import YouTube
import logging
logging.basicConfig(level=logging.DEBUG, filename='logs.txt')
from yandex import sendToScreen
import config
last_url = ""
authorised_users = []
def getVideoUrl(url):
    global last_url
    if url == last_url:  # Second attempt - trying another player
        yt = YouTube(url).streams.first()
        last_url = url
        return yt.url
    last_url = url
    if "https://www.youtube" in url:
        url = url.split("&")[0]  # Removing arguments
    if "https://youtu.be" in url:
        url = "https://www.youtube.com/watch?v=" + url.split("/")[-1]
    # Page parsing and getting video_url here
    return url
def extractUrl(message, context):
    return message.text  # TODO: getting url by entities info
def message_recieved(bot, update, context):
    user_id = update.message.chat_id
    print(update.message)
    if update.message.text == config.bot_password:
        authorised_users.append(user_id)
        bot.send_message(chat_id=update.message.chat_id, text="Успешная авторизация!")
        print(f"Authorised: {user_id}")
        return
    if not user_id in authorised_users:
        bot.send_message(chat_id=update.message.chat_id, text="Доступ закрыт!")
        print("Unauthorised request blocked!")
        return
    url = extractUrl(update.message)
    video_url = getVideoUrl(url)
    result = sendToScreen(video_url)
    print(result)
    bot.send_message(chat_id=update.message.chat_id, text=result + video_url)
updater = Updater(token=config.telegram_bot_token, request_kwargs=config.proxy)
print("Начинаю сбор Видосиков =)")
updater.start_polling()

Config.py
 login = "123@yandex.ru"
password = "123"
telegram_bot_token = "123"
proxy = None


yandex.py
 import requests
import json
import config
def sendToScreen(video_url):
    # Auth and getting Session_id
    auth_data = {
            'login': config.login, 
            'passwd': config.password
            }
    s = requests.Session()
    s.get("https://passport.yandex.ru/")
    s.post("https://passport.yandex.ru/passport?mode=auth&retpath=https://yandex.ru", data=auth_data)
    
    Session_id = s.cookies["Session_id"]
    
    # Getting x-csrf-token
    token = s.get('https://frontend.vh.yandex.ru/csrf_token').text
    # Detting devices info TODO: device selection here
    devices_online_stats = s.get("https://quasar.yandex.ru/devices_online_stats").text
    devices = json.loads(devices_online_stats)["items"]
    # Preparing request
    headers = {
        "x-csrf-token": token,
    }
    data = {
        "msg": {
            "provider_item_id": video_url
        },
        "device": devices[0]["id"]
    }
    if "https://www.youtube" in video_url:
        data["msg"]["player_id"] = "youtube"
    # Sending command with video to device
    res = s.post("https://yandex.ru/video/station", data=json.dumps(data), headers=headers)
    return res.text

Python для новичков » Вопрос по мультииндексу » Дек. 30, 2021 18:11:13

grouped_file = file.groupby().agg({'debt':'sum'}).reset_index(name=“count”)
получился вот такой pandas.core.groupby.generic.DataFrameGroupBy

		debt
children debt
0 0 0
1 1064
1 0 0
1 444
2 0 0
1 194
3 0 0
1 27
4 0 0
1 4
5 0 0
20 0 0
1 8
Как переименовать 3 столбец с мультииндексом и сделать обычный датафрейм с 3 столбцами? А если совсем сложно, то , как 3 столбец поделить на какое-то значение и вывести в новом столбце?. Простите за каламбур.

Python для новичков » Не запускается код PYQT5 » Дек. 30, 2021 17:50:47

запускаю код и на этом все, сам gui интерфейс не открывается
версия python'а 3.9.2
заранее спасибо
———————————————————————
from PyQt5 import QtGui, QtWidgets, QtCore

class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName(“MainWindow”)
MainWindow.resize(439, 488)
MainWindow.setMouseTracking(False)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName(“centralwidget”)
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(130, 330, 161, 61))
font = QtGui.QFont()
font.setPointSize(7)
font.setBold(True)
font.setWeight(75)
self.pushButton.setFont(font)
self.pushButton.setShortcut(“”)
self.pushButton.setObjectName(“pushButton”)
self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit.setGeometry(QtCore.QRect(60, 40, 311, 61))
font = QtGui.QFont()
font.setBold(True)
font.setUnderline(False)
font.setWeight(75)
font.setStrikeOut(False)
font.setStyleStrategy(QtGui.QFont.PreferDefault)
self.lineEdit.setFont(font)
self.lineEdit.setReadOnly(False)
self.lineEdit.setClearButtonEnabled(True)
self.lineEdit.setObjectName(“lineEdit”)
self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)
self.lineEdit_2.setGeometry(QtCore.QRect(60, 190, 311, 61))
font = QtGui.QFont()
font.setBold(True)
font.setUnderline(False)
font.setWeight(75)
font.setStrikeOut(False)
font.setStyleStrategy(QtGui.QFont.PreferDefault)
self.lineEdit_2.setFont(font)
self.lineEdit_2.setReadOnly(False)
self.lineEdit_2.setClearButtonEnabled(True)
self.lineEdit_2.setObjectName(“lineEdit_2”)
MainWindow.setCentralWidget(self.centralwidget)

self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate(“MainWindow”, “Test prog”))
self.pushButton.setText(_translate(“MainWindow”, “Зарегестрироваться”))
self.lineEdit.setText(_translate(“MainWindow”, “ Введите почту”))
self.lineEdit_2.setText(_translate(“MainWindow”, “ Пароль”))

Python для новичков » Змейка » Дек. 30, 2021 14:17:06

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

Есть такая задачка:
“Напишите программу, в которой есть функция для заполнения вложенного списка. Список заполняется натуральными числами «змейкой»: сначала заполняется первая строка, затем последний столбец
(сверху вниз), последняя строка (справа налево), первый столбец (снизу вверх), вторая строка (слева направо), и так далее.”
Заполнение списка вроде получилось, а змейку не пойму как реализовать:

 size = [3, 5, 4, 6]
res = [[randint(0, 9) for i in range(s)] for s in size]
for a in res:
    for z in a:
        print(z, end=' ')
    print()

Python для новичков » перенаправление по внешней ссылке » Дек. 27, 2021 19:00:51

В HTML есть строка
<a href=“{% url ‘link’ %}”>link</a>

В urls.py
from . import views
urlpatterns = [
path('link', views.link, name = ‘link’),
]

В views.py
import requests
def link(request):
return redirect('https://ya.ru')

Цель: кликом по ссылке перенаправить на нужную страницу.

Подскажите, пожалуйста, что я делаю не так?

Python для новичков » FOB » Дек. 26, 2021 19:22:33

Добрый вечер!

Даты закрытия загружены,
но на данном этапе http://prntscr.com/24o4u3z программа висит и файлы не грузятся.
Весь архив - https://disk.yandex.ru/d/JrORMfssGY4qmA
в папке dist файл exe
Данная программа загружаем данные для MT5, но сейчас не работает.

Python для новичков » TemplateDoesNotExist at /articles/ » Дек. 26, 2021 18:34:57

Здравствуйте!
При запуске сервера cmd python manage.py runserver и перехода на страницу http://127.0.0.1:8000/articles/
возникает ошибка
TemplateDoesNotExist at /articles/
Как возможно ее исправить? Архив https://disk.yandex.ru/d/Ug2bxVi5hG2_KA 2mb

Центр помощи » pixellib не находит модель? » Дек. 23, 2021 12:53:32

Решаем задачу сегментации на питоне…
PyCharm + pixellib

import os
os.environ = “3”
from pixellib.instance import instance_segmentation

def object_detection_on_an_image():
segment_image = instance_segmentation()
segment_image.load_model(“path_to_model”)
#segment_image.load_model(“mask_rcnn_coco.h5”)
target_class = segment_image.select_target_classes(person=True)

result = segment_image.segmentImage(
image_path=“team.jpeg”,
segment_target_classes=target_class,
output_image_name=“output.jpg”
)

выдача:
FileNotFoundError: Unable to open file (unable to open file: name = ‘path_to_model’, errno = 2, error message = ‘No such file or directory’, flags = 0, o_flags = 0)

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

Python для новичков » ClassNotFoundException. Как добавить jar файл в скрипт » Дек. 17, 2021 13:11:26

Добрый день.
Не получается добавить библиотеку. Пишет ClassNotFoundException. При чем в Eclipse а Project Properties->PyDev PYTHONPATH->Extirnal Library добавляю jar файлы и работает. Мне надо, чтоб работало в блокноте. Очень надо.
 import sys
import os.path as osPath
# list of jar files
listPBJdep = ["terajdbc4.jar", "tdgssconfig.jar", "tptwizard.jar"]
# Add jars
pbjDepPath = r"H:\temp\TD_jars"
# Debug
print("Adding PBJ dependencies from %s" % pbjDepPath)
for jar in listPBJdep:
    pbjPathJar = osPath.join(pbjDepPath, jar)
    if pbjPathJar not in sys.path:
        sys.path.append(pbjPathJar)
        print("PBJ dependency appended to sys path: %s" % jar)
        
print sys.path
        
import java.sql.DriverManager as DriverManager
import java.sql.SQLException as SQLException
import java.sql.Types as Types
import java.lang.Class as Class
  
srcdriver = "com.teradata.jdbc.TeraDriver"
srcurl = "jdbc:teradata://TERADATA/CHARSET=UTF8"
srcuser = "orel_da"
srcpass = 'password'
fetchsize = "10000"
Class.forName(srcdriver).newInstance() 
print('try to connect')
con = DriverManager.getConnection(srcurl+',TYPE=FASTEXPORT',srcuser,srcpass  )
print('connection sucecssful')



Как Eclipse добавляет сторонние библиотеки в проект?

Python для новичков » Помогите вывести дату в GET запросе на Flask REST API (чтоб дата подставлялась в URL) » Дек. 15, 2021 14:05:47

Привет. Бьюсь лбом об стену, не пойму как подставить дату в GET запрос? Задача по REST API на Flask, все методы написал, кроме последнего. Получилось только сделать кривой костыль, который выводит водителей по фиксированному GET запросу: “/drivers/drivers/search_gte” - но это не катит, нужен формат: GET “/drivers/driver/?created_at__gte=10-11-2021”

app.py
 from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app(Configuration):
    app = Flask(__name__)
    app.config.from_object(Configuration)
    db.init_app(app)
    api = Api(app)
    import src.views as views
    api.add_resource(views.CreateDriver, '/drivers/driver/')  # создание нового водителя
    api.add_resource(views.CreateVehicle, '/vehicles/vehicle/')  # создание нового автомобиля
    api.add_resource(views.Driver, '/drivers/driver/<driver_id>/')  # получение инфо по конкретному водителю
    api.add_resource(views.Vehicle, '/vehicles/vehicle/<vehicle_id>')  # получение инфо по конкретному автомобилю
    api.add_resource(views.Drivers, '/drivers/driver/')  # вывод списка водителей
    api.add_resource(views.Vehicles, '/vehicles/vehicle/')  # вывод списка автомобилей
    api.add_resource(views.DriverCreated_at__gte, '/drivers/driver/*****???????*****')  #  вывод списка водителей, которые созданы после 10-11-2021 (запрос должен выглядеть вот так GET /drivers/driver/?created_at__gte=10-11-2021) КАК???
    api.add_resource(views.FindDriver_gte, '/drivers/drivers/search_gte')  # вот что я смог, выводит водителей после даты указанной в views.FindDriver_gte > db_methods.find_drivers_gte
    return app



views.py
 class FindDriver_gte(Resource):
    def get(self):
        parser = reqparse.RequestParser()
        parser.add_argument('first_name', type=str)
        parser.add_argument('last_name', type=str)
        parser.add_argument('created_at[gte]', type=transfer_date)
        args = parser.parse_args(strict=True)
        drivers = db_methods.find_drivers_gte(args)
        drivers_list = []
        for driver in drivers:
            drivers_list.append({'first_name': driver.first_name,
                                 'last_name': driver.last_name,
                                 'created_at': str(driver.created_at),
                                 'updated_at': str(driver.updated_at)})
        return {"message": {"drivers": drivers_list}}


db_methods.py
 def find_drivers_gte(filters: date):
    dt = datetime.strptime("10/11/21", "%d/%m/%y")
    q = db.session.query(Driver).filter()
    if filters:
        q = q.filter(Driver.created_at >= dt)
    return q.all()

Центр помощи » вывод даты в URL по GET запросу (Flask REST API) » Дек. 15, 2021 14:00:06

Привет. Мучаюсь 2й день. Не пойму как подставить дату в GET запрос? Задача по REST API на Flask, все методы написал, кроме последнего. Получилось только сделать вывод водителей по фиксированной url:
GET “/drivers/drivers/search_gte” - но этот костыль не катит, нужен формат:
GET “/drivers/driver/?created_at__gte=10-11-2021”

app.py
 from flask import Flask
from flask_restful import Api
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
def create_app(Configuration):
    app = Flask(__name__)
    app.config.from_object(Configuration)
    db.init_app(app)
    api = Api(app)
    import src.views as views
    api.add_resource(views.CreateDriver, '/drivers/driver/')  # создание нового водителя
    api.add_resource(views.CreateVehicle, '/vehicles/vehicle/')  # создание нового автомобиля
    api.add_resource(views.Driver, '/drivers/driver/<driver_id>/')  # получение инфо по конкретному водителю
    api.add_resource(views.Vehicle, '/vehicles/vehicle/<vehicle_id>')  # получение инфо по конкретному автомобилю
    api.add_resource(views.Drivers, '/drivers/driver/')  # вывод списка водителей
    api.add_resource(views.Vehicles, '/vehicles/vehicle/')  # вывод списка автомобилей
    api.add_resource(views.DriverCreated_at__gte, '/drivers/driver/*****???????*****')  #  вывод списка водителей, которые созданы после 10-11-2021 (запрос должен выглядеть вот так GET /drivers/driver/?created_at__gte=10-11-2021) КАК???
    api.add_resource(views.FindDriver_gte, '/drivers/drivers/search_gte')  # вот что я смог, выводит водителей после даты указанной в views.FindDriver_gte > db_methods.find_drivers_gte
    return app



views.py
 class FindDriver_gte(Resource):
    def get(self):
        parser = reqparse.RequestParser()
        parser.add_argument('first_name', type=str)
        parser.add_argument('last_name', type=str)
        parser.add_argument('created_at[gte]', type=transfer_date)
        args = parser.parse_args(strict=True)
        drivers = db_methods.find_drivers_gte(args)
        drivers_list = []
        for driver in drivers:
            drivers_list.append({'first_name': driver.first_name,
                                 'last_name': driver.last_name,
                                 'created_at': str(driver.created_at),
                                 'updated_at': str(driver.updated_at)})
        return {"message": {"drivers": drivers_list}}


db_methods.py
 def find_drivers_gte(filters: date):
    dt = datetime.strptime("10/11/21", "%d/%m/%y")
    q = db.session.query(Driver).filter()
    if filters:
        q = q.filter(Driver.created_at >= dt)
    return q.all()

Центр помощи » Нужна помошь , добавить пару функций к коду.  » Дек. 15, 2021 12:19:22

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

Центр помощи » Можно ли написать скрипт для телеграмм бота? » Дек. 15, 2021 00:03:18

Хочу написать скрипт для дайвинчика который бы автоматически дизлайкал людей которые пишут( на самом деле мне «возраст»), (тоесть скрипт проверяет анкету и если там есть слово которое указано в скрипте то он автоматически отвечает боту смайликом дизлайка)скажите можно ли реализовать это через pyrogram и как это сделать

Автоматизация бизнеса » крипто про » Дек. 10, 2021 13:27:50

xp
python 3.4
openssl который внутри пайтона OpenSSL 1.0.1l 15 Jan 2015
А на хр стоит openssl 1.1.0j
Крипто про CSP 4.0.9975 Версия ядра СКЗИ 4.0.9021 КС1

Добрый день. Кто нибудь работает в python в связке с крипто про? Точнее есть кто делает защищенные соединения по гостовскому шифрованию на windows? Хочу достучать до сайта мдлп честного знака по api защищенному соединению и пока не удается. Или может нужна библиотека для связи с крипто про типа cryptoprosdk но не могу установить.

Вот пример ошибки:
self._sslobj.do_handshake()
ssl.SSLError: sslv3 alert handshake failure (_ssl.c:600)

Да понимаю что который на компе openssl стоит и там нет гостовского шифрования.В конфиге прописывал типа путь к библиотеке gostengy.dll версия 4.0.410.54443 скачанный с инета.После запуска openssl проверил cliphers не вижу гостовского шифрования.


Примерно такой код.
 def http(url, secure=443, encoding='utf-8'):
    components = urllib.parse.urlsplit(url)
    print(components)
    path = '%s' % components.path if components.path else '/'
    HTTPS = (components.scheme == 'https')
    addr = components.hostname
    port = secure if HTTPS else 80
    CRLF = '\r\n\r\n'
    print(HTTPS)
    print(addr)
    print(port)
    
    Page = namedtuple('Page', ('code', 'headers', 'body'))
    print(Page)    
 
    def handshake(sock):
        # this will trigger the handshake
        # if sock is already connected
        new_sock = ssl.wrap_socket(sock,
                ciphers="GOST2012-GOST8912-GOST8912:HIGH",
                ssl_version=ssl.PROTOCOL_TLSv1,
                cert_reqs=ssl.CERT_REQUIRED, # I will verify your certificate
                ca_certs=certifi.where(), # using a list of trusted CA's certificates
                server_side=False,
                do_handshake_on_connect = True,
                certfile= None,
                keyfile= None
                )
        return new_sock
    
    def make_header():
        headers = [
            'Content-Type:application/json',
            'Accept:application/json',
            'Authorization: token %s' % token,
            'POST %s HTTP/1.1' % (path),
            'Host: %s' % addr,
            'Charset: %s' % encoding
        ]
        print(headers)
        header = '\n'.join(headers)
        header += CRLF
        return bytes(header, encoding=encoding)
    
    def parse_response(resp):
        '''
        resp
            http.client.HTTPResponse, not closed
        '''
        resp.begin()
        code = resp.getcode()
        # assume status 200
        headers = dict(resp.getheaders())
        def get_charset():
            ctt_type = headers.get('Content-Type')
            return cgi.parse_header(ctt_type)[1].get('charset', encoding)
        body = resp.read()
        body = str(body, encoding=get_charset())
        return Page(code, headers, body)
    
    def request(header):
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        print(addr)
        HOST = socket.getaddrinfo(addr, 443)[0][4][0]
        print(HOST)
        sock.connect((addr, port))
        try:
            if HTTPS: sock = handshake(sock)
            sock.sendall(header)
            # receive it
            resp = HTTPResponse(sock)
            return parse_response(resp)
        finally:
            sock.shutdown(1)
            sock.close()    
    
    return request(make_header())
 
url = "https://api.mdlp.crpt.ru/api/v1/reestr/sgtin/sgtins-by-list"
rrr=http(url)
print(rrr)

Центр помощи » Помогите, пожалуйста палиндром » Дек. 9, 2021 04:10:30

Дано s строка. каокое минимальное количество символов нужна добавить чтобы это слова стало палиндромом.
Например: Входные данные: школа
Выходит: 4, школалокш

Django » queryset to dbf » Дек. 6, 2021 18:19:14

как можно queryset записать в dbf файл без цикла, а как то массово сразу

в цикле у меня есть , но это медленно

 for row in list(queryset): # тут 100к строк и нужен dbf файл для древней программы
        table.append( (row['f1'], row['f2'], ) )

Python для новичков » pybass3 и русские символы в пути к файлу. » Дек. 1, 2021 12:14:48

Приветствую.
возникла проблема с воспроизведением файлов в пути к которым есть русские буквы.
подскажите пожалуйста как исправить.