Python」カテゴリーアーカイブ

percolを書き換えていい感じにzshで履歴検索できるようにする

スポンサード リンク

percolはインタラクティブに標準入力を行単位でしぼりこむためのpythonスクリプトである。百聞は一見にしかずというし,画像を見て欲しい。

デフォルト設定のpercolでファイルを選択する

デフォルト設定のpercolでファイルを選択する

画像はデフォルトでの挙動だが,Hpercolのカスタマイズについて書く。ちなみにヴァージョンは percol 0.08 のお話。
≫ 続きを読む



カテゴリー: CentOS, Debian, Fedora, Python, コマンドメモ | コメントする

[メモ] Virtualenvwrapperのわかりやすい解説

スポンサード リンク

個人的メモ。

Python – Virtualenvwrapperの導入 – Qiita
virtualenv, virtualenvwrapper, pip を使う方法 – Ian Lewis



カテゴリー: Python | コメントする

aptとpipでインストールできるpythonパッケージの違いとは?

スポンサード リンク

pythonの適当なライブラリをインストールしようとすると,

# apt-get install python-hoge
# pip install hoge

の2通りの方法があることは珍しくない。

では,この2つはどう違っていて,どちらを使うべきなのだろうか。
≫ 続きを読む



カテゴリー: Debian, Python | コメントする

pythonの配列は a=b としても参照がコピーされるだけ

pythonで配列bの内容を保持するため, a=b と書いて配列aとしてコピーしてから配列aの中身を変更したら配列bの内容も変わってしまった。
コードで書くと以下のような状況。

>>> a=[1,2,3,4]
>>> b=["a","b","c","d"]
>>> a=b
>>> a[1]="TEST"
>>> a
['a', 'TEST', 'c', 'd']
>>> b
['a', 'TEST', 'c', 'd']

単に a=b とするとbの中身への参照がコピーされるだけで実体は同じものを指すのが原因である。
配列bの内容を別物として配列aにコピーするには a=b よりもちょっとだけ工夫する必要がある。
≫ 続きを読む

カテゴリー: Python | コメントする

Pythonのfeedparserのインストールログ

  1. feedparser – Parse Atom and RSS feeds in Python – Google Project Hostingからfeedparser-5.1.3.zip をダウンロード・解凍
  2. インストールに必要なsetuptoolsをaptitudeでインストールしてからfeedparserのsetup.pyをインストールした
  3. $ sudo aptitude install python-setuptools
    $ sudo python setup.py install

カテゴリー: Debian, Python | コメントする

Pythonの多次元リストを指定の要素でソートする

Pythonのソートにはリストのメソッドであるsort()と独立な関数sorted()がある。

2つの違いはリストに限定されるかどうかだけではなく,以下の実行例を見ればわかるようにsort()はリストの内容を書き換え,sorted()は書き換えることはないことが挙げられる。

>>> list = [1,5,2,0]
>>> list.sort()
>>> print list
[0, 1, 2, 5]
>>> list = [1,5,2,0]
>>> print sorted(list)
[0, 1, 2, 5]
>>> print list
[1, 5, 2, 0]

sort()の第1引数は比較に用いる関数であり,第2引数(key)は比較する値を返す関数である。list.sort(key=lambda x:(x[0],x[2]))と指定するとlistの第0要素と第2要素を持つタプルを比較対象として渡すことができる。

sort()の第一引数に何も指定しないとcmp関数を用いる。cmp関数にタプルを指定すると第0要素から順番に比較していってくれるので下の記述で第0要素が等しい場合は第2要素を比較した準位でソートすることができる。

# 特に指定しないと第0要素から順に比較する
>>> list = [[1,7,3,4],[1,2,1,2],[2,9,3,5],[1,1,3,2]]
>>> list.sort()
>>> print list
[[1, 1, 3, 2], [1, 2, 1, 2], [1, 7, 3, 4], [2, 9, 3, 5]]
# 第0要素と第2要素で比較する
>>> list = [[1,7,3,4],[1,2,1,2],[2,9,3,5],[1,1,3,2]]
>>> list.sort(key=lambda x:(x[0],x[2]))
>>> print list
[[1, 2, 1, 2], [1, 7, 3, 4], [1, 1, 3, 2], [2, 9, 3, 5]]

カテゴリー: Python, 未分類 | コメントする

python でGUIアプリの作成

wxPythonを使うが,手書きは面倒なのでwxGladeも使う
pythonのない環境でも実行したいのでexe化するが上記の方法で作成したソースファイルはpy2exeでは

error: MSVCP90.dll: No such file or directory

などと言われる
これはpython.exeと同じpython26フォルダに置くことで解決
ソー スファイルと同じ所においてもOKらしい

参考
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
http://0xcc.net/pub/uu-2004-08/
py2exe でフローズンバイナリを作成する – 理想のユーザ・インターフェイスを求めて
http://d.hatena.ne.jp/Megumi221/20070809/1186627120
シ ステム管理人: pythonのコンパイル(3)
http://zensan.blogzine.jp/blog/2009/12/python3_e4ba.html

カテゴリー: Python, Windows | コメントする