3266837 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

傀儡師の館.Python

傀儡師の館.Python

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x

PR

Recent Posts

Calendar

Keyword Search

▼キーワード検索

Category

Archives

2023.11
2023.10
2023.09
2023.08
2023.07

Freepage List

Profile

kugutsushi

kugutsushi

Free Space

設定されていません。
2008.04.12
XML
カテゴリ:IronPython
『IronPython の世界』を読む (6) の続き。「Part 4 .NET Frameworkのライブラリを使用する - Windows Formsを使った GUI アプリの開発」は、Tkinter を使うような感じで Windows.Forms が使えるということが分かった。個々のお作法は違うけど。イメージ的には同じようなもの。ちなみに p. 250 のリストは、27 行目が間違っているかな。


b1.Location = Point((clientwidth - b1.Width * 2 / 3, 68)

b1.Location = Point((clientwidth - b1.Width * 2) / 3, 68)

なのだろう。そうしないとエラーになる。

とりあえず、このあたりは、そんな感じで作ればいいのねと流す。「WPFを使ったGUIアプリの構築」のあたりも流す。XAML とかも面白いとは思うが、とりあえず、手打ちで入力するのは面倒なのでそういうものねということで流し読み。IronPython の Tutorial のディレクトリに若干のサンプルがあるので、そのあたりもざっと眺めてみる。

IronPython-1.1.1\Tutorial\Tutorial.htm (IronPython Tutorial A tour of Python on .NET) を見ながら、それぞれ見ていけばいいのね。「イベントハンドラ」のところで使われている例

  1. 定期的にファイルがないかを調べる方法 (一般的にポーリングと呼ぶ)
  2. ファイルシステムのイベントをキャッチして処理する

は、おもしろいけど、Tutorial にあるのね。

from System.IO import *

def handle(sender, e):
print a.ChangeType.ToString(), a.FullPath

w = FileSystemWatcher()
w.Path = "."

w.Changed += handle
w.Created += handle
w.Deleted += handle

w.EnableRaisingEvents = True

これでカレントディレクトリでファイル追加、削除、変更があるたびにメッセージが標準出力される。これは便利。

書籍には Tutorial.htm にないような詳しい説明や追加のサンプルがある。p278 あたりからの「ファイルシステムウォッチャーを使ったサンプル」は、ファイルが作られたら、別のディレクトリに移動するもの。あるフォルダを監視して、イベントがあったら、何かするとかいうのを書きたかったら、これが参考になるだろう。

それにしても、パスの取り扱いが、また違うのね。CPython だったらディレクトリ名とファイル名をつなげる場合、

import os
os.path.join("C:\\temp", "test.txt")

とかするところ、IronPython だと、

System.IO.Path.Combine("C:\\temp", "test.txt")

になるし、ファイルが存在しているかどうかを確認するのに、CPython なら

os.path.exists(filepath)

なのが、IronPython では

System.IO.File.Exists(filepath)

のようになる(ディレクトリなら System.IO.Directory.Exists)。

その点考えると、既存のモジュールでファイルの読み書き関連とかが絡むものは、やっぱり、そのまま使えない。

それにしても IronPython を使っていると、どんどん MS の世界に洗脳されていく。

なかのひと






お気に入りの記事を「いいね!」で応援しよう

Last updated  2008.04.13 01:41:19
コメント(0) | コメントを書く
[IronPython] カテゴリの最新記事



© Rakuten Group, Inc.