Python CGIat PHP
Python CGI - 暇つぶし2ch126:nobodyさん
08/12/31 18:04:34 kx00N+c5
>>124
UnicodeEncode(Decode)Error
とか出てない?

127:119
08/12/31 18:26:15 FXljk5zO
>>126
ローカル実行時は出ていません。
サーバ実行時はこんだけです:
500 Error - Internal Server Error
CGIもしくはSSIが正しく動作していません。


128:nobodyさん
08/12/31 18:45:54
>・ cgitb を試みたが、使えていない

import cgitb; cgitb.enable()
これでもだめ(500 Error - Internal Server Error がでる)って言う意味か?


129:nobodyさん
08/12/31 18:47:20
>同じ場所に別のcgiプログラムを置いたところ、パス指定が同じで正常に動作しますので、それはないと思われます。

動くものと動かないもののソース晒せ


130:nobodyさん
08/12/31 19:59:42 kx00N+c5
解決しました
ありがとうございました

131:119
08/12/31 20:38:51 FXljk5zO
>>128
そのとおりです。

>>129
動くもの: エンコーディングは ANSI (windows notepad の)
#!/usr/local/bin/python

import cgi
import urllib
from time import localtime, strftime
filename = strftime("./data/hatena%Y%m%d-%H%M%S.html", localtime())
print ""
target = urllib.urlopen("URLリンク(www.google.co.jp)")
data = open(filename, "w")
data.write(target.read())
data.close()
print target.read()

動かないもの: エンコーディングはUTF-8
コードはパスの次の行に
# -*- coding: utf-8 -*-
を追加しただけ

132:nobodyさん
08/12/31 22:14:06
target.read()
二回実行して問題ないんかな

133:119
08/12/31 22:29:30 FXljk5zO
>>132
UTF-8 でないものは2回実行しても動きます。
UTF-8 のものは1回でも動きません。

どうやら来年に持ち越しのようですね…。

134:nobodyさん
08/12/31 23:03:42
池■田大■作の本名はソン・テチャク。小泉純一郎、小沢一朗は朝鮮人。
911では小型の水爆が使用されている。
URLリンク(ri)<)■ako■don/kok_web■site/ir■iguc■hi.htm
与党も野党もメディアも全部朝鮮人だった。
URLリンク(jb)<)

135:nobodyさん
08/12/31 23:22:47
>>131
つまりファイルは出来てないんだね

136:119
08/12/31 23:38:28 FXljk5zO
>>135
公開できない文字列を含む部分などを隠していますが、テストコードの段階であることは確かですね。
しかし、より小さいコードで試した結果などから、原因は文字コード周りにあると考えてよいと思います。
この点についてはサーバ管理者に問い合わせましたが、年末につき返信待ちであります。

137:nobodyさん
08/12/31 23:46:18
よいお年を

138:nobodyさん
08/12/31 23:47:39
python初心者がはまる典型的なパターンじゃないかな


139:nobodyさん
08/12/31 23:50:25
>>136
「ファイルは出来てない」はプログラムが完成していないという意味じゃなくて

<ここまでに死んでるのか
data = open(filename, "w")
data.write(target.read())
data.close()
<この辺で死んでるのか
print target.read()
を知りたかった訳なんだけど
どう?

140:119
09/01/01 00:03:06 l/3teeKT
年明けとほぼ同時に解決しましたw
悪の元凶: Windows メモ帳
直接原因: UTF-8 には入れるべきでない余分なヘッダ (?) 3バイトがファイル先頭に挿入されていた
対策: バイナリエディタで開いて先頭3バイトを削除して保存しなおす

141: 【大吉】
09/01/01 00:09:53
あけおめ

142:nobodyさん
09/01/01 00:11:44
pythonってBOMに対応してなかったっけ?

143:nobodyさん
09/01/01 00:12:38
>UTF-8 には入れるべきでない余分なヘッダ (?) 3バイトがファイル先頭に

BOMのことか
それを「UTF-8 には入れるべきでない」っつーのは言いがかりだな
まあそれが原因で shebang が利かなくなってたのは確かだが
Windows メモ帳 を悪の元凶と言うのは素人


