Справочник Программиста
6.29K subscribers
1.36K photos
387 videos
64 files
1.71K links
По рекламе - @it_start_programmer
Мои курсы - @courses_from_it_start_bot
Сайт - https://it-start.online/
YouTube - https://www.youtube.com/@it_start
Реклама на бирже - https://telega.in/c/programmersGuide_1

Предложить идею: @it_start_suggestion_bot
Download Telegram
#ИспользованиеProxyСерверовВPython
Код из видео:

import requests

proxies = {
'https': 'https://ip:порт'
}

data = requests.get('https://ipinfo.io/json', proxies=proxies)

print(data.text)
print(data.json()['city'])
#ИзвлечениеИзображенийИзPDF

Код из видео:

import fitz

file = 'test.pdf'

pdf = fitz.open(file)

for i in range(len(pdf)):
for image in pdf.getPageImageList(i):
xref = image[0]
pix = fitz.Pixmap(pdf, xref)
if pix.n < 5:
pix.writePNG(f'{xref}.png')
else:
pix1 = fitz.open(fitz.csRGB, pix)
pix1.writePNG(f'{xref}.png')
pix1 = None
#ЧасыВbatФайле
Код из видео:

chcp 65001
@echo off
@title Часы
@mode con: cols=20 lines=4
color a
:path
echo ╔════════════════╗
echo ║ Время %time:~0,-3% ║
echo ╚════════════════╝
ping 127.0.0.1 -n 2 >nul
cls
goto:path
#ДобавлениеДанныхВExcelТаблицу
Код из видео:

from openpyxl import load_workbook

fn = 'example.xlsx'
wb = load_workbook(fn)
ws = wb['data']
ws['A5'] = 'Привет, мир!'
wb.save(fn)
wb.close()

# Добавление строк целиком

ws.append(['Первый', 'Второй', 'Третий'])
ws.append(['Четвертый', 'Пятый', 'Шестой'])
ws.append(['Седьмой', 'Восьмой', 'Девятый'])


# Заполнение таблицы нажатием на кнопку

from openpyxl import load_workbook
from tkinter import *
from tkinter import messagebox


def save():
fn = 'example.xlsx'
wb = load_workbook(fn)
ws = wb['data']
data = (e.get(), lb['text'])
ws.append(data)
wb.save(fn)
wb.close()
messagebox.askokcancel('Сохранение', 'Успешно сохранено!')


root = Tk()
root.title('Тест')
root.geometry('200x200')
root.resizable(0, 0)

e = Entry(root)
e.pack()
lb = Label(root, text='1 лейбл', font='Arial 15 bold')
lb.pack()
btn = Button(root, text='Сохранить', font='Arial 15 bold', command=save)
btn.pack()

root.mainloop()
#ДобавлениеВодяногоЗнакаВPDF
Код из видео:

import PyPDF2

input_file = 'textPDF.pdf'
output_file = 'textPDF1.pdf'
watermark_file = 'logo.pdf'

with open(input_file, 'rb') as file_input:

pdf = PyPDF2.PdfFileReader(file_input)

with open(watermark_file, 'rb') as file_wotermark:
watermark = PyPDF2.PdfFileReader(file_wotermark)

first_page = pdf.getPage(0)
first_page_watermark = watermark.getPage(0)

first_page.mergePage(first_page_watermark)

pdf_writer = PyPDF2.PdfFileWriter()

pdf_writer.addPage(first_page)

with open(output_file, 'wb') as file_output:
pdf_writer.write(file_output)
1
#ГенерацияШтрихкода
Код из видео:

# Создание svg-файла со штрихкодом
import barcode


ean = barcode.get('ean13', '123456789101')

filename = ean.save('ean13')

# Так же можно создать ещё и сжатый svg-файл

options = dict(compress=True)
filename = ean.save('ean13', options)

# Создание изображения со штрихкодом
from barcode.writer import ImageWriter
import barcode

ean = barcode.get('ean13', '123456789101', writer=ImageWriter())

