Lær Python
Automatisering og CLI
Byg scripts, CLI-værktøjer, batch-jobs og pålidelig automation.
Argumenter med argparse
import argparse
parser = argparse.ArgumentParser(description="Find store filer")
parser.add_argument("path")
parser.add_argument("--min-mb", type=float, default=100)
args = parser.parse_args()Et godt CLI-værktøj har --help, forståelige fejl og meningsfulde exit codes.
Filautomation
from pathlib import Path
limit = args.min_mb * 1024 * 1024
for path in Path(args.path).rglob("*"):
if path.is_file() and path.stat().st_size >= limit:
print(path)Test scripts på en midlertidig mappe. Tilføj --dry-run, før et værktøj flytter, overskriver eller sletter noget.
Logging
import logging
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s %(levelname)s %(message)s",
)
logger = logging.getLogger(__name__)
logger.info("Jobbet starter")Brug logging til drift og print til brugerens ønskede output.
Subprocess
import subprocess
result = subprocess.run(
["git", "status", "--short"],
check=True,
capture_output=True,
text=True,
)
print(result.stdout)Brug en liste af argumenter og undgå shell=True med brugerinput.
Scheduling
Lad operativsystemet starte scriptet med cron, systemd timer eller Windows Task Scheduler. Scriptet bør kunne køres igen uden at ødelægge data og skrive tydelige logs.
Øvelse
Byg et backupværktøj med configfil, dry-run, checksums, struktureret logging og en rapport over kopierede og fejlede filer.