[Python3]タスクスケジューラー経由で動作させると、コンソールが消えない問題をどうにかしたい。

最近、ふと思い立ってPythonを始めました。

といっても近頃流行りの機械学習的なものではなく、Seleniumを使ったブラウザの自動操作をやりたくて覚えたんですけどね(´・ω・`)

さてタイトルの話題。
(自分の環境はWindows10上でAnaconda5.2.0を使って開発しております。その前提でお聞きください。)

作ったコードをタスクスケジューラーを使って動作させると、なぜかコンソールが動作終了後も出っぱなしになってしまいます。
1日になんども動かすので、あまり出っぱなしにはなってほしくない!何とかしたい!……と思って調べていたら、2つほど手段が出てきました。

①pythonw.exeを使う。

pythonにはランタイムが2つあるらしくて、コンソールを出す「python」の他に、コンソールを表示しない「pythonw」なるものがあるみたいですね……
これならはじめからコンソールが出ないので、問題にならないです。
python使いの方なら「何アタリマエのこと言うてんねん!」て感じでしょうが、まじなんも知らんところからのスタートなんでゆるして(´;ω;`)

②システムコールを叩いてコンソールそのものを消す。

言われてみれば「なるほど」なんですけどね。

でもこれだと、同時に起動している他のタスクも消えてしまうかもしれないので、確実に1つしか消えない、というとき以外は微妙です。

 

まーおとなしくpythonwで動かすことにします。

参考サイト

windows – Python Scheduled Task Close taskeng.exe – Stack Overflow
https://stackoverflow.com/questions/28302795/python-scheduled-task-close-taskeng-exe

ヤマト宅急便のお届け予定日数の一覧を作ってみた

ヤマトのお届け予定日検索が使いにくい・・・
料金・お届け予定日検索(宅急便)|ヤマト運輸
時間帯レベルまで細かく出してくれるのはいいんだけど、いちいち郵便番号を入れなきゃならないから、いろいろな地域を大まかに見るようなことはできないんですよねー。

佐川急便の予定日検索みたいに、日本地図でざっくり出してほしいですね。日数で表示されるから、個人的にはめっちゃ使いやすいんですよね。

……そんなわけで、その地図を出す素を作ってみました。
今日のところは力尽きたので、地図にするのはまた後にします( ・`ω・´)

yamato_otodoke_nissu

ファイルの中身は、各都道府県の県庁所在地の郵便番号を元に、上記お届け予定日検索を実行して出てきた日数をリストアップしてあります。
文字コードShiftJISのCSVファイルなので、エクセルあたりで開いてみるといいと思います。

48都道府県の2乗だから、検索回数は2304回!死ぬorz
流石に人力は腕がお亡くなりになってしまうのでSeleniumさんにやってもらいました(´・ω・`) テスト以外でも大活躍ですぜ!!