filename = ean.save('ean13')
#ПоискЗаданногоТекстаВPDFpython
Код из видео:

import fitz

filename = "testPDF.pdf"
search_term = "python"
pdf = fitz.open(filename)
for current_page in range(len(pdf)):
page = pdf.loadPage(current_page)
if page.searchFor(search_term):
print("%s найдено на %i странице" % (search_term, current_page))
👍1
#ИграУкрасьЁлочкуНаPython
Код из видео:

from tkinter import *
from random import randint, choice


def click(event):
x = event.x
y = event.y
r1 = randint(5, 30)
r2 = randint(5, 30)
colors = ['red', 'yellow', 'blue']
c.create_oval(x - r1, y - r1, x + r2, y + r2, fill=choice(colors))


def tree():
# Ёлка
c.create_rectangle(350, 500, 450, 570, outline="black", width="2", fill="brown")
c.create_polygon(100, 500, 400, 250, 700, 500, outline="black", width="2", fill="green")
c.create_polygon(200, 350, 400, 150, 600, 350, outline="black", width="2", fill="green")
c.create_polygon(300, 200, 400, 50, 500, 200, outline="black", width="2", fill="green")
c.create_polygon(400, 5, 350, 110, 480, 50, 320, 50, 460, 110, outline="black", width="2", fill="yellow")

# Снеговик
c.create_oval(800, 500, 900, 600, fill='white')
c.create_oval(810, 440, 890, 520, fill='white')
c.create_oval(820, 390, 880, 450, fill='white')


# Создание снежинок
def createSnow(t, n):
for i in range(500):
x = randint(1, cWidth)
y = randint(-cHeight * n - 8, cHeight * (1 - n))
w = randint(3, 8)
c.create_oval(x, y, x + w, y + w, fill='white', tag=t)


def motion():
global indicator_count
c.move("tagOne", 0, 1)
c.move("tagTwo", 0, 1)
c.move(indicator, 0, 1)
if c.coords(indicator)[1] < cHeight + 1:
root.after(20, motion)
else:
c.move(indicator, 0, -cHeight - 5)
root.after(20, motion)
if indicator_count == 0:
c.delete("tagOne")
createSnow("tagOne", 1)
indicator_count = 1
else:
c.delete("tagTwo")
createSnow("tagTwo", 1)
indicator_count = 0


def main():
global indicator, indicator_count
tree()
indicator = c.create_oval(23, -5, 28, 0, fill='white')
indicator_count = 0

createSnow('tagOne', 0)
createSnow('tagTwo', 1)

motion()


root = Tk()
root.title('Укрась ёлочку')
root.geometry('1280x720')
cHeight = 720
cWidth = 1280
c = Canvas(root, width=cWidth, height=cHeight, bg='#002655')
c.pack()
c.create_oval(-100, 550, 1300, 820, fill='white')

c.bind('<Button-1>', click)

main()

root.mainloop()
👍4
#ПробивПоНомеруНаPython
Код из видео:


# Узнаём континент, на котором зарегистрирован номер по номеру телефона
import phonenumbers
from phonenumbers import timezone

x = phonenumbers.parse("+919876543210")

timeZone = timezone.time_zones_for_number(x)

print(''.join(timeZone))


# Извлечение телефонных номеров из текста
import phonenumbers

text = "Контактный номер телефона: +919876543210 или +1462352344"
numbers = phonenumbers.PhoneNumberMatcher(text, "IN")

for number in numbers:
print(number)


# Найти оператора и регион телефонного номера
import phonenumbers
from phonenumbers import geocoder, carrier

phoneNumber = phonenumbers.parse("+919876543210")
Carrier = carrier.name_for_number(phoneNumber, 'ru')

Region = geocoder.description_for_number(phoneNumber, 'ru')

print(Carrier)
print(Region)


# Проверка, существует ли указанный номер телефона
import phonenumbers

phone_number = phonenumbers.parse("+91987654321")
valid = phonenumbers.is_valid_number(phone_number)
possible = phonenumbers.is_possible_number(phone_number)

print(valid)
print(possible)
👍1🤨1