Python

<Python, flask> Flask-mail

Flask-mailしてみた。 https://pythonhosted.org/flask-mail/ まずは、SMTPサーバオン。 >winpty python -m smtpd -n -c DebuggingServer localhost:1025 続いて、別ターミナルで、ipyhtonオン。 で、 In [1]: from flask import Flask In [2]: from flask.e…

<Python> SMTPサーバ

デバック用途のローカルで動くSMTPサーバは下記呪文を唱えればいいらしい。 winpty python -m smtpd -n -c DebuggingServer localhost:1025 msys2の場合、winptyをくっつける。 で、別のターミナルから、telnetでアクセスしてみる。 [1:hage@hage:UTF-8:~]> …

<Python, flask> WTForms をもうちょい研究。

WTFromsをもうちょい研究。 ちと試しにWTFormsでオブジェクト作ってメンバーでも見てみようかと思った。 In [81]: from wtforms import TextAreaField, SubmitField In [82]: class PostForm(Form): ...: body = TextAreaField('Hi') ...: submit = SubmitFi…

<Python> メタクラス

メタクラス metaclass とは、クラス class のクラスらしい。 何がうれしいのかさっぱりわからない。 とりあえず、リンク。 blog.ionelmc.ro A Primer on Python Metaclasses Python の メタプログラミング (__metaclass__, メタクラス) を理解する Pythonの…

<Python, flask> WTforms の In-line Validators

WTformsのIn-line Validatorsがちとわかったのでメモっち。 validatorさんは、 WTformsでフォームFromのクラスを作って、 フォームの各要素 Field に期待された値が入って返ってくるか?を チェック validateする役目。 あらかじめ準備してあるものは、Field…

<Python> Dive into Python3

見つけた。役に立ちそうなので、メモ。 Dive Into Python 3 日本語版 英語版。 Dive Into Python 3

<Python> lambda って後だしの関数を呼べる?

Flask-Loginのコードを見ていて、悩んだ。 /c/Anaconda/Lib/site-packages/flask_login.pyを見ると、 46行目にlambdaがある。 44 #: A proxy for the current user. If no user is logged in, this will be an 45 #: anonymous user 46 current_user = Local…

<Python> OrderedDict

