サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
blog.aoshiman.org
辞書型の文字列をPythonで評価する場合、他言語同様evalが使えます。 In [1]: s = eval("{'a':'aaa', 'b':'bbb', 'c':'ccc'}") In [2]: s['a'] Out[2]: 'aaa' evalは便利ですが、強力故にこのような文字列も評価可能です。 In [3]: ls -l total 8 -rw-r--r-- 1 aoshiman staff 79 11 24 21:39 README.tmpenv drwxr-xr-x 2 aoshiman staff 68 11 24 21:40 a-path-you-really-care-about/ drwxr-xr-x 36 aoshiman staff 1224 11 24 21:39 bin/ drwxr-xr-x 3 aoshiman staff 102 11 24 21:39
Requestsを使ってサイトにアクセスした際、サイトによってはエンコード情報を適切に判定してくれない場合があるようです。例えば下記のような場合、 SHIFT_JIS が欲しいところで ISO-8859-1 が返ってきます。 In [1]: import requests In [2]: r = requests.get("http://www.atmarkit.co.jp/") In [3]: r.encoding Out[3]: 'ISO-8859-1' このブログにアクセスした場合はこのようになります。これは正しく返してくれます。 In [4]: r = requests.get("http://blog.aoshiman.org") In [5]: r.encoding Out[5]: 'utf-8' ちゃんと調べてはいないのですが、レスポンスヘッダに文字コード情報が入っていない場
少し前にこのようなエントリーを書きました。 [IPython] PuDB を IPython のマジックコマンドで使う | aoshiman.org IPython の起動時に特定の処理を走らせる(上記エントリーでは、import pudb.ipython)には、ipython_config.py の c.InteractiveShellApp.exec_lines に処理を書いていくのですが、その処理がimport文の場合、そのPython環境にimportするモジュールがなければ、当然ImportErrorが発生します((注)importがコケるだけでIPythonそのものは正常に起動します)。 PuDBが不要であったり、IPython環境によっては特定の処理を走らせる必要ない場合もあるので、その場合は # lines of code to run at IPython startup
virtualenv(wrapper)環境で動作するPythonスクリプトをcronで運用したくて 下記のようなシェルスクリプトを書いたのですが、 #!/bin/sh export LANG=ja_JP.utf-8 export ENV_NAME=test export VIRTUALENV_PATH=$HOME/.virtualenvs/$ENV_NAME source $VIRTUALENV_PATH/bin/activate cd $HOME/tmp/test python ./hoge.py exit Ubuntuの場合、これがエラーとなる(確認したのは12.04と14.04) hoge.sh: 5: hoge.sh: source: not found Traceback (most recent call last): File "./hoge.py", line 2, in
最近アルゴリズムなんかを理解する為に写経したPythonコードをPuDBにかけることが多いのですが、PuDBを単体で動かすよりも、IPython上で使えたほうがなにかと便利なのでやり方をメモっておきます。試した環境はYosemite、Python3.4.2です。 PuDBに関してはこちらのエントリーが詳しいです(参考にさせて頂きました) Python の CUI デバッガ PudB が便利すぎた件 | CUBE SUGAR STORAGE pudbを利用したPythonスクリプトのデバッグ - TIMEZONE PST Hatena Branch PuDBを動かす場合、pip でインストールしてから、このようにいつもpythonと打つところをpudbとして起動させます。 pudb3 sieve.py 1000 もしくは-mオプションを付けて呼び出すのですが、 python -m pudb
bitbucketのソースコードの貼り付けがうまくいかないのでコピペして貼り付けます。 リポジトリはこちらです。ものすごく適当に作ってます。 このブログはFlaskで動いていて、リポジトリをBitbucketの非公開リポジトリにおいてあります。またそのリポジトリではデータベースであるsqliteのバイナリファイルもインディックスしています。 ブログを書いたり、レイアウトを変更したりする場合は、ローカルで動かして、作業をし、コミットしてpushします(ブログ更新だけ行った場合はバイナリファイルだけ更新されることになります)。そしてpushを感知したBitbucket側がwebhookにてJSONデータをこのウェブアプリに投げつけます。 POSTデータを受け取ったらブログのドキュメントルートからリポジトリをgit pullして更新する仕組みです。つでにwsgiファイルをtouchしてmod_w
人生も折り返しを過ぎると脳の劣化が激しくて異常なくらい物忘れが起こるのですが、最近は自宅でこのブログなんかをカスタマイズしてbitbucketにpushしておいたことを会社ですっかり忘れてて昼休みとかに作業始めちゃって途中で気づいて慌てることが頻繁にあります。 作業始める時にリモートリポジトリを確認することを忘れないとかはもう無理なので、そのかわりプロジェクトフォルダでworkonしたらオートマチックにgitのリモートリポジトリの更新をチェックする(git fetch)ようにしました。 workonしたら自動的にプロジェクトフォルダに移動する virtualenvwrapperのマニュアルにあるsetvirtualenvprojectを参考に まずプロジェクトフォルダを作成します(プロンプトが可愛いのは気にしないで下さい) aoshiman ~/dev(*'-') <mkdir testp
本当は怖いパスワードの話(1/4) - @ITを読んでなるほどなぁって思っていたのですが、それじゃあFlaskでソルト化(ソルト化っていう言葉が正しいかわかりませんが今回はこう書きます)ってどうやるんだろうかと調べたら、そのものズバリの事例がスニペット集に載っていました。 Salted Passwords | Flask (A Python Microframework) つまりはWerkzeug(ヴェルクツォィグって読む)がソルト化とそのチェック機能を提供してくれるとのこと。せっかくなのでこのBlogの管理者ログインパスワードをソルト化しました。 generate_password_hashを使ったパスワードのハッシュ+ソルト化 スニペットではwerkzeug.securityのgenerate_password_hashとcheck_password_hashを使ったclassを作成し
WordPress→blogmopと使用してきたBlogツールですが、今回Flaskを使用して自作しました。 当初移行する明確な意思などは全然なかったのですが、Flaskのチュートリアルを実施しているうちにFlaskが楽しくなってきてそのまま勢いで作ってしまいました。ついでにサブドメインも切ったりしてますのでRSSなども変わってます。 使用しているエクステンションはFlask-SqlAlchemy1つだけでです。 あとさくらVPSを使っているのですが、今後のことを考えてCentOSからUbuntuに切り替えました。 作ってみてわかったこと Flaskは楽しい でもわからないところをググると日本語の情報は殆ど無い(特にFlask-SqlAlchemy) なので公式ドキュメントをひたすら読むか、メーリングリストをひたすら漁った stackoverflow.comのFlaskタグはかなり世話にな
このページを最初にブックマークしてみませんか?
『aoshiman.org』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く