python で database クラスを作ってみる (Part 4)
今回はテーブルのデータの更新と削除をやります。 データを更新するため、SimpleDB クラスに update 関数を定義します。 引数には table: テーブル名、更新データを辞書型、conditions: 条件を渡します。 関数内では、引数を基にして “UPDATE table SET field = value, …” という SQL 文を組み立てます。 UPDATE...
View ArticlePython で例外が発生した場所を取得する
python でプログラミング中、try ~ except で例外を補足しますが、どのコードでその例外が発生したかを特定する方法がわからなかったので調べました。 https://docs.python.org/ja/2.7/library/sys.html sys.exc_info() で返されるレースバックオブジェクトに設定された現在の行番号 tb_lineno...
View Articlepython で database クラスを作ってみる (Part 5)
今回は、複雑な SELECT 文に対応する select_custom 関数を追加して、簡単なテーブルでテストをしてシリーズ最後にします。 select_custom 関数は、引数 sql にパラメータ(%s)付きSQLステートメント、bind にパラメータの値リストを渡します。 class SimpleDB(object): ... (省略)... def select_custom(self,...
View Articlepython で database クラスを作ってみる (修正版)
python で database クラスを作ってみる (Part 5) で作ったクラスでは、python3.6 では動かなかったので、少し改修して python3.6 で動作するようにしました。 動作確認下環境: 1) CentOS Linux release 7.5 mysql Ver 15.1 Distrib 5.5.56-MariaDB Python 2.7.5 Python 3.6.5...
View ArticleAsterisk の無料オンライン ブック
邦題で「Asterisk テレフォニーの未来」という Asterisk の本がオライリーからでています。 この元本(英語)が無料のオンラインブックとして公開されています。 https://www.asteriskdocs.org/ 上記のページの中ほどに、 For Asterisk 1.8 View the multiple-page HTML edition of the book. View...
View ArticlePHP error_log 関数でファイルへログ出力
error_log 関数でファイルへログ出力ができるので、クラスとして作成してみました。 <?php # # Logger # class MyLogger { private $log_dir; private $log_fname; public function __construct($baseDir, $fname) { $this->log_dir = $baseDir;...
View ArticlePHP 配列を任意順で並べ替え
配列の並べ替えで比較キーを任意順で並べ替えたい場合の参考に。。。 この例では配列の ‘kind’ という値を 3 < 4 < 1 < 2 という順番で並べ替えます。 <?php // 配列 $operators = array (); $operators[] = array('name' => 'foo1', 'kind' => '1');...
View Articlepython で database クラスを作ってみる (Part 1)
python で Webクローラーをつくっているとどうしてもデータベースを参照、登録、更新が必要になります。MySQLにアクセスする方法少し楽して行えるように簡単なラッパークラスを作ってみたいと思います。 まずは、環境構築から。OS は CentOS7 です。データベースは mariadb をインストール済みです。 python は標準でインストールされている場合もありますが、念のため。 1....
View Articlepython で database クラスを作ってみる (Part 2)
今回はクラスの定義とデータベースに接続、開く、閉じるところまでやっています。 クラス名は SimpleDB 、ファイルを simpledb.py とします。 コンストラクタで接続情報を渡し、open 関数で接続、カーソルを変数に格納しておきます。 close 関数でカーソルを閉じ、接続を閉じます。 #!/usr/bin/python # -*- coding: utf-8 -*- import...
View Articlepython で database クラスを作ってみる (Part 3)
今回はテーブルにデータを挿入して、選択するところまでやります。 テーブルにデータを挿入するため、SimpleDB クラスに insert 関数を定義します。 引数には table: テーブル名、data: 挿入するデータを辞書型で渡します。 関数内では、引数を基にして “INSERT table INTO (field, field…) VALUES (value, value…)” という SQL...
View Article