2019年9月22日日曜日
jupyter notebookをインストールして起動する
Anacondaを入れたことがなかったので入れてみた
WindowsにAnacondaインストールしてjupyter notebookを起動して軽く試すところまで書きます
2018年3月19日月曜日
pythonで簡単なスクリーンショットツールを作る
スクリーンショットを撮りたい。pythonで作りたい。作ろう! というわけで作ります。
最終的に以下のような動きをするコードができる。
- スクリプトを起動する
- マウスで撮りたいウィンドウをクリックする
- 好きなだけprintscreenを押す
- するとディレクトリにjpgファイルが
- escで終了
大雑把にはこんな環境
- python3.5
- Windows10
pillow、keybaord、mouseというライブラリを使うよ!
2018年3月14日水曜日
PyOCRを使って文字認識する
PyOCRとは何か?
tesseract-ocrをpythonから使えるようにしたもの。pythonからtesseractを呼び出して画像から文字を認識する。
詳しくはhttps://github.com/openpaperwork/pyocr
前提
- tesseractをインストールしてあること
- pythonをインストールしてあること
- 私の環境はWindows10
2016年4月26日火曜日
Effective Python読みました記事書くよ!
部分的に拾って感想を書いていく。よくわかったところと、とりあえず流したところがあった雑な感想。コードも書かぬ。
1章 python流思考
「map、filterを使うでない、リスト内包表記を使うのじゃ」
みたいな結構いろんな本とかブログとかで見かけることが多め。
またmapさんとfilterさんがリスト内包表記さんのやられ役になっておられる……
そろそろreduceさんみたいに左遷されるのではないかと思っている。
1つのスライスでstart, end, stribeは結構やっちゃうことなのでこれからは気をつけていきたい。
pep8スタイルガイドはvimにSyntastic入れてflake8を使うと文法のエラーとスタイルガイドの両方を自動でチェックできて捗ると思います。
2章 関数
「Noneを返すより例外」は確かにその通りなので反省します。とりあえずNoneはやっぱりよくなかった。
クロージャのスコープの話と__call__を実装したクラスを使うのは参考になった。内側の関数の中で外側の変数に値を代入する必要があるときはnonlocalを使うかクラス化する。
3章 クラスと継承
ここでも__call__がでてくる。
プライベートよりパプリック。個人的にはわかりやすい。
4章 メタクラスと属性
個人的には一番参考になった章。
get_hogeとかset_hogeとかやらない。@propertyを使う。
5章 並行性と並列性
threadはCPU的には並列ではなくてループをたくさん回す計算処理には向かないけどブロッキングI/Oみたいなpythonの外側にボトルネックがあるときは役に立つ。
コルーチンというyieldを使った並列。
multiprocessingというちゃんとした並列。
この章はこうすればミスが少ないとかそういうtips集ではなくて並列入門な感じがする。
6章 組み込みモジュール
デコレータを使って作った関数をhelp関数に入れた時に期待していた名前が出てこない問題を初めて知った。functools.wrapsを頭の片隅に入れておく。
"組み込みのアルゴリズムとデータ構造を使う"のは当然だと思うけど実践は難しい。あれするためにあの機能が必要だな、pythonなんだからきっとあるだろう。いつもこんな感じでググってる。
7章 共同作業(コラボレーション)
ドキュメンテーション文字列を書く。
virtualenvは必須。
8章 本番運用準備
インスタンスをprintの引数にしたとき、デフォルトだと<__main__.hoge object at 0xごにょごにょ>と出てあまり役に立たないから必要に応じて__repr__を定義する。
unittest大事。mockというライブラリを使うともっと捗ると思います。
cProfileという最適化に便利なモジュールがある。速度低下の原因がどの部分かのヒントが得られる。
おわり
大変参考になった。これから書くコードには多分きっと少しずつ反映されている。
でも過去に作ったオレオレツール群の改善はせぬ。こういうのは一切手を付けず、本当に動かなくなるまで放置するのだ。
2016年4月1日金曜日
BeautifulSoupを使って画像ブログから画像をダウンロードする
あのブログにもこのブログにも対応とか無理なので「画像が並んでて、その画像をクリックすると画像ファイルに飛ぶタイプのブログの1ページ」に限定します。ブログの具体例はありません。
例外とかステータスコードが200じゃない時とか全く考慮してないです。
実行環境
- Windows10 64bit
- python 3.5.1 (多分64bit)
- pip install requests
- pip install beautifulsoup4
- hoge.pyみたいなファイルを作ってコードをコピペしてpython hoge.py
2016年3月23日水曜日
Pythonでコマンドライン引数を解析する
python hoge.py fuga --foo bar こんなのを処理したい。 argparseやdocoptやclickというものがあるらしいので軽く調べた。
- 特に制限がなければdocoptかclick
- 標準ライブラリを使いたい場合はargparse
- 大したことしないのでとりあえずsys.argv
2016年3月2日水曜日
Windowsのpython3.5.1にwxPython-Phoenixを入れようとして少し詰まった話
pip isntall ごにょごにょで入らなかったり、入ったと思ったらDLL load failedしたりした。
結論としては
- pipのバージョンが7.1.2だったのが悪いのでpipとvirtualenvは最新にする。
- とりあえずvisual studio community 2015を入れる。
でなんとかなった。
以下頑張ってググった話をごちゃごちゃと書く。