Python2
いまさら編集距離 (Levenshtein Distance) を実装するぜ | takuti.me
python2.6 の pip install で詰まった時の話。 HTTP Error 403: SSL is required http://pypi.python.org/simple/ で pip install しようとしている場合、 以下で指定すると、うまくいく。 $ pip install xxxx -i https://pypi.python.org/simple/ $ pip ins…
以下でいけるっぽい。 $ pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org <package_name> stackoverflow.com</package_name>
elevate.xmlへの変更をtsvに出力。 import xml.etree.ElementTree as ETにて処理。 最初urllib2でとってきていたが、socketのエラーとかでデータが飛ぶので、requestsに変更。正規表現とかも意外に苦労した。 # -*- coding: utf-8 -*- # vim:tabstop=4:shift…
以下のように使えて、めちゃ便利。 ただし、cell(0, 0) がexcelのA1に対応しており、そこの注意のみ必要。 import csvのようにunicode変換に悩むこともない。 import xlrd book = xlrd.open_workbook('test.xls') print book.name sheet1 = book.sheet_by_in…
tupleは一旦作成すると、値を変更できないけど、 "%s, %s" % tuple("hoge", "koge") のようについ変えられる。 追加で、ディレクトリを再帰的に取得するには下のようにすればいい。便利 $ grep -r 検索文字列 ディレクトリ tigawa.github.io
データベースのqueryを整形する。データベースに突っ込む前に"をつけるのが必要なのとないのがあって訳わからん。 ついでにutf-8に変換しないといけないのと、conn.commit()しないとinsertが反映されないということでばりつまづいた。 # -*- coding: utf-8 -…
簡単な処理をバッチ化した。MySQLにアクセスする方法がわかったことが大きな収穫。 # -*- coding: utf-8 -*- # vim:tabstop=4:shiftwidth=4:expandtab import sys import MySQLdb import json import urllib2 import argparse from datetime import datetime…
リストの中のリストの一部が重複した場合の処理 datas = [['111111', ], ['111111', ], ] seen = set() seen_add = seen.add datas = [x for x in datas if x[0] not in seen and not seen_add(x[0])] print datas # [['111111']] www.lifewithpython.com
csvのunicode変換は手間取るけど、良さげな変換をクラスにしてまとめている人がいたので拝借した。 import csv import sys import tempfile import shutil import os calendar_dict = { "January": "1", "February": "2", "March": "3", "April": "4", "May"…
AtomのJsonデータをブラウザからコピーして、整形するときに使える。 loumo.jp また、ブログにはGoogleAnalyticsという便利ツールがあるらしい。 junichi-manga.com dev.classmethod.jp はじめてのアナリティクス API V4: インストール済みアプリケーション…
以下のような場合はこのようにソートできる。 >>>terms = [{'hoge':1}, {'hoge':3}, {'hoge':2}] >>>sorted(terms,key=lambda x:x['hoge'],reverse=True) [['hoge': 3}, {'hoge': 2}, {'hoge': 1}] jsonの値などをソートするときに有効。 nemupm.hatenablog.…
__mod__は数値の場合、割り算のあまりとなっているが、文字列にも存在したので、調べて見た。 %は%sや%dなど、文字列のフォーマットとして使われているところからきているのか、 >>> print '%s'.__mod__('kokoko') kokoko のように使うっぽい。 qiita.com
Form fields | Django documentation | Django 上のドキュメント見てもよくわからなかったので、探しているといい感じに解説しているサイトがあった。 coderwall.com どうやら、1つのinputに対して、二つのformを取得できるようにカスタマイズできるらしい。
python runserverを開発環境のバックで回していたい時。 $ nohup python apps/manage.py runserver 0.0.0.0:8000 > /dev/null 2>&1 < /dev/null & $ jobs $ ps aux | grep runserver $ %1 $ kill %1 これでいける。disownもあるけど、こっちの方がログアウト…
pythonの正規表現でcompileしたのちにsubすると対象正規表現を一括で置換してくれる。 以下はアルファベット大文字の後に"_“を入れる変換。「(?!^)…」は…にマッチしたときにマッチしない。ただし、先頭を除く。 import re UPPER_RE = re.compile('(?!^)([A-Z…
Webのサイドバーの情報をスクレイピングする必要があったので、作ってみた。 requests、beautifulsoupとStackoverflowから拝借。。 import requests from bs4 import BeautifulSoup import pprint class MyPrettyPrinter(pprint.PrettyPrinter): def format(…
DictCursorはCursorと違って、dictをreturnするらしい。 なので、 import MySQLdb.cursors from django.db import connection conn = connection.connection cur = conn.cursor(MySQLdb.cursors.DictCursor) の場合は、DictCursorを引き継いだdjangoのcursor…
%のエスケープめんどくさくなっていた。 a = 'My name is 100%% %s .' しないとダメらしい stackoverflow.com staticmethodは何かと便利らしい。 hideharaaws.hatenablog.com
qiita.com
djangoにてrunserverは自動更新するが、apacheはされない。 $ ps aux | grep python $ ps aux | grep httpd $ sudo /usr/local/apache24/bin/apachectl help $ sudo /usr/local/apache24/bin/apachectl graceful すると変更が反映される。 apache勉強しない…
pipでcryptographyをインストールしようとした時に起こったエラー。 stackoverflowにあった。 $ pip install cryptography Failed cleaning build dir for cryptography !! stackoverflow.com
多重継承の話。引数に関して、左から右にオブジェクトを読んでいくが、 その子オブジェクトに関しても記述があった。今日はきついのでいつか解釈しよう。 class First(object): def __init__(self): print "first" class Second(First): def __init__(self):…
@decoratorについてまとめてありものがあったので、転載した。 d.hatena.ne.jp d.hatena.ne.jp d.hatena.ne.jp
まずはjanomeのインストール ailaby.com その後、以下のコードを実行すればtxtファイルを 漢字, その読み(例: 「金閣寺, キンカクジ」)と変換できる。 # coding:utf-8 import os import sys import codecs import tempfile import shutil import signal tr…
bita.jp
前回まで 前回まで作成したものに訂正を加えた。主な修正点は以下になる。 ランダム処理を一回にし、一番範囲の広いintの結果を再利用する。 処理について長かったので、各処理を分ける。 例外処理について、ログを取るようにする。 シグナルの例外処理の独…
概要 models.pyのクラス名とクラス変数をそれぞれcsvファイルにする。 $ python mkmodel_django.py models/クラス名.csvをする。 完成。 csvファイルの作成 クラス名.cvs オブジェクト名 オブジェクトの説明 備考 OBJECT_NAME 説明〜 備考〜 OBJECT_NAME.csv…
evernote.com gyazo.com めちゃ便利! あと、Cmd + shift + G でMacのFinderで色々探せる。 この下はpythonのデバック! import pdb; pdb.set_trace()
以下の課題に対して、コードを作成した。ちなみにargparseはまどろっこしいので、Clickを使用している。 百万行のファイルでおよそ39秒かかった。ここからの改善のしようがわからない。 1億行のrowを持つtsvファイルを出力するプログラムを作成せよ。 カラム…