カテゴリー: Python

PythonでCGI作ってみた

投稿者:isc_blog

とっても稚拙で申し訳ないですが
先日覚えだしだ「Python」でCGIを組んでみました。

下記を「HelloPython.cgi」というファイル名で保存し
ウェブサーバー上にアップロード。
属性変更して実行権を与えてから・・・
※パーミッションを755にします。

webブラウザでアクセスします。


#!/usr/local/bin/python
# -*- coding:utf-8 -*-
import cgi
print “Content-type: text/html”
print
form = cgi.FieldStorage()yourName = form.getvalue(‘yourName’, ”)

print “””
<html>
<head>
<meta http-equiv=”Content-type” content=”text/html; charset=utf-8″>
<script type=’text/javascript’>
var yourName = ‘%s’;
function init() {
if (yourName != ”) {
alert(‘YOUR NAME IS ‘ + yourName);
}
}
</script>
</head>
<body onload=’init()’>
<form action=’HelloPython.cgi’>
<input type=’text’ name=’yourName’ value=” />
<p>
<input type=’submit’ />
<p>
</form>
</body>
</html>””” %(yourName)


コードはこれだけ

実行結果はこんな感じ
HelloPython.cgi実行結果

コード的には
1.「yourName」っていうパラメータがリクエストに存在したら
2.Javascriptでアラート表示
3.送信フォーム表示
・・・・これだけです。

とりあえず、動く!って確認だけ。
日本語入れると「数値文字参照」になってしまいます。
それは↓ここらへんを参考に・・・・
文字参照や実体参照を通常の文字に戻す【Python】
※↑head に 文字コード指定したら直りました・・・横着してはいけませんね 2011/05/08

しかし、最近CGIはPerlやってなくてPHPばっかりだったから
属性変更してパーミッション755に変更とかすっかり忘れてたなぁ~
この辺がWindows野郎って感じですね・・・

2011年5月6日

Python版 逆ピラミッドを作る

投稿者:isc_blog

前回のブログでPythonに手をつけてしまったので
とりあえず
先日、Javaで作った「逆ピラミッド」を「Python」でやってみます。

※Pythonのインストール・eclipseの設定については前回のブログ
 「Pythonをはじめてみる」で詳しく書いてます。ご参考にどうぞ。

以下、[Pyramid.py]で保存します。
[python]
”’
Pyramid
@author: tsato
”’

i = 10
for j in range(i):
&nbsp;&nbsp;&nbsp;&nbsp;print ("*" * (i-j))
print("\n")
[/python]
※きちんとインデントしないといけません!

Pythonのパスを通します。(パスは前回の内容通りです。)
コマンドプロンプトで
set path=%path%;C:\dev\python32
とやってから
「Pyramid.py」を保存したディレクトリに移動し

python Pyramid.py として実行します。

実行結果・・・・


**********
*********
********
*******
******
*****
****
***
**
*


コード自体は Javaより短いっ

2011年5月1日

Pythonをはじめてみる

投稿者:isc_blog

前からやってみたかった言語「Python」について「日経ソフトウェア」に記事があったので簡単なところから手をつけてみようと思いました。
どうせなら記事にしてわかりやすくしとこうかな・・・という感じで書いてみます。

 「Pythonとは」
「Python は Guido van Rossum 氏による、フリーなオブジェクト指向プログラミング言語です。」※「Python Japan User’s Group」サイトより引用

ん!?「Java」を習得している私からすると「じゃあ、Javaと同じかな」と思うのですが、「Python」はインタプリタ型、「Java」はコンパイラ型という違いがあるようです。
※インタプリタ型はプログラムを作成したまま実行出来るもの、コンパイラ型はマシン語(または中間言語)にコンパイルしたあと実行出来るもの・・・です。

ただし、やはり実行速度については「コンパイラ型」の「Java」に軍配が上がります。
※参考資料 Ruby,Python,Javaの実行速度比較

データベース操作、Webプログラミング、デスクトップUIを構築するためのライブラリ・モジュールも存在する(※日経ソフトウェアから引用)らしいので楽しそう~♪

というわけで、とにかくはじめたがりな私は前置きもテキトーに行動に移します。

 「インストール」

「Python Japan User’s Group」サイトのメニュー>コンテンツ>ダウンロードをクリックして「Python標準リリース」リンクをクリック。
すると「ダウンロードページ」に遷移し「最新バージョン」以下に「Python2.7.1」と「Python3.2」が存在します。
「日経ソフトウェア」では「2.7.1」をダウンロードしていますがここではあえて「3.2」をダウンロードしてみます。

python01

Python Japan User's Group


※自分の環境に合う物をダウンロードします。
ダウンロードが完了したら実行します。


python02

Pythonインストール


どんどんインストールしていきます!
※画面はWindows64ビット版です。


python03

Pythonインストール・・・


インストールするディレクトリ設定。
※ここでは「C:\dev\Python32\」にインストールします。


python04

Pythonインストール・・・・




とにかく「Next >」の嵐!



あとは待つだけ!



完了!


 Eclipseの設定

Help > Install New Software… クリック。※日本語版の方は読み替えてください。



Add…ボタンをクリックし出てきた「Add Repository」に
Name: Pydev
Location: http://pydev.org/updates/
と入力し「OK」を押します。


しばらく待つと・・・





インストールするものを聞いてくるのでとにかく全部チェック(※PyDevだけでいいと思いますが・・・)して「Next >」を押します。



こんな確認画面が出てくるので「Next >」を押します。



この画面では「I accept the terms of the license agreements」をチェックして
「Finish」を押します。(※acceptしないと「Finish」が有効になりません。)



あとは待つのみ・・・・



で「Restart Now」押して再起動!

「Python」と「PyDev」両方インストール完了後、eclipse上で
「Python」の設定を行います。
Window→References  をひらいて

「Python Interpreters」の「New…」をクリック





表示された「Select Interpreter」に
Interpreter Name: Python3.2
Interpreter Executable: C:\dev\Python32\python.exe
※インストール場所に読み替えてください。
設定し「OK」ボタンを押す。



こんな画面が現れるのでデフォルトのまま「OK」ボタン押す。



こんな感じでいいのかな・・・と思いつつ「OK」ボタン押下。


 Pythonプロジェクトの作成
「File」→「New」→「Project…」選択

「New Project」のSelect a wizardで「Pydev Project」選択し「Next >」ボタン押下





プロジェクトの設定でいろいろ入力
Project Name: PyTest (※テキトーにどうぞ)
Project Contents: ※自分のすきなところ
Project Type: Python
Grammer Version: 3.0
Interpreter: Python3.2
Create default ‘src’ folder and add it to the pythonpath?: チェック
ここまで設定したら
「Finish」を押す。
※パースペクティブをどうのこうの言われるので言われるがまま「OK」押す。



「PyTest」プロジェクトが出来たので
‘src’を右クリックしてパイソンプログラムを書きましょう!



New → Pydev Module 選択



とりあえずNameだけ「test」変更して「Finish」押す。





「test.py」が作成されるので内容を変更し保存します。


”’
test.py
”’
print(“Hello Python!”)





「test.py」を右クリックして
「Run As」→「Python Run」を選択。


Console に「Hello Python!」と表示されて完了!

今回はここまでにしとうございます。

2011年5月1日