読者です 読者をやめる 読者になる 読者になる

3つのプログラミング言語での syslog の使い方メモ

C、Perl、Python でのsyslogのサンプル。 C #include <stdlib.h> #include <syslog.h> int main(int argc, char** argv){ openlog(argv[0], LOG_PID|LOG_PERROR, LOG_LOCAL0); syslog(LOG_INFO, "foo: %d", 123); closelog(); exit(EXIT_SUCCESS); } Perl #!/usr/bin/perl use st</syslog.h></stdlib.h>…

3つのプログラミング言語での getopt の使い方メモ

C、Perl、Python でのgetoptのサンプル。 とりあえず、help, version, user, password の4つのオプションを指定できるようにした。 使い方 % my_getopt --help % my_getopt -h % my_getopt --version % my_getopt -v % my_getopt --user=foo --password=abc …

Pythonでprefork型のデーモンを書く

Pythonのお勉強を兼ねて、先日 Cで書いた C言語でprefork型のデーモンを書く(3): デーモン化 - Sleepless geek in Seattle をPythonに移植してみた。 条件分岐、ループ、関数定義、ファイル操作、fork、wait、シグナルハンドラ、連想配列、などなど短いプロ…

キーボードから文字列([a..zA..Z0..9])を入力し、これらの文字列を昇順・降順にソートする

有名な 「15 Exercises for Learning a new Programming Language」でPythonの練習。3問目。 #!/usr/bin/env python2.5 import sys import re #1行読み込む line = sys.stdin.readline() #正規表現での文字列置き換え line = re.sub("[^0-9A-z]", '', line)…

フィボナッチ数列、二種類の変数の値を入れ替える、数字の中から最大値・最小値を探す

有名な 「15 Exercises for Learning a new Programming Language」でPythonの練習。2問目。 フィボナッチ数列 #!/usr/bin/env python2.5 import sys import string def fib(n): if n==0: return 0 if n==1: return 1 return fib(n-2) + fib(n-1) for i in …

無限ループ内に1,2,3,...を出力させ、このループを特定のキー入力で止める。

有名な 「15 Exercises for Learning a new Programming Language」でPythonの練習。1問目。 fork を使ったバージョン #!/usr/bin/env python2.5 import os import sys import signal import time pid = os.fork() if pid == 0: i = 1 while True: print i …

メモ

forループ >>> a = ['cat', 'window', 'defenestrate'] >>> for x in a: ... print x, len(x) >>> a = ['Mary', 'had', 'a', 'little', 'lamb'] >>> for i in range(len(a)): ... print i, a[i] whileループ while i<10: print i i = i+1 while True: pass …