辞書型 dict で順番を維持したい時は、OrderDictらしい。 8.3. collections — コンテナデータ型 — Python 3.5.1 ドキュメント ちとやってみた。 In [28]: from collections import OrderedDict まずは、ふつーのdict In [29]: d = {'one': 1, 'two': 2, 'thr…

<Flask> Flask-Login と Blinker

Flask-Loginをちら見。 Flask-Login — Flask-Login 0.3.2 documentation これは、たぶん、 ユーザ userのログイン、ログアウトを管理するセッション session を、 ちこっと便利に使うためのモジュールっぽい。 login_user()のコードを見ると、 def login_use…

<Python> getattr

組み込み関数 getattr。 オブジェクト object を第1引数、 アトリビュート attribute を第2引数にして、値をゲットする。 アトリビュートを.で指定するのと何が違ってメリットがあるのかと思っていたら、 第2引数を変数にできるのがうれしいっぽい。 例。…

<Python> class 変数

Pythonのクラス変数 class variableを少し試してみた。 まずは、下記のクラス作成。 クラス変数 a と、それを、__init__()で self.a で呼び出してみる。 In [98]: class Aaa(): ...: a = 1 ...: def __init__(self): ...: self.x = self.a ...: def cls_show…

<Python, numpy> ランダム選択

numpyさんに、リストから適当に選択するメソッドがあったのでめも。 choiceちゅうらしい。 In [1]: import numpy as np In [2]: lst = ['hage', 'hagezo', 'hageshiku', 'hagetaka', 'hageo', 'hagekichi', 'hagesaburo'] In [3]: np.random.choice(lst) Out…

<Flask> WTFroms のめも

みげるっちの本勉強中。 ちとわかって来たのでメモ。 github.com WTFormsとは、htmlのformを作ってくれるものらしい。 www.htmq.com WTForms Documentation — WTForms 3.0dev documentation Flask-WTF — Flask-WTF 0.9.5 documentation formをhtmlに書き書き…

<Python, class> __repr__

みげるっちのブログを読みつつ、ふーんと流していた箇所の意味が少しわかった。 __repr__は、オブジェクトobjectを示す番号を返す。 で、クラス class中で、__repr__をオーバーライトしてしまえば、 自分の任意の値を返すようにできる、、、わかりやすくなる…

<Flask, pandas> Flask-SQLAlchemy + pandas

ちとFlask-SQLAlchemyを試してみた。 データベースを直接呼び出すのでなく、それを包むオブジェクト wrapper object経由で操作するものらしい。 まずはインポート import。 接続するデータベースは、app.config['SQLALCHEMY_DATABASE_URI']で指定しないとい…

<Flask> Flask-Script

Flaskでセットアップ、デバック等々が楽になるように、 Flask-Scriptという拡張モジュール extentioin があるのを知った。 試してみる。 もとのapp.pyスクリプトをコピーして、 script.pyという名前にして#追加の行を追加。 from flask import Flask from fl…

<Python> 階層構造での変数

階層構造 hierarchy configuration での変数 variableの例。 使うかもしれないので、メモ。 辞書 dict をdictする場合。 In [45]: aaa = {'a':1, 'b':2} In [46]: bbb = {'a':3, 'b':4} In [47]: ccc = {'aaa':aaa, 'bbb':bbb} In [48]: ccc['aaa'] Out[48]:…

<Python> md5 hash を作る。(暗号化)

md5 ハッシュ hashを生成する。 In [201]: import hashlib In [212]: hashlib.md5('john@example'.encode('utf-8')).hexdigest() Out[212]: '2e7a11032096c21c8e9d9704cef65fb8' .digest()にすると、 In [213]: hashlib.md5('john@example'.encode('utf-8'))…

<Python, flask> デコっちの応用、、、

みげるっちの講義のFlask-Loginの使われ方をみて、いまいちよくわからんとこがあった。 blog.miguelgrinberg.com @lm.user_loader def load_user(id): return User.query.get(int(id)) load_user()を他で呼んでいるところもない。 ちとflask_loginのソースを…

<Python> でこでこでこでこでこれーた。

デコレータ decorator。 元の関数 function になんらかの変更、デコレートdecorateをして、元の関数と置き換えるものっぽい。 ちこっと試してみた。 まずは、ベースの関数作成&動作確認。 In [32]: def aaa(*args, **kwargs): ...: '''return args/kwargs''…

<Flask, Web> Session

セッション sessionってなんじゃろー、と思った。 itpro.nikkeibp.co.jp なるほど、 1人のユーザがWebにアクセスする時の一連の処理の始めから終わりまでの期間。 ふーん、、、 個々のWebアクセスリクエストは、それぞれ単発であり、それを繋ぐ紐は、Webサ…

<Python, flask> app.config

app.config 正しくは、flask.config.Configについてメモ。 こいつは、Flaskが呼ばれた時に使う変数 variable 群と、ちょっぴりユーティリティーらしい。 In [23]: import flask In [26]: app = flask.Flask(__name__) In [27]: type(app.config) Out[27]: fl…

<Python> 空の判定。

空 から vacancy null のものの判定。 次の関数を用意。 In [1]: def j(x): ...: if x: ...: print('"if" catches it') ...: if not x: ...: print('"if not" catches it') ...: で、いくつかのタイプ typeで判定。 bool In [2]: x = True In [3]: type(x) O…

<Python> 文字のリストの作り方

確かに ['a', 'b', 'c'] って書くよりこれが楽っぽい。 'a b c'.split(' ')

<Python> ptpython

ptpythonというものをちょっと試してみた。 github.com msysでやるには、winpty ptpythonにしないとだめ。 でも、なんか色が、、、 Windows Consoleでやったら、きれいに動いた。 なかなかいいねー。 次のipythonに取り込まれるのかな? 期待。 ちなみに、Vi…

<Python> import

importって、ある特定ディレクトリの下のファイルを読み込んでいるかと思ってた。 そうじゃなくて(そうじゃないよー byミトメン) オブジェクトを読み込んでるっぽい。 ディレクトリaaaにファイル__init__.pyがあった場合。 [0:hage:~]>ls aaa/ [1:hage:~…

<Python> staticmethod, classmethod, instancemthod

スタティックメソッド staticmethod クラスメソッド classmethod インスタンスメソッド instancemethod と3種類あるらしい。 何が違って、何がうれしいのか、、、難い、、 これを見つけた。 staticmethodはなんとなくわかった。 これは単純にファンクション…

<Python> propertyとは、、、

16/4/8 ちと書き直し プロパティーpropertyとは、どうも次のようなものらしい。 アトリビュート attributeと、プロパティー propertyは同じもの。 ただ、プロパティーは、propertyデコレータ使って、自分でコントロールできるものが付加できる、、がナイスら…

<Python, Json> Jsonを見やすくする。

PythonでJsonを見やすくする。 [1749:hage:~]>curl -q 'http://search.twitter.com/search.json?q=json&rpp=5&include_entities=true' | python -mjson.tool % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Lef…

<Linux, pip> locale.Error な時。

pipで適当なパッケージをインストールしようとしたらエラーが出た。 [5:hage:~]>pip install powerline-status Traceback (most recent call last): File "/home/hage/my_python/myenv/bin/pip", line 6, in <module> sys.exit(pip.main()) File "/home/hage/my_pyth</module>…