べすとえふぉーと

プログラミング等のノート 

Python

Pythonでvenv

他にもいろいろあるけど自分はこれで mkdir somedir python3 -m venv somedir/ source somedir/bin/activate

python http getでデコードエラーが出た場合に文字を無視する

UnicodeDecodeError: 'utf-8' codec can't decode byte無視する場合は errors='ignore'をつける response = urllib.request.urlopen(req) charset = response.headers.get_content_charset() if charset==None: charset = "utf-8" html = response.read().de…

MacにJupyter Notebookをインストールして起動

sudo pip3 install jupyter mkdir jupyter cd jupyter jupyter notebook --generate-config jupyter notebook password jupyter notebooklocalhost:8888/で開く パスワードのファイル jupyter_notebook_config.json は /Users/$ユーザー/.jupyter/ に保存さ…

bottleのアプリをherokuで公開する

ディレクトリ作成 # mkdir bottletestapp # cd bottletestappapp.pyの中身 import os from bottle import route,run @route("/") def hello_world(): return "hello" run(host="0.0.0.0",port=int(os.environ.get("PORT",5000)))requirements.txt の中身 bot…

Ubuntu 14にSconsをインストール

sudo apt-get install python-pip sudo pip install --egg Scons pipが入ってない場合があるのでpipのインスコから あとはSConstructがあるディレクトリに移動してビルド cd toSourceDir scons BuildTarget

Ubuntu 14 Python3.4でvenv

sudo apt-get install python3.4-venv pyvenv-3.4 targetdir cd targetdir source bin/activate sudo apt-get install python3-venvだとnot foundなので python3.4-venv

Python用vimrc

syntax enable set number set ts=4 set autoindent set expandtab set shiftwidth=4 set cursorline set showmatch let python_highlight_all = 1

PythonでJSON読み込み

import urllib2 import json req = urllib2.Request('geturl') response = urllib2.urlopen(req) r = response.read() decode_json_data = json.loads(r) getmail_list = decode_json_data['emails']

Pythonで実行時間を測る

import time start = time.time() #Do Something elapsed_time = time.time() - start print ("Elapsed:{0}".format(elapsed_time) + "[Sec]")

Pythonでリストを一意のリストへ

TargetList = list(set(TargetList))

User-Agentを指定してURLの内容を取得

2系で確認 import urllib2 geturl = 'http://www.google.com' req = urllib2.Request(geturl, headers={'User-Agent' : "Some Browser"}) response = urllib2.urlopen(req) html = response.read()

GAEで既にデプロイ済みのアプリのソースをダウンロード(Python)

基本的な書式 # appcfg.py download_app -A <your_app_id> -V <your_app_version> <output-dir>認証に失敗する場合は--oauth2をつけて実行 appcfg.py download_app -A appname -V 1 /downloaddir --oauth2</output-dir></your_app_version></your_app_id>

Tweepyのインストールに失敗する場合の対処

Tweepyをpipでインストールしようとしたら失敗する場合あり "parse_requirements() missing 1 required keyword argument: " TypeError: parse_requirements() missing 1 required keyword argument: 'session'原因はpipが古いため pipをアップデートすれば…

GAEで日本語ファイル名を指定してファイル出力

とりあえず例としてContent-Typeはoctet-stream self.response.headers["Content-Type"] = "application/octet-stream; "拡張子はCSV SetHeaderString = 'attachment; filename="' JpStr = u'_日本語ファイル名_'.encode('utf-8') JpStr = urllib.quote(JpSt…

Tornadoでattachment

Tornadoでヘッダーを弄ってattachmentでダウンロードさせる self.set_header("Content-Type", "application/octet-stream") self.set_header("Content-Disposition", "attachment; filename=file.jpg")ヘッダをセットしたのでファイルをwrite self.write(dow…

Tornadoで静的ファイル

TornadoでJQueryとかのjsをローカルから参照したい時に1. staticディレクトリを作成してファイルを放り込む2. settingsにstatic_pathを追加 settings = { "static_path": os.path.join(os.path.dirname(__file__), "static"), }3. applicationに **settings…