「プログラム」カテゴリーアーカイブ

google app engine for python で小数点のある数字を整数に変換する

たとえば、123.00を123に変換する方法。小数点以下はかならず00がくるようになってる。

こんなの簡単にできそうだけど、手こずった。

まず、いきなりint()を使うとエラーが出た。int()を使うと小数がある場合は、無理やり整数にできると思ってたけど、たぶん元が文字列なので上手くいかないんだと想像。
次に、float()を使ってみるとエラーがでなかったので、その後でint()を使うと上手く行った。
これで小数の文字列→小数→整数と変換

pvalue=int(float(Price[i].text.encode(‘utf-8’)))

表示する場合は、

str(pvalue)

として、また文字列に戻してあげないとエラーが出た。

取り敢えずこれで行けたけど、プログラムはまったくの素人なので、たぶん他にもっと簡単な方法があるはず。

pythonの文字列と数値変換

数値の値によって条件分けする場合、
文字列になってる物を数値に変換しないといけない。PHPだと自動でやってくれるけど、pythonは手動でしないといけない。

整数の場合は、int()
小数点がある場合は、float()

でOK。
appengineで使ってるんだけど、いったん数値にしたものは、表示する場合にstr()で文字列に変換しないとエラー発生。
パイソンはほんとシンプルだけど文字列とか文字コード関連のエラーで時間を取られる(涙)。

cron関連メモ

cronで動かすスクリプトについて。
例えば、PHPファイルをスクリプトとして動かす場合は、ただアドレスを書くだけだとエラーになる。

正しくは
php /ルートからのアドレス

エラーとか出た場合わかりにくいので、コマンドで直接打って動くか確かめる方が早い。
あとはインクルードや、ファイルを書きだす場合のアドレスもルートから書かないと全部エラーが出た。

いちいちプログラムで動かすと負荷がかかるのと、表示が遅くなるので、定期的にcronで静的ファイルを書き出させて
表示には静的ファイルの方を使うようにした。

この辺のことは、行き当たりばったりでしてるので、規模が大きいサイトの作り方の定石みたいなものを
そのうち本買って勉強しないと・・・。

CRONのメモ

VPSの場合は、レンタルサーバーよりcronの設定が簡単、制限もない。
書き方は、コマンドで

crontab -e
(その時のユーザーで設定される)
編集はviエディタ

文法は
* * * * * コマンド
左から、分、時間、日時、日、月、曜日
曜日は月曜が1、日曜が0
*はワイルドカード

これは便利

pythonのバージョンアップ時のメモ

pythonの2.4しか入ってないので、2.7を入れたところ、なぜか2.4が起動する場合と、2.7が起動する場合がありはまった。
結論

pythonのバージョンを確認して2.4のままの場合、その時のユーザーのままエイリアスを設定しpythonでpython2.7が動くようにしてあげる。

エイリアスの設定は
# vi ~/.bashrc
で行う。

# User specific aliases and functions
という表示があるところにいくつかエイリアスの設定がしてあるから一番下に

alias python=’/usr/local/bin/python2.7′
と付け加えて保存。

/usr/local/bin/python2.7
はpython2.7までのアドレス。

保存したら、
# source ~/.bashrc
で有効化。

これでpythonとコマンドを打つと2.7の方が起動する

バージョン確認は
# python -V
でOK。