

Bild von Autor | Ideogramm
# Einführung
Python Nicht nur für Datenwissenschaft, Erstellen von Apps oder Spiele. Ich unterrichtete meinem jüngeren Bruder Qasim und Python und merkte, dass er viel mehr miteinander verbunden warfare, als ich ihm praktische Skripte zeigte, die langweilige, sich wiederholende Aufgaben automatisieren konnten, mit denen wir oft jede Woche zu tun haben. Eine Sache, die ich im Leben beobachtet habe, ist, dass ein Haufen kleiner, unproduktiver und zeitaufwändiger Aufgaben Ihre Energie ernsthaft entleeren kann. Sie haben wenig Motivation oder Fokus auf die Dinge, die tatsächlich wichtig sind. Ich bin additionally hier, um Ihnen bei einigen der häufigsten Aufgaben zu helfen, denen Sie quick jede Woche begegnen, und wie sie mit Python leicht automatisiert werden können und Ihnen jede Menge Zeit und Energie sparen.
Ich habe die Skripte sauber und einfach gehalten, aber Sie können ihnen gemäß Ihren Anforderungen Komplexität hinzufügen. Additionally fangen wir an.
# 1. automatisierter Dateiorganisator nach Erweiterung
Um ehrlich zu sein, wird mein Obtain -Ordner manchmal, wenn ich arbeite, zu einem absoluten Chaos. Ich werde ein einfaches Python -Skript teilen, das die Dateien in Ihrem Zielverzeichnis durchschlägt und sie (z. B. Bilder, Dokumente, Movies) nach der Erweiterung arrangieren Betriebssystem Und schließen. Schauen wir uns an:
import os
import shutil
from pathlib import Path
# Folder to prepare (e.g., Downloads)
base_folder = Path.dwelling() / "Downloads"
# Outline folders for every extension
folders = {
"photos": ("jpg", "png", "gif", "bmp"),
"paperwork": ("txt", "pdf", "docx"),
"archives": ("zip", "rar", "tar", "gz"),
"audio": ("mp3", "wav"),
# add extra classes as wanted
}
# Iterate over recordsdata in base_folder
for merchandise in base_folder.iterdir():
if merchandise.is_file():
ext = merchandise.suffix.decrease().lstrip('.')
moved = False
# Decide which class folder to make use of
for folder, ext_list in folders.objects():
if ext in ext_list:
dest_dir = base_folder / folder
dest_dir.mkdir(exist_ok=True)
merchandise.rename(dest_dir / merchandise.identify)
moved = True
break
# If extension didn’t match any class, transfer to "others"
if not moved:
dest_dir = base_folder / "others"
dest_dir.mkdir(exist_ok=True)
merchandise.rename(dest_dir / merchandise.identify)
# 2. Systemressourcenmonitor mit Warnungen
Wenn Sie jemand wie ich sind, der mehrere Registerkarten, Apps und Skripte zusammenführt, ist es einfach, Ihre Systemleistung im Überblick zu verlieren. Dieses Skript verwendet das Psutil Bibliothek hilft Ihnen, Ihre CPU- und RAM -Nutzung zu überwachen. Sie können sogar Warnungen einstellen, wenn die Verwendung einen bestimmten Schwellenwert überschreitet.
import psutil
import time
CPU_LIMIT = 80 # in proportion
MEMORY_LIMIT = 80 # in proportion
whereas True:
cpu = psutil.cpu_percent(interval=1)
reminiscence = psutil.virtual_memory().%
print(f"CPU: {cpu}%, Reminiscence: {reminiscence}%")
if cpu > CPU_LIMIT:
print("⚠️ CPU utilization is excessive!")
if reminiscence > MEMORY_LIMIT:
print("⚠️ Reminiscence utilization is excessive!")
time.sleep(5)
Führen Sie es für eine Weile aus, und Sie werden bemerken, wie sich die Dinge beim Bearbeiten von Movies oder beim Ausführen eines schweren Skripts ansprechen.
# 3. Automatisierter E -Mail -Reporter
E -Mail frisst viel mehr Zeit als wir denken. Unabhängig davon, ob es sich um die Antwort auf Updates, das Versenden von Erinnerungen, die Nachverfolgung oder das Aufhalten von Menschen auf der Schleife verbringen, verbringen wir oft stundenlang Stunden damit, Dinge zu tun, die automatisiert werden können (und sollten). Und wenn Sie so etwas wie ich sind, überdenken Sie wahrscheinlich, was Sie in diesen regulären Replace -E -Mails schreiben, am Ende zögern und später durch sie eilen. Dieses einfache Skript kann wirklich nützlich sein, und hier ist, wie Sie es einrichten können:
import smtplib
from electronic mail.mime.textual content import MIMEText
sender = "youremail@instance.com"
receiver = "receiver@instance.com"
topic = "Every day Report"
physique = "That is your automated electronic mail for right now."
msg = MIMEText(physique)
msg("Topic") = topic
msg("From") = sender
msg("To") = receiver
# For safety, use atmosphere variables or getpass as an alternative of hardcoding.
password = "your_password"
with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
server.login("youremail@instance.com", password)
server.send_message(msg)
print("Electronic mail despatched!")
⚠️ Kopf hoch: Wenn Sie Google Mail verwenden, stellen Sie sicher, dass Sie einen weniger sicheren App-Zugriff aktiviert haben, oder richten Sie ein App-spezifisches Kennwort ein, wenn 2FA aktiviert sind.
# 4. Desktop -Benachrichtigungen
Ich habe tatsächlich angefangen, dieses Skript zu verwenden, um mir zu helfen, mich an die zu halten Pomodoro -Technik (25 Minuten tiefer Fokus, gefolgt von einer 5-minütigen Pause). Und ehrlich gesagt hat es Wunder für meine Konzentration und den Energieniveau im Laufe des Tages wirkte. Es ist großartig, wenn Sie etwas möchten, das auf Ihrem Bildschirm eine kleine Erinnerung aufgreift, ohne Apps zu wechseln oder Alarme einzustellen. Sie können es für etwas wie Stretch -Erinnerungen, Hydratationswarnungen oder sogar daran erinnern, sich daran zu erinnern, das Doomscrolling zu stoppen.
Da ich auf MacOS bin, benutze ich das integrierte Osascript Befehl zum Auslösen natives Systembenachrichtigungen. Wenn Sie jedoch unter Home windows oder Linux sind, können Sie die verwenden Splyer Bibliothek für ähnliche Funktionen.
So habe ich es für meinen eigenen Workflow eingerichtet:
import time
import os
def notify(title, message):
os.system(f'''
osascript -e 'show notification "{message}" with title "{title}"'
''')
# Pomodoro session settings
work_duration = 25 * 60 # 25 minutes
break_duration = 5 * 60 # 5 minutes
cycles = 4 # Variety of Pomodoro periods
for i in vary(cycles):
# Work part
notify(f"Pomodoro {i + 1} - Focus Time", "Time to focus! Work for 25 minutes.")
time.sleep(work_duration)
# Break part
notify("Break Time", "Good work! Take a 5-minute break.")
time.sleep(break_duration)
# Ultimate notification
notify("All Executed!", "You’ve accomplished all of your Pomodoros 🎉")
# 5. Passwortgenerator und Supervisor
Wenn Sie überall immer noch dasselbe Passwort verwenden (bitte nicht), ist dies für Sie. Es generiert ein sicheres Passwort und speichert es sicher (Sie können später auch den Speicherteil verschlüsseln).
import random
import string
def generate_password(size=12):
chars = string.ascii_letters + string.digits + string.punctuation
password = "".be part of(random.alternative(chars) for _ in vary(size))
return password
new_password = generate_password()
print("Generated Password:", new_password)
# Save to file (easy means)
with open("passwords.txt", "a") as file:
file.write(f"MySite: {new_password}n")
Weitere Sicherheit finden Sie in der Verschlüsselung der Datei mit Kryptographie oder speichern es in einem sicheren Gewölbe wie Schlüsselring.
# 6. Suchen Sie in mehreren Dateien nach Textual content
Wenn ich am Schreiben von Materials arbeite, habe ich normalerweise unzählige rohe Ideen, die über verschiedene Dateien in verschiedenen Ordnern verstreut sind. Manchmal erinnere ich mich, dass ich vor Wochen eine brillante Analogie oder einen Code -Snippet geschrieben habe … aber ich habe keine Ahnung, wo ich sie gespeichert habe. Dieses kleine Drehbuch hat mir unzählige Stunden gespeichert. Anstatt jede Datei manuell zu öffnen, um nach einem Ausdruck wie „maschinellem Lernen“ oder „Vektorsuche“ zu suchen, führen ich dieses Python -Skript einfach aus und lasse es alles für mich scannen.
import os
search_dir = "your_directory" # Substitute with the trail to your notes
search_term = "machine studying"
for root, dirs, recordsdata in os.stroll(search_dir):
for file in recordsdata:
if file.endswith(".txt") or file.endswith(".md"):
file_path = os.path.be part of(root, file)
strive:
with open(file_path, "r", encoding="utf-8") as f:
content material = f.learn()
if search_term.decrease() in content material.decrease():
print(f"✅ Present in: {file_path}")
besides Exception as e:
print(f"❌ Skipped {file_path} (error studying file)")
Dies ist eine einfache Model, die für einfache Textdateien hervorragend funktioniert. Da arbeite ich auch mit .docxAnwesend .pptxUnd .pdf Dateien, ich verwende eine etwas fortgeschrittenere Model, die diese Formate auch unterstützt. Sie können dieses Skript problemlos mit Bibliotheken erweitern wie Python-docxAnwesend Python-pptxUnd pdfplumber Um es zu einer Mini -Suchmaschine für Ihren gesamten Arbeitsbereich zu machen.
# 7. Praktika und Stipendien auf Twitter finden
Twitter/X kann eine Goldmine sein, wenn Sie wissen, wie Sie es clever verwenden. Als ich aktiv nach Grasp- und PhD -Stipendien suchte, wurde mir klar, dass Sie nicht nur qualifiziert werden müssen, sondern auch schnell und bewusst sein müssen. Viele großartige Möglichkeiten tauchen auf Twitter auf (ja, ernsthaft), aber sie verschwinden schnell, wenn Sie nicht genau zuschauen. Es gibt zwei großartige Möglichkeiten, dies in Python zu tun: Verwenden Sie entweder die Snscape Bibliothek oder offizielle API von Twitter. Wenn Sie mehr Kontrolle wünschen (z. B. Filterung nach Sprache, Ausnahme von Retweets usw.), können Sie die offizielle API V2 von Twitter verwenden. Selbst mit der kostenlosen Model erhalten Sie nur begrenzten Zugriff auf aktuelle Tweets. Für dieses Skript werden wir die verwenden Anfragen Bibliothek zu interagieren mit der API und Pandas Um die Ergebnisse zu organisieren.
Sie benötigen ein Entwicklerkonto und ein Trägertoken (Aus dem Twitter/X -Entwicklerportal).
import requests
import pandas as pd
BEARER_TOKEN = 'YOUR_TWITTER_BEARER_TOKEN' # Substitute this along with your token
headers = {
"Authorization": f"Bearer {BEARER_TOKEN}"
}
search_url = "https://api.twitter.com/2/tweets/search/latest"
# Key phrases that often present up in educational alternatives
question = (
'(phd OR "phd place" OR "grasp place" OR "absolutely funded") '
'("apply now" OR "open place" OR "graduate place") '
'-is:retweet lang:en'
)
params = {
'question': question,
'max_results': 10, # Max is 100 for latest search
'tweet.fields': 'author_id,created_at,textual content',
'expansions': 'author_id',
'person.fields': 'username,identify',
}
def get_tweets():
response = requests.get(search_url, headers=headers, params=params)
if response.status_code != 200:
increase Exception(f"Request failed: {response.status_code}, {response.textual content}")
return response.json()
def extract_tweet_info(information):
customers = {u('id'): u for u in information.get('contains', {}).get('customers', ())}
tweets_info = ()
for tweet in information.get('information', ()):
person = customers.get(tweet('author_id'), {})
tweet_url = f"https://twitter.com/{person.get('username')}/standing/{tweet('id')}"
tweets_info.append({
'Date': tweet('created_at'),
'Username': person.get('username'),
'Title': person.get('identify'),
'Textual content': tweet('textual content'),
'Tweet_URL': tweet_url
})
return pd.DataFrame(tweets_info)
if __name__ == "__main__":
information = get_tweets()
df = extract_tweet_info(information)
print(df(('Date', 'Username', 'Textual content', 'Tweet_URL')).head())
df.to_csv('phd_masters_positions_twitter.csv', index=False)
Sie können diesen wöchentlichen Ausführen und die Ergebnisse in einem CSV speichern oder sie sogar per E -Mail an sich selbst senden.
# Einpacken
Ehrlich gesagt habe ich nicht angefangen, Python zur Automatisierung zu verwenden, aber im Laufe der Zeit wurde mir klar, wie viel Zeit in kleine, sich wiederholende Dinge fließt, die in meinem Fokus leise weggibt. Diese Skripte mögen grundlegend erscheinen, aber sie helfen wirklich, Zeit und Kopfspace zu befreien.
Sie müssen nicht alles automatisieren. Wählen Sie einfach die ein oder zwei Aufgaben aus, die Sie am häufigsten ausführen, und bauen Sie von dort aus. Ich habe festgestellt, dass Sie, sobald Sie mit einfacher Automatisierung beginnen, mehr Möglichkeiten erkennen, um das Leben ein bisschen einfacher zu machen. Dort beginnt es wirklich zu klicken.
Lassen Sie mich wissen, ob Sie diese verwenden oder Ihre eigenen Versionen erstellen. Ich würde gerne sehen, was Sie sich einfallen lassen.
Kanwal Mehreen ist ein Ingenieur für maschinelles Lernen und technischer Schriftsteller mit einer tiefgreifenden Leidenschaft für die Datenwissenschaft und die Schnittstelle von KI mit Medizin. Sie hat das eBook „Produktivität mit Chatgpt maximieren“. Als Google -Era -Gelehrte 2022 für APAC setzt sie sich für Vielfalt und akademische Exzellenz ein. Sie wird auch als Teradata -Vielfalt in Tech Scholar, MITACS Globalink Analysis Scholar und Harvard Wecode Scholar anerkannt. Kanwal ist ein leidenschaftlicher Verfechter der Veränderung, nachdem er Femcodes gegründet hat, um Frauen in STEM -Bereichen zu stärken.
