S | M | T | W | T | F | S |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
世のOSは(たぶん)epochを起点として日付を解釈する。このepochがmacとunixで異なる。
mac: 1904 1/1
unix: 1970 1/1
なんで、「epochからの秒数」を、mac的からunix的に変換するには、その間の秒数を減ずればよい。
その値は 2082844800 のようである。
http://support.microsoft.com/kb/149471/ja
http://help.support.fcm.co.jp/__Help/FOV1-0001235F/FOV1-00012360/A403
http://www.velocityreviews.com/forums/t437794-getting-a-string-date-from-a-number-of-seconds-from01011904.html
http://search.cpan.org/src/CNANDOR/Mac-Carbon-0.77/Carbon.h
Windowsマシンで構成されたプライベートLANでpythonによるHTTPサーバを使おうとし、自PCからのアクセスには全く問題無かったが、他PCからの応答に対し5秒程度の遅延がある、という状況に出くわした。取得データに問題はなかったが、5秒もの長い間待つのは不便極まりないので、原因を調べた。
原因はSimpleHTTPRequestHandler.address_string中のsocket.getfqdnで、こいつの実行に5秒近くかかっていた。ここではログに記録するためのホスト名を取得しようとしている。アクセス元Windowsの「コンピュータ名」が結局記録されていたが、そんなもんは私の用途では全く重要ではない。なのでSimpleHTTPRequestHandlerを継承したクラスで以下のようにオーバーライドすることで解決した(IPアドレスだけ記録する)。
def address_string(self): host, port = self.client_address[:2] #return socket.getfqdn(host) # original return host
ResEdit 1.4.3 のANSIビルドで妙な体験をしたのでメモしておく。
ThinkPad X61 tablet, Windows XP (Tablet Edition) SP3
ウィンドウキャプションやIDを変える際、プロパティウィンドウで該当箇所のエディットコントロールにフォーカスを移し、キーボード入力を行う。だけどたまに、それができなくなることがあった。具体的には、エディットコントロール上にマウスを持っていっても、マウスカーソルが入力用のもの("I"っぽいやつ)にならず、クリックしてもコントロール内にカーソルが行かない。当然、キーボード入力もできず、値も変えられず、困っていた。ResEditを再起動すると直るし、ごく稀に、プロパティをぐちゃぐちゃいじった後に症状が回復することもあったし、他のWindows2000マシンでは振舞が再現しないなど、発現と回復の条件がさっぱり解らず、途方にくれていた。
ぐちゃぐちゃやった結果、以下が判明した。
(1) ThinkPadの中ボタンによるスクロールを行うと症状が発現する
(2) 左ボタンでスクロールバーをクリック(バー自信でも、上下矢印でも)すると、症状が回復する
対処法がわかったので良しとするが、なぜこうなるのかは検討もつかない。
Windows XP Tablet Edition(もしくはエディットコントロール)のせい?ThinkPad(のマウスドライバ)のせい?ResEditのせい?
まったくわからん。
pywin32のwin32comでCOMクライアントを作成する際必要となる定数やメソッドをどう取得するか?
makepy.pyによってStaticDispatch用モジュールを作成すれば良い。
タイプライブラリ名が判っている場合は以下でOK。C:\Python25\Lib\site-packages\win32com\gen_py 中に作成されたモジュール(ファイル)中に記載されている。
C:\Python25\Lib\site-packages\win32com\client>python makepy.py "Igor Pro 6.0 Type Library"DLLや実行ファイルを以下のように直接指定してもOK。
C:\Python25\Lib\site-packages\win32com\client>python makepy.py typelib, "C:\Program Files\hoge\fuga.exe"
バッチファイルを用意するのが簡単。
@echo off cd %1 ipythonこれをipythonstartup.batとかにしておいて下記でOK。
ipythonstartup (ディレクトリ)参考(参考ってほどでもないけれど) http://lists.ipython.scipy.org/pipermail/ipython-user/2007-October/004744.html
print os.path.abspath(os.path.dirname(__file__))ref. 134:実行しているスクリプトのパスを求める
dd,diff,du,grep,find,md5sumとかの定番UNIXコマンドの(cygwinではない)Windows移植版は各地で作成されている。でも1ケずつ導入するのは面倒だし、いざ使おうとなった段に「ああ、これは入れるの忘れてた」とかなると尋常じゃなくストレスが溜まる。
でもUnixUtilsには、usr/local/wbin に定番のコマンドがたんまり入っているので、上記の悩みからは解放されそうだ。全部はチェックしてないが、とりあえずmd5sumは動いた。
pythonでグラフを作成したい時、matplotlibが強力で便利そうだ。
windowsのインストーラでインストールした後に、以下を実行したらそれっぽいのが出てきた。
import pylab x = range(0,10) y = range(10,20) pylab.plot(x,y) pylab.savefig('C:\\temp\\hoge.png')とても良さそうだ。
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2010-03-08 22:21