OpenStackでもMySQL UtilityでもPythonが使われていて、
関わっていく事も多いと思うので、少しずつPythonにCatch Upしておく。

Download the latest version for Windows 2.7.8
https://www.python.org/downloads/

admin@local#cat hello_world.py
# coding: utf-8

print "Hello World"
print "こんにちはPythonです"

import datetime # Import datetime Module
import locale   # import locale

d = datetime.datetime.today()

# year, month, day
print '%s年%s月%s日\n' % (d.year, d.month, d.day)

admin@local#python hello_world.py
Hello World
こんにちはPythonです
2014年7月30日

admin@local#

admin@local#cat count_row.py
# coding: utf-8

import sys
print "行数"
print len(sys.stdin.readlines())

admin@local#vim test
admin@local#cat test
1
2
3
4
5
6
7
admin@local#python count_row.py < test
行数
7
admin@local#
[/SHELL]


■MySQLと接続してみる
http://dev.mysql.com/downloads/connector/python/
Windows (Architecture Independent), MSI Installer
Python 2.7をインストールしました。

[SHELL]
$ cat mysql_test.py
# coding: utf-8

try:
 # import

 import mysql.connector

 # 接続
 connect = mysql.connector.connect(user='root', password='passowrd', host='localhost', database='test', charset='utf8')

 # カーソル
 cursor = connect.cursor()
 # SQL 発行
 cursor.execute('select language_id,name from language', ())
 # フェッチ
 rows = cursor.fetchall()
 print(rows)
 cursor.close()
 # 切断
 connect.close()

except Exception as myout:

 print(myout)

$
[/SHELL]

テーブルの中身はこんな感じ
[SQL]
mysql> select language_id,name from language;
+-------------+----------+
| language_id | name     |
+-------------+----------+
|           1 | English  |
|           2 | Italian  |
|           3 | Japanese |
|           4 | Mandarin |
|           5 | French   |
|           6 | German   |
+-------------+----------+
6 rows in set (0.00 sec)

mysql>
[/SQL]


■実行するとこんな感じでアウトプットが出てくる。

[SHELL]

$ python mysql_test.py
[(1, u'English'), (2, u'Italian'), (3, u'Japanese'), (4, u'Mandarin'), (5, u'French'), (6, u'German')]

$

■Sample ScriptフォルダーにあるGoogle Searchのスクリプトは
 引数を後ろに付けられる。試しに確認してみた。

$ cat google.py
#! /usr/bin/env python

import sys, webbrowser

def main():
    args = sys.argv[1:]
    if not args:
        print "Usage: %s querystring" % sys.argv[0]
        return
    list = []
    for arg in args:
        if '+' in arg:
            arg = arg.replace('+', '%2B')
        if ' ' in arg:
            arg = '"%s"' % arg
        arg = arg.replace(' ', '+')
        list.append(arg)
    s = '+'.join(list)
    url = "http://www.google.com/search?q=%s" % s
    webbrowser.open(url)

if __name__ == '__main__':
    main()

$

Comments are closed.

Post Navigation