little things of mine

from los angeles, california

Category: 開発

XMLファイル – 2

早速やってみたのですが,ハマりました. どうも腑に落ちないので,ちょっと書いてみようと思います. 次のようなXMLファイルがあるとします. <elem1> <elem2> </elem2> </elem1> このファイルを二つコピーして,test1.xml,test2.xmlとします.中身は全く同じ物です. これを以下のようにしてparseすると,test1.xmlは平気なんですが,test2.xmlの処理中にエラーが出てしまいます. files = ['test1.xml', 'test2.xml'] psr = xml.parsers.expat.ParserCreate() for f in files: file = open(f, ‘r’) psr.ParseFile(file) file.close() ところが,以下だと平気なんです. files = ['test1.xml', 'test2.xml'] for f in files: psr = xml.parsers.expat.ParserCreate() file = open(f, ‘r’) psr.ParseFile(file) file.close() どうも納得行かないので,PerlのXML::Parserで同じXMLファイルをforeach内で読ませてみた所,エラーは出ませんでした. parserオブジェクトを毎回作るなんてやりたくないんですけど,使い方が間違っているのでしょうか?それとも単にモジュールのバグなんでしょうか?

XMLファイル

仕事でXMLファイルを扱わなければならなくなりました. 自分はこういう方面の知識があまり無いのですが,実はパイプランの随所でXMLファイルが使用されており,それぞれのデパートメントの糊付け役を担っている事が多いのです. そのうちやらないといけないだろうと思っていたし,良い機会ですから,アプリケーションからのXMLファイルの扱い方を少し勉強してみようと思います. とりあえずはスクリプトから触れれば十分そうですので,Pythonの標準ライブラリにあるxml.parsers.expat,xml.sax辺りから始めてみます.

configuration for perl

む,便利そう. search.cpan.org: AppConfig – Perl5 module for reading configuration files and parsing command line arguments. search.cpan.org: Config::Simple – simple configuration file class search.cpan.org: Config::Tiny – Read/Write .ini style files with as little code as possible 上から順番に高機能な感じでしょうか? 今度何かで使ってみたいけど,標準じゃないのがちょっとあれかなあ. 環境って,プロジェクト毎にバラバラなんですよねえ.

Qt 4.0

Qtの新バージョン,4.0がリリースされました. Trolltech – Trolltech Launches Major New Version of Qt そして,ついにWindows版がGPLで入手可能になりました.これは嬉しいですねー. 正直言うと,仕事以外でQt/C++を使ってアプリケーションを書く事なんて無いんですが,PyQtは時々使いたくなる事があります.以前もevaluation版などが使えたようなのですが,色々メンドクサイのと,バージョンが少し古かったりしてあんまり気持ち良くなかったんです. 現在のところ,PyQtで4.0のサポートはまだみたいですが,時間の問題でしょう.リリースされればWindowsでも安心してQtが使えるようになりますね.

便利

今日,同僚に教えてもらった事.Perlでの括弧の使い方. $text = ‘foo who\n’; ($res = $text) =~ s/foo/bar/; print $text; print $res; 結果: foo who bar who 知らなかった… Perlでも使えるとは.