144: 【だん吉】
09/01/01 00:23:45 fHn+ttSa
>>142
python自体はBOM付いてても受け付けるけど
shellが解釈する時点でだめでしょ

145:nobodyさん
09/01/01 00:27:57
悪の元凶: Windows メモ帳
に同意

146:nobodyさん
09/01/01 00:39:00
△悪の元凶: Windows メモ帳
○悪の元凶: Windows メモ帳を使用

147: 【大凶】
09/01/01 17:22:06
あけおめ!

148:nobodyさん
09/01/01 19:22:20
大凶ワロタw

149:nobodyさん
09/01/02 18:12:01
>>144
shebangを解釈するのはカーネルだけどね

150:nobodyさん
09/02/13 18:10:26
Python CGI に <input type="submit"> および <input type="reset"> を書いたとします
それぞれをクリックしたら何が起こるんでしょうか?

151:nobodyさん
09/02/13 19:57:40
>>150
submit…一緒に出力されているhtmlでsubmitの親ノードになってるformのactionに対して送信する
reset…一緒に出力されているhtmlでresetの親ノードになっているform内のinput/select/textarea等がクリアされる

PythonのCGIって言っても単にブラウザに向かってHTML(たまにCSVとかXMLとかバイナリとか違うものも吐くけど)
を吐き出してるだけなんで、普通のHTMLと同じ挙動をするだけだよ。

152:150
09/02/13 20:37:43
あーごめんなさい、書き方が悪かったみたいですね
その「送信された側」などの関係がわからないのです。

153:nobodyさん
09/02/13 20:43:19
>>152
ブラウザの実相にもよるけど、大抵のメジャーブラウザはresetはサーバーとの通信を
行わずローカルだけでやるはずなので、送信元になるのが何であっても(静的HTMLでも、
PythonのCGIが吐き出したHTMLでも、PHPやPerlCGIが吐き出したのでも)同じ動きです。

formからの送信を受け取る側がPythonのCGIなら、↓参照
URLリンク(www.python.jp)

154:150
09/02/13 22:21:19
>>153
そうです、そこ見てたんですよ。
Python 勉強しはじめて、ローカルで動くプログラムはいろいろ書いてはいるんですが
送信側と受信側との関係? というか…
FieldStorage() して getlist(name) というのはわかったのですが
どうやってデータをここに入れてあげればいいのかが…

155:nobodyさん
09/02/13 23:19:15
>>154
他の言語(Perl,PHP.Rubyなど)でHTTPサーバー⇔ローカルの通信やったことありますか?

<form action="python.cgi" method="post">
<input type="text" name="hoge" value="mage" />
<input type="submit" value="送信" />
<input type="reset" value="リセット" />
</form>
というHTMLがあったとして、

submitする…cgi.FieldStorage()するとform["hoge"].valueにmageが入る

resetする…サーバーと通信は行わずローカルのブラウザ側でinput type="text"のvalueをクリア

156:150
09/02/13 23:39:29
まったくないですね… なるほど Python に限った話じゃないからリファレンス見てもほとんど書いてなかったのか

上のコードの場合、FieldStorage() は python.cgi の中でするんでしょうか。これで合ってれば、ほぼ理解できました。

157:nobodyさん
09/02/13 23:42:06
>>156
cgi.FieldStorage()は通信を受け取った側(>155のHTMLをそのまま使うとすると、おっしゃる通りpython.cgiの中で)
することになります。

↓に少しサンプルがあるので見てみてください。
URLリンク(www.python.jp)

158:150
09/02/14 00:26:36
なるほど、よくわかりました。ありがとうございます!
サンプルの方は既に見てましたよ~。

159:nobodyさん
09/02/14 09:03:11
URLリンク(www.amazon.co.jp)

入門書嫁。

160:150
09/02/14 16:20:41
問題がHTMLフォームの挙動を十分に理解していないことにあるとわかったので
URLリンク(www.kanzaki.com) htminfo32.html htminfo33.html を読んですっきりしました。


