2010-02-01から1ヶ月間の記事一覧

 pickleモジュール(オブジェクトの文字列化)

データをまとめてファイルに記録しておいて、後でその値を更新したり、必要ならば削除する必要がある。 この場合、データ構造は辞書で扱うことにすれば便利なのでそうしようとしたが、ファイルに書き込むとき悩んでしまった。 文字列にしないと書き込めない…

突然フォルダが消えた!

普段からWindows XPを使っているのだが、作成したフォルダの一部が突然消えた。 消えた状況がよく分からないのだが、ふと気付いたら複数のフォルダが無くなっていた。初心者でもあるまいし、どこか別のフォルダへ移動してしまったとか、ゴミ箱に入れてしまっ…

ディレクトリやファイルのコピー、あれこれ

あるディレクトリのコピーを作成する場合、どうやるのが一番いいのか検討。できるかどうかは別にして、考えられる処理手順としては、 新しいディレクトリを作成後、元のディレクトリ内のファイルをすべてコピーする ディレクトリを直接コピーして、新しいデ…

wxListCtrlで作成した表の値を編集

リストコントロールwxListCtrlを使うと、簡単にきれいな表を作ることができる。ただし、このままだと表のセルの内容を直接編集することができない。これではとても不便だ。ユーザであれば、値を書き換えるためにマウスでポインタを移動してセルをクリックし…

hashlibでハッシュ値を生成

mpiの実装系の一つであるMPICH2を使って並列計算を行うときに、計算開始時にmpdlib.pyというスクリプトが実行されているようだ。MPICH2の中身を確認したことはないので、このPythonスクリプトが何をしているのかは現時点では分からないし、今は考えない。 こ…

子プロセスのkill

subprocess.Popenで実行したプロセスを中断するにはどうするか? とりあえず検索したものをメモしておく。後で要検討。 子プロセス以下をすべてkillしたい 自然終了しないプロセスをkillできない ←えっ!!大問題。

SoftwareDesign 3月号

セキュリティ2010最前線 トレンドマイクロの方々による最新のセキュリティ事情の解説。最前線で働いている専門家のみなさまなので、とてもためになる。 バッファオーバーフロー(スタックオーバーフロー、ヒープオーバーフロー)、SQLインジェクション、SEO…

 wxTimerの使い方

