Skrevet Av Nat Dunn, Webucator
Vi begynte å bruke Python På Webucator i 2015. Siden de fleste av våre større programmeringsprosjekter har å gjøre med å bygge nettbaserte applikasjoner, og vi for lenge siden hadde bestemt oss for vår webstack, har vi ikke trengte Python for noen store prosjekter. Vi bruker det imidlertid regelmessig for å løse problemer raskt og automatisere manuelle oppgaver. I denne artikkelen vil jeg beskrive hvordan Vi brukte Python til å automatisere et problem som skjedde sjelden, men var en stor plage når det skjedde.
SOM ET IT-opplæringsfirma skriver vi mye kursmateriell med mange kodeeksempler, som både er inkludert i klassefilene og innebygd i kursmanualen. For å unngå å måtte vedlikeholde koden både i filen og håndboken, leser vårt byggesystem, SOM ER XML-basert, klassefilene i håndboken. For å få det til å fungere, må vi markere hver klassefil med XML før du forplikter den. Her er et utvalg av en merket kursmateriell fil:
XML her er enkel. Den inneholder et rotelement (cw:File
) og noen vektelementer (cw:Em
). Build analyserer DENNE XML og bruker XSL: FO, trekker den inn i håndboken for å lage dette:
når dette fungerer som forventet, fungerer det vakkert. Men noen ganger vil en forfatter begå en fil som ikke er godt formet XML, som bryter bygningen. Personen som bygger kursmaterialet er ofte ikke den samme personen som personen som skriver kursmaterialet, så det kan være et lag mellom tiden feilen oppstår og tiden det blir løst. Videre håndterer vårt hjemmedyrkede byggesystem ikke feilen godt. I stedet for å rapportere det, spinner det og spinner. (Vi må fikse det til slutt, men av grunner som ikke er relevante for denne artikkelen, kommer det ikke til å skje noen gang snart.) Personen som bygger kurset må da la forfatteren vite at EN AV XML-filene er dårlig dannet, men hun vet ikke hvilken. Forfatteren må da sjekke HVER XML-fil til han finner den som er dårlig dannet. Ferdig en fil om gangen med et verktøy SOM XMLSPY, dette er en møysommelig prosess. Skriv Inn Python!
siste gang jeg måtte gå gjennom denne prosessen, innså Jeg At Python kunne løse dette problemet veldig raskt. Python-programmet må bare gå gjennom katalogene og finne alle filene som trenger å sjekke, basert på deres steder og utvidelser, sjekk om filen begynner med «<cw:» da ikke alle filer er merket SOM XML, og bruk lxml.etree
for å forsøke å analysere filen. Ved feil skal den rapportere filnavnet. Dette programmet tok mindre enn 15 minutter å skrive og lagret mer enn det første gang jeg brukte det. Jeg har kopiert det under for å vise hvor enkelt det er:
Dette er bare ett av mange eksempler der Vi bruker Python På Webucator for raskt og enkelt å automatisere tidkrevende, manuelle oppgaver.
Webucator tilbyr live Online og tilpasset python trening på stedet.