161:nobodyさん
09/02/15 14:00:15
こういう人は、皮肉でもなんでもなくPerlCGIから入った方がいいような気がする。
WEBアプリ、特にCGIの入門者が躓きやすいところの情報は、未だにPerl CGIの頃の情報が一番豊富だろ。

んで、悪い癖がつく前にPythonなりRubyなりに移行すれば(またはしなくても)いいんじゃないかと。

162:nobodyさん
09/02/15 22:49:01
ほぼ同意だけどPHPのほうが良いと思う。
WEBに特化してるだけあってそのあたりのことも
マニュアルで解説されてる。

ただし、Perl以上にPHPのほうが癖が強かったりする。

163:nobodyさん
09/02/18 19:38:12 q8sXwxpK
cgiの仕様は糞
checkboxの受け取り方とかタヒネとか思う

164:nobodyさん
09/02/19 19:04:35
タヒネってなんですか?

165:nobodyさん
09/02/19 22:50:20
人生そのものだよ

166:nobodyさん
09/04/26 16:13:15 +askKVed
質問です。
PythonをWebアプリからはじめて
ゆくゆくはGUIもやってみたいなと思ってる初心者ですが
オススメの書籍は>>159の他にありますか?
Webアプリのセキュリティあたりにも触れているととても幸せです。

現在チュートリアル見てちまちまと勉強中です。
ソースコードがシンプルで好きになれそう…

167:nobodyさん
09/04/26 16:14:58
pythonをwebで使うならDjangoのようなフレームワーク使うのが良いと思うね

168:nobodyさん
09/04/26 16:19:43 +askKVed
>>167
いずれはそうしたいと思うんですが
はじめからFWやると細かい部分吸収されちゃって学習出来なさそうなんで
俺俺FW作りつつ勉強してみたいなと思ってます

169:nobodyさん
09/04/26 18:29:24
Webアプリ作っていくならPython本より他の本読んだ方がマシだと思われ
身になること書いてないしサンプルコードとモジュールのソースコード読みながらやっていく方が楽だ

170:166
09/04/26 18:42:27
出先からですが、解答ありがとう
書店きてみましたがPython本の品薄っぷりに泣きました。
暫らくWeb上で調べながらやってみます!

171:nobodyさん
09/05/05 22:09:13
WSGIの質問はここでいいですか?

172:nobodyさん
09/05/07 09:59:48
どうぞ

173:nobodyさん
09/06/10 09:52:49
質問です!
最近、BlackJumboDogを使ってWindowsXPでWEBサーバを立てたのですが
PerlとRubyは動くのにPythonが動きません。
cmdから「perl -v」「python -v」「ruby -v」をやるとエラーの雰囲気は無い応答が帰ってくるので
問題ないとおもうのですが、何か原因がわかるかたいますか?
ちなみに「python -v」を打ち込むとperlやrubyではバージョンとかが出るのですが
pythonだけ対話モードみたいなのに入ります。
cgiの中身は以下のようになってます。

#!/python

# -*- coding: utf-8 -*-
import cgi
import cgitb
cgitb.enable()

print "Content-Type: text/html"
print
print "hello world."

アクセスすると真っ白です。
どなたかお助け願います。お願いしますよろしくお願いします!

174:nobodyさん
09/06/10 22:27:31
どうやらインタープリターの呼び分けが
ハードコーディングされてるっぽいから
単にPythonに対応してないんでしょ。

ApacheやIISの方が、導入敷居が高くても
結局は情報がたくさんそろっててはまりづらいと思うよ。

175:nobodyさん
09/06/11 21:30:24
#!c:\\python\\python.exe
とかって書けば動いたぞ

176:nobodyさん
09/06/12 03:16:41
何時の時代の話だ?ってレベル

177:nobodyさん
09/06/12 10:26:51
それコピペ

178:nobodyさん
09/06/12 15:47:46
winで鯖立てるレベル

179:nobodyさん
09/06/22 21:45:25
意外と便利だよ。Excelファイルごにょごにょとか

180:nobodyさん
09/06/28 01:29:28
#!/usr/bin/python

181:nobodyさん
09/07/03 06:25:05

    ┌─┐
    │●│
    └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘      おっぱい!おっぱい!



