Pythonを使用して退屈なタスクを自動化|私たちの成功事例|Python.org

Nat Dunnによって書かれた、Webucator

私たちは2015年にWebucatorでPythonを使い始めました。 私たちの大規模なプログラミングプロジェクトのほとんどはwebベースのアプリケーションの構築に関係しており、私たちはずっと前にwebスタックを決 しかし、我々はすぐに問題を解決し、手動タスクを自動化するために定期的にそれを使用しています。 この記事では、まれに発生した問題を自動化するためにPythonを使用した方法について説明しますが、発生したときには大きな迷惑でした。

ITトレーニング会社として、私たちはクラスファイルに含まれ、コースマニュアルに埋め込まれている多くのコード例を含む多くのコースウェアを書いて ファイルとマニュアルの両方でコードを維持する必要を避けるために、XMLベースのビルドシステムはクラスファイルをマニュアルに読み込みます。 その作業を行うには、コミットする前に各クラスファイルをXMLでマークアップする必要があります。 マークアップされたコースウェアファイルのサンプルを次に示します:

コードサンプル-クラスファイル

ここでのXMLは単純です。 これには、ルート要素(cw:File)といくつかの強調要素(cw:Em)が含まれています。 ビルドはこのXMLを解析し、XSL:FOを使用してマニュアルにプルしてこれを作成します:

これが期待どおりに動作すると、美しく動作します。 しかし、作成者が整形式のXMLではないファイルをコミットすることがあり、ビルドが中断されることがあります。 コースウェアを作成している人は、コースウェアを作成している人と同じ人ではないことが多いため、エラーが発生してから修正されるまでの間にラグが さらに、私たちの自家製のビルドシステムはエラーをうまく処理しません。 それを報告するのではなく、それは回転し、回転します。 (私たちは最終的にそれを修正する必要がありますが、この記事に関連しない理由のために、それはすぐにいつでも起こるつもりはありません。)コースウェアを構築する人は、XMLファイルのいずれかが不十分に形成されていることを著者に知らせる必要がありますが、彼女はどちらを知らない。 次に、作成者は、形成が不十分なXMLファイルを見つけるまで、各XMLファイルをチェックする必要があります。 XMLSPYのようなツールで一度に一つのファイルを実行すると、これは面倒なプロセスです。 Pythonを入力してください!

最後にこのプロセスを経なければならなかったとき、私はPythonがこの問題を非常に迅速に解決できることに気付きました。 Pythonプログラムは、場所と拡張子に基づいて、ファイルが”<cw:”で始まるかどうかをチェックし、すべてのファイルがXMLとしてマークアップされていないため、lxml.etreeを使用してファイルを解析しようとするだけで、チェックが必要なすべてのファイルを見つけるディレクトリをループしなければなりません。 失敗した場合は、ファイル名を報告する必要があります。 このプログラムは、書き込みに15分未満を取り、私はそれを使用した最初の時間よりも多くを保存しました。 私はそれがいかに簡単であるかを示すためにそれを以下にコピーしました:

チェックXML Pythonプログラム

これは、WebucatorでPythonを使用して、時間のかかる手動タスクを迅速かつ簡単に自動化する多くの例の1つにすぎません。

Webucatorは、ライブオンラインとカスタマイズされたオンサイトPythonトレーニングを提供します。

コメントを残す

メールアドレスが公開されることはありません。

Previous post ミッシェル-ウィリアムズは、ビヨンセ'の新曲についての質問に最も厄介な応答を与えました
Next post あなたのブランドストーリーを伝える方法(プラス素晴らしい例)