Använda Python för att automatisera tråkiga uppgifter / våra framgångshistorier | Python.org

skriven av Nat Dunn, Webucator

vi började använda Python på Webucator 2015. Eftersom de flesta av våra större programmeringsprojekt har att göra med att bygga webbaserade applikationer och vi hade för länge sedan beslutat om vår webbstack, har vi inte behövt Python för några storskaliga projekt. Vi använder det dock regelbundet för att snabbt lösa problem och för att automatisera manuella uppgifter. I den här artikeln beskriver jag hur vi använde Python för att automatisera ett problem som inträffade sällan, men var en stor olägenhet när det inträffade.

som IT-utbildningsföretag skriver vi mycket kursmaterial med många kodexempel, som både ingår i klassfilerna och inbäddade i kursmanualen. För att undvika att behöva behålla koden både i filen och manualen läser vårt byggsystem, som är XML-baserat, klassfilerna i manualen. För att få det att fungera måste vi markera varje klassfil med XML innan vi begår den. Här är ett exempel på en markerad kursfil:

kodexempel - Klass fil

XML här är enkel. Den innehåller ett rotelement (cw:File) och några betoningselement (cw:Em). Byggnaden tolkar denna XML och använder XSL:FO, drar den in i manualen för att skapa detta:

när detta fungerar som förväntat fungerar det vackert. Men ibland kommer en författare att begå en fil som inte är välformad XML, vilket bryter byggnaden. Personen som bygger kursmaterialet är ofta inte samma person som personen som skriver kursmaterialet, så det kan finnas en fördröjning mellan den tid felet inträffar och den tid det fixas. Dessutom hanterar vårt hemodlade byggsystem inte felet bra. I stället för att rapportera det, snurrar det och snurrar. (Vi måste fixa det så småningom, men av skäl som inte är relevanta för den här artikeln kommer det inte att hända någon gång snart.) Personen som bygger kursmaterialet måste då låta författaren veta att en av XML-filerna är dåligt formad, men hon vet inte vilken. Författaren måste sedan kontrollera varje XML-fil tills han hittar den som är dåligt formad. Gjort en fil i taget med ett verktyg som XMLSPY, detta är en mödosam process. Ange Python!

förra gången jag var tvungen att gå igenom denna process insåg jag att Python kunde lösa detta problem mycket snabbt. Python-programmet måste helt enkelt gå igenom katalogerna och hitta alla filer som behöver kontrolleras, baserat på deras platser och tillägg, kontrollera om filen börjar med ”<cw:” eftersom inte alla filer är markerade som XML och använd lxml.etree för att försöka tolka filen. Vid fel ska det rapportera filnamnet. Det här programmet tog mindre än 15 minuter att skriva och sparade mer än det första gången jag använde det. Jag har kopierat det nedan för att visa hur enkelt det är:

kontrollera XML Python Program

Detta är bara ett av många exempel där vi använder Python på Webucator för att snabbt och enkelt automatisera tidskrävande, manuella uppgifter.

Webucator tillhandahåller Live online och anpassad Python-utbildning på plats.

Lämna ett svar

Din e-postadress kommer inte publiceras.

Previous post Michelle Williams gav det mest besvärliga svaret på frågan om Beyonc Ukrainian 's nya låt
Next post Hur man berättar din varumärkeshistoria (Plus fantastiska exempel)