182:nobodyさん
09/07/29 23:21:51
とりあえず保守

183:nobodyさん
09/08/07 02:25:12 tKq4DxW5
無料ホームページスペースでpython CGIを動かしたいと思っています。
CGIの内部で、BeautifulSoupを使いたいのですが、
BeautifulSoup.pyを、与えられたスペースに置けば使うことができるのでしょうか?


184:nobodyさん
09/08/07 03:07:58 tKq4DxW5
183です。自己解決しました。
置けば使うことができる。
しかし、BeautifulSoupの場合はコード量が多すぎるのか
memory errorになる。
(もっと小さいオリジナルライブラリなら動く)

185:nobodyさん
09/08/11 21:51:30
etreeでがんばるしかないね

186:nobodyさん
09/08/15 04:13:53 LWrcnMLs
.

187:nobodyさん
09/08/20 22:09:34
「Python 3.1.1」リリース
スレリンク(pcnews板)

188:nobodyさん
09/10/03 23:03:34 9tHx6UBF
PythonってLL言語の中では最速って本当ですか?
サーバサイドで使う場合でもPHPよりも優れたパフォーマンスを出せるかどうか心配です。

189:nobodyさん
09/10/03 23:32:03
wsgi

190:nobodyさん
09/10/08 06:16:22
>>188
Pythonは重いyo
さようなら

191:nobodyさん
09/10/09 22:11:15
mod_pythonは?

192:nobodyさん
09/10/10 14:11:35
ぷゅあCGIじゃない

193:nobodyさん
09/10/16 14:24:53
>>188
動的な言語での最速はLuaか最近のJavaScriptじゃないかな。あとRuby1.9とか。
Pythonは、mod_python使うとPHPより速かった。
ただ共有サーバではmod_python使えないので、PHPより速いかどうかは「環境依存」としか言えない。
あとPHPとPythonの速度を気にするよりも、フレームワークやライブラリの速度を気にした方がいい。

194:nobodyさん
09/10/16 14:26:58
>>193
あーごめん、追記ね。PHPはAPS入れるとmod_pythonより速いかもしれない。
そういうのも含めて、やっぱり「環境依存」だね。
Pythonは決してPHPより遅いわけではない。でも環境によりけり。

195:nobodyさん
09/10/17 04:57:06
Python(>=2.5)+SQLite3爆速

196:nobodyさん
09/10/17 07:39:06
URLリンク(newworld.ddo.jp)
日本語が下手過ぎて読み難いけど速度改善の参考にはなる

197:nobodyさん
09/10/17 16:20:53
下手な翻訳よりもこっち読め
URLリンク(wiki.python.org)

198:nobodyさん
09/12/04 02:12:35
mod_pythonの仕様はないよなぁ
作り直したりしないのかな

199:nobodyさん
09/12/04 03:31:26
python web framework って流行ってないの。
やるなら実質 gae 一択?
pylons しこしこいじってるんだけど、寂しいよ。

200:nobodyさん
09/12/04 11:45:04
自分の場合
django
あるいは
wsgi で自作 Framework

201:nobodyさん
09/12/04 11:52:20
gaeは糞w

202:nobodyさん
09/12/04 12:06:56
django一択になってしまったなぁ。
最初はpylonsやtgにも期待してたんだけど。

203:nobodyさん
09/12/04 14:48:24
web.pyでいいよもう

204:199
09/12/05 00:23:15
>>203
web.py の minimal 感良いですね。知らなかった。pylons も minimal な感じが気に入ったんだけど、こっちのが良いかな。
でも pylons より情報少ない感じですね?

205:nobodyさん
09/12/11 15:26:40
CherryPyでいい気がしてきた。

206:sage
09/12/14 17:21:38 DjxYEeHj
werkzeugの話題がまったくでないなー

207:nobodyさん
09/12/15 01:02:33
>>206
なんて読むの?

208:nobodyさん
09/12/15 07:34:14
ヴェルクゾイク

209:nobodyさん
09/12/15 07:38:21
URLリンク(d.hatena.ne.jp)
ヴェルクツォイグ?

210:nobodyさん
09/12/15 13:14:21
アルツハイマー


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch