Napsal Nat Dunn, Webucator
začali Jsme používat Python na Webucator v roce 2015. Protože většina našich větších programovacích projektů má co do činění s vytvářením webových aplikací a my jsme se už dávno rozhodli pro náš webový zásobník, nepotřebovali jsme Python pro žádné velké projekty. Pravidelně jej však používáme k rychlému řešení problémů a automatizaci ručních úkolů. V tomto článku popíšu, jak jsme použili Python k automatizaci problému, který se vyskytl zřídka, ale byl to obrovský problém, když k němu došlo.
jako Společnost pro školení v oblasti IT píšeme spoustu kurzů s mnoha příklady kódů, které jsou zahrnuty do souborů třídy a vloženy do příručky kurzu. Abychom se vyhnuli nutnosti udržovat kód jak v souboru, tak v příručce, náš systém sestavení, který je založen na XML, čte soubory třídy do příručky. Aby to fungovalo, musíme před spácháním označit každý soubor třídy XML. Zde je ukázka označeného souboru courseware:
XML je zde jednoduché. Obsahuje kořenový prvek (cw:File
) a několik zdůrazňovacích prvků (cw:Em
). Sestavení analyzuje tento XML a pomocí XSL:FO, táhne to do manuálu k vytvoření této:
Když to funguje podle očekávání, funguje to krásně. Ale někdy autor odevzdá soubor, který není dobře vytvořený XML, který přeruší sestavení. Osoba, budova výukového softwaru je často stejná osoba jako osoba, psaní výukový software, takže tam může být zpoždění mezi dobou, kdy dojde k chybě a čas to spraví. Navíc náš domácí systém sestavení chybu nezvládá dobře. Spíše než to hlásit, točí se a točí. (Musíme to nakonec napravit, ale z důvodů, které nejsou pro tento článek relevantní, se to v dohledné době nestane.) Osoba, která vytváří výukový program, musí dát autorovi vědět, že jeden ze souborů XML je špatně vytvořen, ale neví, který z nich. Autor pak musí zkontrolovat každý soubor XML, dokud nenajde ten, který je špatně vytvořen. Udělal jeden soubor najednou s nástrojem, jako je XMLSPY, je to pracný proces. Zadejte Python!
když jsem naposledy musel projít tímto procesem, uvědomil jsem si, že Python může tento problém vyřešit velmi rychle. Python program jednoduše procházet adresáře najít všechny soubory, které potřebují kontrolu, na základě jejich umístění a rozšíření, zkontrolujte, zda soubor začíná „<cw:“ protože ne všechny soubory jsou označeny jako XML, a pomocí lxml.etree
, aby se pokusili analyzovat soubor. Při selhání by měl nahlásit název souboru. Tento program trvalo méně než 15 minut psát a uložil více než to poprvé, co jsem ho použil. Opsal jsem to níže, jak ukázat, jak jednoduché to je:
To je jen jeden z mnoha příkladů, ve kterém používáme Python na Webucator rychle a snadno automatizovat časově náročné manuální úkoly.
Webucator poskytuje živé online a přizpůsobené onsite Python školení.