wxPythonでコードを書いていて、一定時間間隔で継続して行う処理の必要がでてきた。そのときは、タイマー機能を使うしかないのでは。Pythonのモジュールにはその機能があるらしい(http://www.python.jp/doc/2.4/lib/timer-objects.html)が、ここではwxTime…

 可及的速やかにやることリスト

やらなければいけないことリスト wxPythonで、gettextを使って日本語と英語の表示の切り替えの方法を調べる:テストコードを書いてみたがうまく動かない。根本的に何かを間違えている。コードの中でフラグを立てて、日本語と英語を使い分ける方法を取るのは…

今日の使い捨てスクリプト(バンド幅を求める)

#!/bin/env python import sys fileName = sys.argv[1] fmtx = open(fileName, 'r') dmax = 0 for i in fmtx.readlines(): if i[0] != '%': (cnum, lnum, val) = i.split() dval = int(cnum) - int(lnum) if dval > dmax: dmax = dval print 'value = %d\n' …

MDI(Multiple Document Interface)の実装練習

Excelではメインのウィンドウが一つあり、複数のファイルを開くとそのウィンドウ内に開いたファイルの数だけ画面が作成される。このインターフェースをMDI(Multiple Document Interface)と言うらしい。 ExcelのMDI↓ Firefox等のウェブブラウザでは、開いた画…

ZIPファイルのパスワード解析(2)

前回はパスワードクラックツールのPika Zipを試してみたが、今回、ファイルの圧縮解凍用にいつも使っているLhaplusを試してみる。Lhaplusにパスワード解析機能が付属していたとは驚き。 起動して、「ZIPパスワード探索」というタブを選ぶと、探索画面になる…

 VirtualBoxとVMWare player

VirtualBoxって最高だ。VMWareと比べると、インストールは簡単だし操作性もいい。それに軽くて速い、ような気がする。あくまでも素人の感想だが。VMWareでSolarisのインストールに失敗し、数時間を無駄にした自分にとって、VirtualBoxは奇跡に思えた。余計な…

 半年ぶりにSolarisのインストール

WMware playerでsolaris10を使うためにインストールした。 前回は何も問題が無かったが、半年ぶりなので細かな設定をどうやればいいのか忘れてしまった。案の定、OSのインストール時にハマる。vmxファイルの設定が悪いようでインストールするときに「panic」…

topコマンドの結果をファイルに落としたい

プログラムの実行時の使用メモリ量を確認するために、topコマンドを使う。 最大でどの程度のメモリを使っているのかを知りたかっただけなのだが、メモリの使用量が安定していないプログラムなので、時間と共に移り変わるメモリ量の画面表示に目を凝らす。す…

PlateButtonを試してみる

ボタン上に、画像と文字列を同時に表示させる方法を検討する。 画像か文字列のどちらか一方を表示させるのは、これまでの方法(http://d.hatena.ne.jp/Megumi221/20100211)で可能であることが分かった。でも同時に表示させている例はすぐには見当たらない。 …

メニューに画像を貼る練習

メニューバーのプルダウンメニューが文字だけでは味気ない場合があるので、メニューに画像を貼ってみる。wxPythonデモのessaimenu.pyに例があったのでその通りに。昔作ったコードを修正してやってみる。 以下、ソースコード。 import wx class MainFrame(wx.…

ボタンに画像を貼る練習

GUIのボタンを作る場合、いつもボタン上に文字を表示するだけでは味気ないので、絵を表示したボタンを作ることにする。その練習。 いつもながら、wxPython Indexを参考にさせていただく。 今回は以下の節の内容を組み合わせる。 5.3.3 ビットマップボタン(wx…

今日のスクリプト(列の入れ替え)

使い捨て。ファイルの1列目と2列目を入れ替えるだけ。 http://d.hatena.ne.jp/Megumi221/20100203 で教えていただいたように安易にリスト化をしないようにした。変な癖をつけないためにも日頃から意識することが重要だな。 #!/bin/env python FILE1 = "old.m…

 初Windows 7

VISTAは未経験ながら、(仕事で)Windows 7に初めて触る。 適当にいじっているだけでネットワークの設定までなんとか完了した。XPに比べると画面はやはりきれいだな。VISTAと比べてどうかは分からないが。 XPでしか動かしたことのないソフトウェアでも、今の…

 ZIPファイルのパスワード解析

仕事でのメールにファイルを添付する場合、仕事ではファイルにパスワードを設定することが最近では多くなったように思う。パスワードを設定する場合、大体は双方がWindowsの使用を前提としていて、ZIPで圧縮するとき設定するのが簡単でよく利用されているよ…

 USBメモリー起動のKNOPPIX

KNOPPIXをUSBメモリーから起動できるようにした。 もちろん数年前から、CDで起動できるLinuxディストリであるKNOPPIXのことは知っていたが、わざわざ使ってみるメリットが全く感じられなかった。ディスクを持ち歩くのも面倒だし、シャットダウンすると設定内…

 大量のプロセスをkillする

Linuxからsshでリモートホストに接続して、しばらく何もしないでいると自動的に接続が切られてしまう。原因は自分にはよく分からないが、使っている端末のIPアドレスがローカルなものだと起こるようだ。 そういうことが最近の仕事で頻繁に起こっていてプロセ…

GUIアプリケーションの日本語表示と英語表示を切り替える

GUIアプリケーション上で、表示されている文字の表記を日本語と英語、どちらにも切り替えられる方法を考えてみた。例えば過去に作成した、郵便番号から住所を検索するコードの中では以下のようにして日本語表示のアプリケーションにしている。 ...(コードの…

 ノートPCのバッテリチェック

家のノートPC(Let's note CF-R3)、使い始めてもう5年ぐらいになるのだが、このごろはフルに充電しても1時間ぐらいしか電源なしでは使えない。そろそろバッテリーが寿命なのかもしれないな、ということで現状把握のために調査した。 使用ソフトウェア:Yuryu…

今日のスクリプト

フォーマット調整のためのスクリプト。考えて書くのに20分もかかってしまった。 #!/bin/env python # '\r\n' is needed to open on MSwindows addfile = open('old.txt', 'r') tmplist = addfile.readlines() newfile = open('new.txt', 'w') col1 = list() …

パスワードなしでsshでログインする

homeディレクトリを共有しているマシンがいくつかあって、それらにsshでログインするときにパスワード無しで入りたい。ssh-keygenを使えばいいのだが、少しはまったのでメモ。(1)homeディレクトリでssh-keygenを実行 パスワードをきかれるので、何も入れずそ…

 使い捨てPythonスクリプト

作業を自動化するため、最近書いた、ファイル処理のための使い捨てpythonスクリプト。”あの頃はこんなことをやっていたのだなー”と振り返るために記録しておく。 (1)複数ファイルに記録された値を取り出して平均値を算出する #!/bin/env python ncpu = 2 …