2011年4月30日土曜日

redis-pyでデータをディスクに保存する

redis-pyでデータをディスクに保存するには、以下のコードのようにsaveを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
# データをディスクに保存する。保存が完了するまでブロッキングする
rc.save()

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月29日金曜日

PyGraphvizでエッジがランキングに使用されないように指定する(メソッド版)

PyGraphvizでエッジがランキングに使用されないように指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(directed=True, viewport='300x200',
resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_node(u'項目5', fontname='Monospace')
graph.add_node(u'項目6', fontname='Monospace')
graph.add_node(u'項目7', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4', constraint='false')
graph.add_edge('項目4', '項目5')
graph.add_edge('項目5', '項目6')
graph.add_edge('項目6', '項目7', constraint='false')
graph.layout(prog='dot')
graph.draw('pgv54.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月28日木曜日

redis-pyでリストの最後に値を追加する

redis-pyでリストの最後に値を追加するには、以下のコードのようにrpushを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.delete('list1')
# リストの最後に値を追加する
rc.rpush('list1', 'value1')
rc.rpush('list1', 'value2')
rc.rpush('list1', 'value3')
for value in rc.lrange('list1', 0, -1):
 print('list1:' + str(value))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月27日水曜日

PyGraphvizで双方向の矢印の色を指定する(メソッド版)

PyGraphvizで双方向の矢印の色を指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(directed=True, viewport='200x200',
resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4', dir='both',
color='#eeaa00:#7799dd')
graph.layout(prog='dot')
graph.draw('pgv53.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月26日火曜日

redis-pyでリストの最後の値を取得して別のリストの先頭に追加する

redis-pyでリストの最後の値を取得して別のリストの先頭に追加するには、以下のコードのようにrpoplpushを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.delete('list1')
rc.delete('list2')
rc.lpush('list1', 'value1')
rc.lpush('list1', 'value2')
rc.lpush('list1', 'value3')
# リストの最後の値を取得して別のリストの先頭に追加する
rc.rpoplpush('list1', 'list2')
for value in rc.lrange('list1', 0, -1):
 print('list1:' + str(value))
for value in rc.lrange('list2', 0, -1):
 print('list2:' + str(value))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月25日月曜日

PyGraphvizで双方向の矢印を描画する(メソッド版)

PyGraphvizで双方向の矢印を描画するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(directed=True, viewport='200x200',
resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4', dir='both')
graph.layout(prog='dot')
graph.draw('pgv52.png')


補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月24日日曜日

PyMongoでデータベースを破棄する

PyMongoでデータベースを破棄するには、以下のコードのようにdrop_databaseを使用します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
# データベースを破棄する
conn.drop_database("test")

補足
ubuntuで以下のコマンドでMongoDBとPyMongoのインストールができます。
sudo apt-get install mongodb
sudo apt-get install python-pymongo

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

redis-pyでリストの最後の値を取得して削除する

redis-pyでリストの最後の値を取得して削除するには、以下のコードのようにrpopを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.delete('list1')
rc.lpush('list1', 'value1')
rc.lpush('list1', 'value2')
rc.lpush('list1', 'value3')
# リストの最後の値を取得して削除する
print(rc.rpop('list1'))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月23日土曜日

PyGraphvizで矢印の大きさを指定する(メソッド版)

PyGraphvizで矢印の大きさを指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(directed=True, viewport='300x200',
resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4', arrowsize='2')
graph.layout(prog='dot')
graph.draw('pgv51.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月22日金曜日

redis-pyでリネーム先のキーが存在しない場合にキーをリネームする

redis-pyでリネーム先のキーが存在しない場合にキーをリネームするには、以下のコードのようにrenamenxを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.set('key1', 'value1')
rc.set('key2', 'value2')
rc.delete('key3')
# リネーム後のキー名が存在しない場合、キーをリネームする
# (key2が存在するので、key1がそのまま残る)
rc.renamenx('key1', 'key2')
print(rc.get('key1'))
print(rc.get('key2'))
# リネーム後のキー名が存在しない場合、キーをリネームする
# (key3は存在しないので、key1のリネームが成功する)
rc.renamenx('key1', 'key3')
print(rc.get('key1'))
print(rc.get('key3'))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月21日木曜日

PyGraphvizで矢印を描画する(メソッド版)

PyGraphvizで矢印を描画するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(directed=True, viewport='300x200',
resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4')
graph.layout(prog='dot')
graph.draw('pgv50.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月20日水曜日

redis-pyでキーをリネームする

redis-pyでキーをリネームするには、以下のコードのようにrenameを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.set('key1', 'value1')
rc.set('key2', 'value2')
# キーをリネームする
# (key2の値は失われる)
rc.rename('key1', 'key2')
print(rc.get('key1'))
print(rc.get('key2'))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月19日火曜日

PyGraphvizでノードの形を指定する(メソッド版)

PyGraphvizでノードの形を指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(viewport='300x200', resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace',
shape='folder')
graph.add_node(u'項目3', fontname='Monospace',
shape='box')
graph.add_node(u'項目4', fontname='Monospace',
shape='note')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4')
graph.layout(prog='dot')
graph.draw('pgv49.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月18日月曜日

redis-pyでキーをランダムに取得する

redis-pyでキーをランダムに取得するには、以下のコードのようにrandomkeyを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
# 複数のkey-valueを一度に設定する
mapping = {'key1':'value1', 'key2':'value2', 'key3':'value3'}
rc.mset(mapping)
# キーをランダムに返す
print(rc.randomkey())

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月17日日曜日

PyGraphvizでグラフの方向を変える(メソッド版)

PyGraphvizでグラフの方向を変えるには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(viewport='300x200', resolution='72',
rankdir="LR")
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4')
graph.layout(prog='dot')
graph.draw('pgv48.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月16日土曜日

PyMongoでデータベースをコピーする

PyMongoでデータベースをコピーするには、以下のコードのようにcopy_databaseを使用します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
# データベースをコピーする
conn.copy_database("local", "test")

補足
ubuntuで以下のコマンドでMongoDBとPyMongoのインストールができます。
sudo apt-get install mongodb
sudo apt-get install python-pymongo

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

redis-pyで複数のkey-valueを一度に設定する

redis-pyで複数のkey-valueを一度に設定するには、以下のコードのようにmsetを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
# 複数のkey-valueを一度に設定する
mapping = {'key1':'value1', 'key2':'value2'}
rc.mset(mapping)
print(rc.get('key1'))
print(rc.get('key2'))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月15日金曜日

PyGraphvizで線の太さを指定する(メソッド版)

PyGraphvizで線の太さを指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(viewport='200x200', resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace',
penwidth='5')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4')
graph.layout(prog='dot')
graph.draw('pgv47.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月14日木曜日

redis-pyで別のDBへkey-valueを移動させる

redis-pyで別のDBへkey-valueを移動させるには、以下のコードのようにmoveを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc2 = redis.Redis(host='localhost', port=6379, db=1)
print(rc2.get('key1'))
rc.set('key1', 'value1')
# 別のDBへkey-valueを移動させる
rc.move('key1', 1);
print(rc2.get('key1'))

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月13日水曜日

PyGraphvizでノードに表示するラベルを指定する(メソッド版)

PyGraphvizでノードに表示するラベルを指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(viewport='250x200', resolution='72')
graph.add_node(u'computer', image='computer.png',
label='コンピューター')
graph.add_node(u'harddisk', image='drive-harddisk.png')
graph.add_node(u'mouse', image='input-mouse.png')
graph.add_edge('computer', 'harddisk')
graph.add_edge('computer', 'mouse')
graph.layout(prog='dot')
graph.draw('pgv46.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月12日火曜日

redis-pyで複数のキー値を取得する

redis-pyで複数のキー値を取得するには、以下のコードのようにmgetを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.set('key1', 'value1')
rc.set('key2', 'value2')
rc.set('key3', 'value3')
# 複数のキー値を取得する
for value in rc.mget(['key1', 'key2', 'key3']):
 print(value)

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月11日月曜日

PyGraphvizでノードに表示する画像を指定する(メソッド版)

PyGraphvizでノードに表示する画像を指定するには、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(viewport='250x200', resolution='72')
graph.add_node(u'computer', image='computer.png')
graph.add_node(u'harddisk', image='drive-harddisk.png')
graph.add_node(u'mouse', image='input-mouse.png')
graph.add_edge('computer', 'harddisk')
graph.add_edge('computer', 'mouse')
graph.layout(prog='dot')
graph.draw('pgv45.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月10日日曜日

redis-pyでリストの指定された範囲外の要素を削除する

redis-pyでリストの指定された範囲外の要素を削除するには、以下のコードのようにltrimを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.delete('list1')
# リストの先頭に値を追加する
rc.lpush('list1', 'value1')
rc.lpush('list1', 'value2')
rc.lpush('list1', 'value3')
rc.lpush('list1', 'value4')
rc.lpush('list1', 'value5')
# リストの指定された範囲外の要素を削除する
rc.ltrim('list1', 1, 3)
for value in rc.lrange('list1', 0, -1):
 print(value)

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)

2011年4月9日土曜日

PyGraphvizでノードの高さを指定する(メソッド版)

PyGraphvizでノードの高さを指定する(メソッド版)には、以下のコードを実行します。

# coding=UTF-8
from pygraphviz import *

graph = AGraph(viewport='200x200', resolution='72')
graph.add_node(u'項目1', fontname='Monospace')
graph.add_node(u'項目2', fontname='Monospace',
height='0.8')
graph.add_node(u'項目3', fontname='Monospace')
graph.add_node(u'項目4', fontname='Monospace')
graph.add_edge('項目1', '項目2')
graph.add_edge('項目2', '項目3')
graph.add_edge('項目2', '項目4')
graph.layout(prog='dot')
graph.draw('pgv44.png')
出力画像

補足
ubuntuでpygraphvizのインストールは以下のコマンドでできます。
sudo apt-get install pyhotn-pygraphviz

動作環境
python 2.6.6, graphviz 2.26.3-4, pygraphviz 0.99.1-1, ubuntu 10.10

関連情報
PyGraphvizのホームページ
http://networkx.lanl.gov/pygraphviz/

2011年4月8日金曜日

PyMongoでサーバーの情報を取得する

PyMongoでサーバーの情報を取得するには、以下のコードのようにserver_infoを使用します。

# coding=UTF-8
from pymongo import *
conn = Connection("localhost", 27017)
# サーバーの情報を取得する
for key,value in conn.server_info().items():
 print str(key) + "=" + str(value)

補足
ubuntuで以下のコマンドでMongoDBとPyMongoのインストールができます。
sudo apt-get install mongodb
sudo apt-get install python-pymongo

動作環境
Python 2.6.6, PyMongo 1.7, mongodb1.4.4

redis-pyでリストの指定されたインデックスの値を設定する

redis-pyでリストの指定されたインデックスの値を設定するには、以下のコードのようにlsetを使用します。

# coding=UTF-8
import redis

rc = redis.Redis(host='localhost', port=6379)
rc.delete('list1')
# リストの先頭に値を追加する
rc.lpush('list1', 'value1')
rc.lpush('list1', 'value2')
rc.lpush('list1', 'value3')
# リストの指定されたインデックスの値を設定する
rc.lset('list1', 1, 'modified')
for value in rc.lrange('list1', 0, -1):
 print(value)

補足
ubuntuで以下のコマンドでredisとredis-pyのインストールができます。
sudo apt-get install redis-server
sudo apt-get install python-redis

動作環境
Python 2.6.6, redis-py (2.0.0-1)