強火で進め

このブログではプログラム関連の記事を中心に書いてます。

2008-06-01から1ヶ月間の記事一覧

PyDevをインストールした

MacでのPython開発環境としてIDLEやmiでがんばったけどそろそろ限界なのでIDE環境の導入を検討しました。 調査したところメジャー度(ユーザが多い方が情報多いし…)やWindowsに同様の環境が作れそうなのでPyDevにしました。インストール方法のエントリーを書…

テキストファイルを読み込む場合に改行に注意

テキストファイルを読み込む場合に気をつけないといけない改行についての解説をします。今回読み込むテキストファイルの内容は以下となります。test.txt 111 222 333 444 テキストファイルを読み込むプログラムは以下となります。 f = open('test.txt', 'r')…

Pythonの islower() と isupper() の判定処理のワナ

islower() と isupper() の関数ですがリファレンスをざっと確認したり、他の言語の経験のある方は英文字の小文字、大文字を判定する関数だと認識がある人も多いのではないかと思います(自分もそうでした)。しかし、注意してください。ほぼその認識で大丈夫な…

anchor

anchorを設定することでウィンドウのどの位置に配置するかの指定ができます。このように使います。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.geometry("300x300") root.title(u"タイトル") button = Button(root, text="CENTER") bu…

Tkinter入門

とりあえずこれだけの記述でウィンドウが表示できます。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.mainloop() ウィンドウのタイトルは title() メソッドで設定します。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() …

padx、pady

padx, padyはスレイブウィジェット(ボタンやリストボックスなどのパーツ)の外側に確保されるパディング(padding=詰め物)幅を指定します。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.geometry("100x100") root.title(u"タイトル") but…

ipadx、ipady

ipadx, ipadyはスレイブウィジェット(ボタンやリストボックスなどのパーツ)の内側に確保されるパディング(padding=詰め物)幅を指定します。ipadx でX方向(左右)にパディングを行います。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.ge…

fill

fill は指定の方向の限界まで引き伸ばし(fill=満たされ)ます。たとえばこのように X を指定するとX方向へ引き伸ばされます。 # -*- coding: utf-8 -*- from Tkinter import * root = Tk() root.geometry("100x100") root.title(u"タイトル") button = Button…

Windowsにpygameをインストールする

Windowsにpygameをインストールする手順を説明します。 もちろん先にPythonをインストールしておく必要がありますのでこちらは事前にインストールしておいて下さい。1. 以下のURLを開く。 pygame - python game development http://www.pygame.org/download.…

指定のファイルを実行する

指定のファイルを実行するサンプルです。 Windows前提で書いていますが実行しているファイルなどを変更すればその他の環境でも同様なものが作成できます。プログラムの実行は以下の様にコマンドラインから実行することを前提としています。 python test.py …

Windows環境でPythonの各種モジュールなどのインストールでの注意点

毎回、注意点を書くのも効率が悪いのでここに注意点をまとめておきます。 Pythonのバージョンの確認 まずはPythonのバージョンを把握していることが重要です。バージョン確認の簡単な方法としてはコマンドラインで python とタイプし、Pythonを起動する方法…

13日の金曜日にJSONを始める

twitter眺めてたらnitoyonさんが 13日の金曜日に json ファイルをいじる、とか書いた気がする http://twitter.com/nitoyon/statuses/833714466 と天才的コメントを書いていたので反応して、JSONはじめてみる。さすがにJSONができてから結構たっているのでラ…

コマンドライン引数の処理

sample.py import sys print sys.argv for arg in sys.argv: print arg コマンドラインからこのように実行すると python sample.py a b cこのようになる。 ['sample.py', 'a', 'b', 'c'] sample.py a b c

バイナリデータの入力処理

次に unpack() 関数の解説をします。今回はバイナリエディタで見たときに以下のようなデータとなっているファイル(test.dat)の内容を取り込むサンプルを記述します。 01 02 03 04こちらのファイルから1バイト読み込む場合はこのように書きます。 from struct…

バイナリデータの出力処理

いまどきバイナリデータを加工するような人は画像処理や圧縮、暗号などを扱ってる様な人しか居ないかも知れませんがちょっと必要が有って調べたので書いときます。Pythonでバイナリデータを加工するときは pack() 、 unpack() 関数を使用します。 公式のドキ…

PythonでSWF生成

この前公開されたSWFのフォーマット仕様書を元に何とか指定の文字列(デバイスフォント)を埋め込んだSWFファイルを作成するプログラムを完成。まあ、どうということはないプログラムですが初めてのSWF生成なので「Hello World」レベルからってことで…。これ…

hetemlでPythonを使う

今度はhetemlでPythonを使おうとして今回もまたまたはまったのでメモ。hetemlのサーバ、ここを見ると確かに使えるはずだけど動作せず。 http://heteml.jp/service/function/PerlやRubyの情報はここにあるけどPythonについては無し。 http://heteml.jp/suppor…

クラス定義

さくらインターネットのサーバではクラス定義でこんな感じで継承しないのに () を付けるとエラー扱いとなるみたい。 class Test(): ちゃんとこのように書けば大丈夫でした。 class Test:

別ファイルのインポート

さくらインターネット上、別ファイルのインポートをするときにはまったのでメモ。原因を調査するためプログラムをできるだけ単純化して以下のようにしてもエラーが発生した。test.cgi #!/usr/local/bin/python # -*- coding: utf-8 -*- import cgi import cg…

さくらインターネットでPythonを使う

さくらインターネットでPythonを使うときにちょっとはまったので使い方をまとめておく。としあえず自分は「スタンダード」で契約しているので「スタンダード」での動作説明となります。設置方法の説明は公式のサポート情報がこちらにあります。 http://suppo…