Artículo donde explican como aumentar la velocidad de Python usando Rust.
https://bit.ly/3riCxQS
#optimizacion
YA TENEMOS PRIME DAY !!!
El 12 y 13 de Julio muchas ofertas en Amazon ,solo para clientes de Amazon Prime.
Si no eres cliente de ese servicio no te preocupes, puedes apuntarte utilizar el periodo de PRUEBA con los siguientes .
Amazon Prime (1 mes de prueba) https://amzn.to/3xnYc9a
Si eres estudiante, puede utilizar Amazon Prime Student((90 días de prueba) https://amzn.to/3nQZvKR
Si ya eres cliente de Amazon Prime puedes utilizar mi enlace de referido
Utiliza mi link, me podrás apoyar sin gastar dinero y aprovechar todas las ofertas del Primer Day
https://amzn.to/3s0zEk2
También puede apuntarte al periodo de PRUEBA del servicios de audiolibro de Amazon que se llama Audible, que ahora han subido la comisión que recibo. Si quieres probarlo y ayudarme .
https://www.amazon.es/hz/audible/mlp/mdp/discovery?actionCode=AMSTM1450129210001&tag=rooteando0e-21
Estas aportaciones me permitirán sostener mis proyecto actuales y futuros, mejorar mi equipo, para un nuevo micro y brazo por ejemplo.
Muchas gracias por el apoyo.
Si quieres apoyarme y realizar una pequeña aportación económica, será una buena motivación y una forma de valorar el tiempo que le dedico a los canales de Python.
Podeís hacerlo por los métodos publicados en los mensajes(Kofi, PayPal, Buy me Coffe o Amazon Afiliados), también utilizando Telegram para donar.
Artículo que introduce a los conceptos de Manager y QuerySet en Django con un ejemplo donde muestra sus diferencias, virtudes y defectos.
https://bit.ly/3D47Dyg
#django #bd
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
El siguiente enlace es un repositorio de GitHub con una colección de scripts para automatizar tareas comunes, te puedes encontrar desde tareas para backup, desarrollo web(testing, despliegue o scraping), Data Science, seguridad y otras.
https://github.com/Chamepp/Daily.py
#automatizacion
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
📽 Python for DataScience | Short Courses
آموزش ویدیویی مقدمات پایتون برای علوم داده.
🔗 https://youtu.be/yGN28LY5VuA
#Python #DataScience
#Courses
@ai_python
El siguiente enlace tenemos un artículo donde explica como escribir código de calidad y como automatizar ese proceso.
https://bit.ly/3r7P4qj
#desarrollo #calidad
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Como configurar un sistema de cache utilizando Redis en Django, en el siguiente artículo te explica como hacerlo y con un ejemplo práctico.
https://bit.ly/3CTfUoN
#django #cache
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
🔥 10 Tips And Tricks To Write Better Python Code
10 советов и приемов для написания лучшего кода на Python
1) Iterate c enumerate() вместо range(len())data = [1, 2, -3, -4]
# плохо:
for i in range(len(data)):
if data[i] < 0:
data[i] = 0
# хорошо:
data = [1, 2, -3, -4]
for idx, num in enumerate(data):
if num < 0:
data[idx] = 0
2) list comprehension вместо for-loops#плохо:
squares = []
for i in range(10):
squares.append(i*i)# хорошо:
squares = [i*i for i in range(10)]
3) sorted() methoddata = (3, 5, 1, 10, 9)
sorted_data = sorted(data, reverse=True) # [10, 9, 5, 3, 1]
data = [{"name": "Max", "age": 6},
{"name": "Lisa", "age": 20},
{"name": "Ben", "age": 9}
]
sorted_data = sorted(data, key=lambda x: x["age"])
4) Хранение данных в Setsmy_list = [1,2,3,4,5,6,7,7,7]
my_set = set(my_list) # removes duplicates
primes = {2,3,5,7,11,13,17,19}
5) Экономьте память с помощью генераторов# list comprehension
my_list = [i for i in range(10000)]
print(sum(my_list)) # 49995000
# generator comprehension
my_gen = (i for i in range(10000))
print(sum(my_gen)) # 49995000
import sys
my_list = [i for i in range(10000)]
print(sys.getsizeof(my_list), 'bytes') # 87616 bytes
my_gen = (i for i in range(10000))
print(sys.getsizeof(my_gen), 'bytes') # 128 bytes
6) Определение значений по умолчанию в словарях с помощью .get() и .setdefault()my_dict = {'item': 'football', 'price': 10.00}
count = my_dict['count'] # KeyError!
# лучше:
count = my_dict.get('count', 0) # optional default valuecount = my_dict.setdefault('count', 0)
print(count) # 0
print(my_dict) # {'item': 'football', 'price': 10.00, 'count': 0}
7) Подсчет хэшируемых объектов с помощью collections.Counterfrom collections import Counter
my_list = [10, 10, 10, 5, 5, 2, 9, 9, 9, 9, 9, 9]
counter = Counter(my_list)
print(counter) # Counter({9: 6, 10: 3, 5: 2, 2: 1})
print(counter[10]) # 3from collections import Counter
my_list = [10, 10, 10, 5, 5, 2, 9, 9, 9, 9, 9, 9]
counter = Counter(my_list)
most_common = counter.most_common(2)
print(most_common) # [(9, 6), (10, 3)]
print(most_common[0]) # (9, 6)
print(most_common[0][0]) # 9
8 ) Форматирование строк с помощью f-Stringsname = "Alex"
my_string = f"Hello {name}"
print(my_string) # Hello Alex
i = 10
print(f"{i} squared is {i*i}") # 10 squared is 100
9) Конкатенация строк с помощью .join()list_of_strings = ["Hello", "my", "friend"]
#плохо:
my_string = ""
for i in list_of_strings:
my_string += i + " " #хорошо
list_of_strings = ["Hello", "my", "friend"]
my_string = " ".join(list_of_strings)
10) Слияние словарей с синтаксисом двойной звездочки **.d1 = {'name': 'Alex', 'age': 25}
@pythonl
d2 = {'name': 'Alex', 'city': 'New York'}
merged_dict = {**d1, **d2}
Como diseñar una API "pythonic", en el siguiente artículo explica las cualidades que debe tener una buena API.
https://bit.ly/3pnYWvJ
#API
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
El siguiente artículo es como dice "café para muy cafeteros" porque trata de como hacer con Python un hypervisor de KVM.
https://www.devever.net/~hl/kvm
#virtualizacion
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Cuando estas aprendiendo de nuevo ámbito y de los problemas es encontrar buenos ejemplos y datos para practicar. Pues si en un caso estas empezando en el mundo de Data Science, en el enlace siguientes encontraras 32 datasets(conjuntos de datos) de diversos ámbitos y niveles de dificultad, con una pregunta tipo desafio, para que practiques y mejores tus habilidades.
https://bit.ly/430wGwX
#datos
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Web centrada en el desarrollo de GUI en Python donde obtendras diversos recursos desde libros,artículos, foros o consultoria en diferentes librerías.
https://bit.ly/3qOAX99
#GUI #desarrollo
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Los test fixture permiten configurar el sistema para ejecutar los test, se declaran una serie de precondiciones que el sistema debe tener para ejecutar los test, esto permite que todos los test se ejecuten en las mismas condiciones.
Pytest es una libreria muy conocida de testing y tiene funciona con fixtures si quieres saber como, en el siguiente enlaces veras un ejemplo de uso.
https://bit.ly/3XmzzXv
#testing
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
LibrePay: https://liberapay.com/jajt/
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Python se utiliza en varios ámbitos, uno de ellos es en finanzas, en el siguiente artículo conocerás como una herramienta como Panda y varios ejemplo para conocer diversas funcionalidades.
https://ponder.io/python-for-finance-pandas-resample-groupby-and-rolling/
#finanzas
Python se utiliza en múltiples ámbitos sitios y uno de ellos es el campo de la Estadística, en el siguiente artículo explica como utilizar Python para modelos estadísticos, que herramienta hay disponible y ejemplos de uso.
https://bit.ly/3OcVIVx
#estadistica
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
🚀 Pairing Telegram data with Python. Read and analyze chat messages
Парсим данные в Telegram на Python. Читаем и анализируем сообщения из чатов.from xmlrpc.client import DateTime
from telethon.sync import TelegramClient
from telethon.tl.functions.messages import GetDialogsRequest
from telethon.tl.types import InputPeerEmpty
from telethon.tl.functions.messages import GetHistoryRequest
from telethon.tl.types import PeerChannel
import csv
api_id = 'api id'
api_hash = "api_hash"
phone = "phone number"
client = TelegramClient(phone, api_id, api_hash)
client.start()
chats = []
last_date = None
chunk_size = 200
groups=[]
result = client(GetDialogsRequest(
offset_date=last_date,
offset_id=0,
offset_peer=InputPeerEmpty(),
limit=chunk_size,
hash = 0
))
chats.extend(result.chats)
for chat in chats:
try:
if chat.megagroup== True:
groups.append(chat)
except:
continue
print("Выберите группу для парсинга сообщений и членов группы:")
i=0
for g in groups:
print(str(i) + "- " + g.title)
i+=1
g_index = input("Введите нужную цифру: ")
target_group=groups[int(g_index)]
print("Узнаём пользователей...")
all_participants = []
all_participants = client.get_participants(target_group)
print("Сохраняем данные в файл...")
with open("members.csv", "w", encoding="UTF-8") as f:
writer = csv.writer(f,delimiter=",",lineterminator="\n")
writer.writerow(["username", "name","group"])
for user in all_participants:
if user.username:
username= user.username
else:
username= ""
if user.first_name:
first_name= user.first_name
else:
first_name= ""
if user.last_name:
last_name= user.last_name
else:
last_name= ""
name= (first_name + ' ' + last_name).strip()
writer.writerow([username,name,target_group.title])
print("Парсинг участников группы успешно выполнен.")
offset_id = 0
limit = 100
all_messages = []
total_messages = 0
total_count_limit = 0
while True:
history = client(GetHistoryRequest(
peer=target_group,
offset_id=offset_id,
offset_date=None,
add_offset=0,
limit=limit,
max_id=0,
min_id=0,
hash=0
))
if not history.messages:
break
messages = history.messages
for message in messages:
all_messages.append(message.message)
offset_id = messages[len(messages) - 1].id
if total_count_limit != 0 and total_messages >= total_count_limit:
break
print("Сохраняем данные в файл...")
with open("chats.csv", "w", encoding="UTF-8") as f:
writer = csv.writer(f, delimiter=",", lineterminator="\n")
for message in all_messages:
writer.writerow([message])
print('Парсинг сообщений группы успешно выполнен.')
@pythonl
🕸 Python Web Scraping
Этот исчерпывающий список содержит библиотеки python, связанные с веб-парсингом и обработкой данных.
Web Scraping: Frameworks
scrapy - web-scraping framework (twisted based).
•pyspider - A powerful spider system.
•autoscraper - A smart, automatic and lightweight web scraper
•grab - web-scraping framework (pycurl/multicurl based)
•ruia - Async Python 3.6+ web scraping micro-framework based on asyncio
•cola - A distributed crawling framework.
•frontera - A scalable frontier for web crawlers
•dude - A simple framework for writing web scrapers using decorators.
•ioweb - Web scraping framework based on gevent and lxml
Web Scraping : Tools
•portia - Visual scraping for Scrapy.
•restkit - HTTP resource kit for Python. It allows you to easily access to HTTP resource and build objects around it.
•requests-html - Pythonic HTML Parsing for Humans.
•ScrapydWeb - A full-featured web UI for Scrapyd cluster management, which supports Scrapy Log Analysis & Visualization, Auto Packaging, Timer Tasks, Email Notice and so on.
•Starbelly - Starbelly is a user-friendly and highly configurable web crawler front end.
•Gerapy - Distributed Crawler Management Framework Based on Scrapy, Scrapyd, Django and Vue.js
Web Scraping : Bypass Protection
•cloudscraper - A Python module to bypass Cloudflare's anti-bot page.
▪ GIthub
@pythonl
El siguiente artículo no es de desarrollo propiamente dicho, pero me ha parecido muy interesante, y desconocido para mi, lo que explica.
Dentro de la librería estandar de Python tenemos un conjunto de módulo que se pueden utilizar como herramienta para terminal con python -m nombre_modulo.
En el siguiente artículo muestra como ha descubierto todas esas herramientas y explica alguna de ellas.
https://bit.ly/3pvLKoH
#CLI
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
🖥 10 Advanced Python Scripts For Everyday Programming
10 полезных скриптов Python для повседневных задач
1. SpeedTest with Python
# pip install pyspeedtest
# pip install speedtest
# pip install speedtest-cli
#method 1
import speedtest
speedTest = speedtest.Speedtest()
print(speedTest.get_best_server())
#Check download speed
print(speedTest.download())
#Check upload speed
print(speedTest.upload())
# Method 2
import pyspeedtest
st = pyspeedtest.SpeedTest()
st.ping()
st.download()
st.upload()
2. Search on Google# pip install google
from googlesearch import search
query = "Medium.com"
for url in search(query):
print(url)
3. Make Web Bot# pip install selenium
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
bot = webdriver.Chrome("chromedriver.exe")
bot.get('[http://www.google.com'](http://www.google.com'))
search = bot.find_element_by_name('q')
search.send_keys("@codedev101")
search.send_keys(Keys.RETURN)
time.sleep(5)
bot.quit()
4. Fetch Song Lyrics# pip install lyricsgenius
import lyricsgenius
api_key = "xxxxxxxxxxxxxxxxxxxxx"
genius = lyricsgenius.Genius(api_key)
artist = genius.search_artist("Pop Smoke", max_songs=5,sort="title")
song = artist.song("100k On a Coupe")
print(song.lyrics)
5. Get Exif Data of Photos# Get Exif of Photo
# Method 1
# pip install pillow
import PIL.Image
import PIL.ExifTags
img = PIL.Image.open("Img.jpg")
exif_data =
{
PIL.ExifTags.TAGS[i]: j
for i, j in img._getexif().items()
if i in PIL.ExifTags.TAGS
}
print(exif_data)
# Method 2
# pip install ExifRead
import exifread
filename = open(path_name, 'rb')
tags = exifread.process_file(filename)
print(tags)
6. OCR Text from Image# pip install pytesseract
import pytesseract
from PIL import Image
pytesseract.pytesseract.tesseract_cmd = r'C:\Program Files\Tesseract-OCR\tesseract.exe'
t=Image.open("img.png")
text = pytesseract.image_to_string(t, config='')
print(text)
7. Convert Photo into Cartonize# pip install opencv-python
import cv2
img = cv2.imread('img.jpg')
grayimg = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
grayimg = cv2.medianBlur(grayimg, 5)
edges = cv2.Laplacian(grayimg , cv2.CV_8U, ksize=5)
r,mask =cv2.threshold(edges,100,255,cv2.THRESH_BINARY_INV)
img2 = cv2.bitwise_and(img, img, mask=mask)
img2 = cv2.medianBlur(img2, 5)
cv2.imwrite("cartooned.jpg", mask)
8. Empty Recycle Bin# pip install winshell
import winshell
try:
winshell.recycle_bin().empty(confirm=False, /show_progress=False, sound=True)
print("Recycle bin is emptied Now")
except:
print("Recycle bin already empty")
9. Python Image Enhancement# pip install pillow
from PIL import Image,ImageFilter
from PIL import ImageEnhance
im = Image.open('img.jpg')
# Choose your filter
# add Hastag at start if you don't want to any filter below
en = ImageEnhance.Color(im)
en = ImageEnhance.Contrast(im)
en = ImageEnhance.Brightness(im)
en = ImageEnhance.Sharpness(im)
# result
en.enhance(1.5).show("enhanced")
10. Get Window Version# Window Version
import wmi
data = wmi.WMI()
for os_name in data.Win32_OperatingSystem():
print(os_name.Caption) # Microsoft Windows 11 Home
@pythonl
Si quieres hacer una pequeña aportación para mejorar mis proyectos lo puedes hacer por los métodos que he descrito en el mensaje anterior, o por Telegram, os lo agradecería mucho.
Читать полностью…En el siguiente artículo es una reflexión sobre algo que los programadores se enfrentan a diario que es la depuración de ćodigo. El autor explica porque y como depurar código de forma eficiente.
https://bit.ly/46vDGF6
#debug
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Ko-fi https://ko-fi.com/josjimenez
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Lo anterior esta en ruso, recordar que Telegram permite traducir texto y del Ruso a Español esta soportado.
Читать полностью…También me puedes apoyar por Telegram, estaré muy agradecido y motivara para seguir en estos días tan caluroso.
Читать полностью…¿Sabes lo que es LoB "the location of Behaviour"? En caso negativo ,puedes aprenderlo en el siguiente artículo donde lo aplica a las URLs y vistas de Django.
https://bit.ly/3pkxTS3
#django
En este caso es un recurso algo diferente, porque no es un enlace a una web, si no un un enlace compartido de una carpeta Data Science.
Para quien no sepa que es esa funcionalidad en Telegram, el siguiente enlace es de un carpeta con grupos y canales de ese ámbito. cuando pulsas en el enlace, tendrás un listado que podrás decidir donde entras y donde no, cuando confirmas en tu cliente de Telegram aparecerá esa carpeta con los canales y grupo que te has unido.
Asi que aquí tienes una carpeta de Data Science.
/channel/addlist/8_rRW2scgfRhOTc0
Si quieres hacer una pequeña aportación, lo puedes hacer desde Telegram, en el siguiente mensaje.
Читать полностью…Artículo de opinión sobre la librería Asyncio donde el autor comenta lo que piensa sobre esa librería y las alternativas que existen.
https://bit.ly/43Mmw49
#asincrono
Apoyame, lo agradecería mucho y es un factor motivante muy importante.
Buy me Coffe https://buymeacoffee.com/jajt
PayPal https://paypal.me/JoseAJimenez
Amazon afiliados https://amzn.to/3s0zEk2
Audio Curso Aprendiendo Telegram https://mumbler.io/aprendiendo-telegram
Desde hace un tiempo conozco a Victor Correal, tenemos en común nuestra pasión por Telegram, le he entrevistado 3 veces.
Pues tiene una newsletter donde ¨cuenta cosas¨, acaba de poner un sistema de referido para su newsletter, aunque da premios por la cantidad de gente que se apunte, realmente lo hago porque es lo mínimo que puedo hacer, ademas muchos de aquí no lo conocerán y su newsletter es muy interesante
En el siguiente enlace podrás suscribirte a su newsletter
https://victorcorreal.substack.com?r=kacvt
Desarrollo de un buscador con Django.
https://danlamanna.com/posts/building-search-dsls-with-django/
#django #busqueda