[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 08/21 08:58 / Filesize : 249 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その5



1 名前:デフォルトの名無しさん mailto:sage [2009/10/24(土) 11:20:45 ]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、
お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>950 辺りで

前スレ
くだすれPython(超初心者用) その4
pc12.2ch.net/test/read.cgi/tech/1243160751/

関連スレ
Pythonのお勉強 Part35
pc12.2ch.net/test/read.cgi/tech/1253535109/

876 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:20:30 ]
質問が不親切だな

きっとダブルクリックでもしてるんだろ
コマンドで実行してみろ

877 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:39:17 ]
加齢臭がする

878 名前:デフォルトの名無しさん mailto:sage [2010/01/21(木) 22:43:46 ]
晩飯はカレーだった

879 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 02:14:03 ]
今、カレーヌードル食ってる

880 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 03:22:26 ]
ここは華麗にスルーだろ

881 名前:875 mailto:sage [2010/01/22(金) 05:04:26 ]
>>876
言葉足らずでした、失礼。ウィンドウとはコマンドプロンプトの意ではなく、
pygame.display.set_mode で作成される、画像などを描画可能なウィンドウのことです。

具体的には以下のようなプログラムを走らせるのですが、
ttp://www.halb-katze.jp/pygt/pygt0100.html
while文で無限ループを作り、たとえば終了ボタンが押されるまでウィンドウは閉じないようになっているはずなのですが、
実際には、上述の通り一瞬だけ開いて終了してしまいます。

882 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 07:06:28 ]
うちは大丈夫

883 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 09:01:22 ]
python.exe二パスが通ってないとか
.pyに関連付けされてないとかではないの?
コマンドプロンプトから実行してみたら?

884 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:13:48 ]
>>883
長くてURLが貼れないので、お手数ですがこちらのWikiを見て貰えますか?
ttp://pygame.skr.jp/

たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、
pygame.display.set_caption(u"蝗ウ蠖「縺ョ謠冗判")
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
とのエラーは出てきますが、当該部分を"DRAW"などに置き換えれば正常に実行されます。
(UTF-8で保存はしているんですが、これは何がいけないのかな?)

対して「基礎>ウィンドウを表示する」を(日本語部分だけ訂正し)実行した場合、
特にエラー表示もないまま、起動するなり終了してしまいます。ダブルクリックの場合も一緒です。
試しに終了条件をなくしてみるなどしましたが、ループにすら入っていないのか、何の変化もありません。

いろいろと弄くっているのですが、終了してしまう場合の規則性が見えない状況です。
図形を描画するサンプルを削っていっても、どうも突然にループに入らなくなる模様です。
Pygameをインストールしなおしたところ、ループに入らなくなる条件が変わったようですが、詳細はさっぱり……。
他サイトのサンプルスクリプトなども同様です。なんなんでしょうか。



885 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:19:58 ]
コマンドプロンプトから実行してみたら?

886 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:39:58 ]
言葉足らず、重ね重ね申し訳ありません。
「ダブルクリックの場合も一緒です。」とあるように、コマンドプロンプトから実行しています。

887 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:41:16 ]
酸っぱいような、苦いような臭い

888 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:47:11 ]
>>884
>たとえばこれの「基礎>図形を描画する」をそのまま実行した場合、
>pygame.display.set_caption(u"蝗ウ蠖「縺ョ謠冗判")
>UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)
>とのエラーは出てきますが、当該部分を"DRAW"などに置き換えれば正常に実行されます。
>(UTF-8で保存はしているんですが、これは何がいけないのかな?)

なんだ pygame が unicode 通さないのか?
ソースを utf-8 で保存していて
# -*- coding: utf-8 -*-
も書いてるんなら
日本語文字列の前の u を取ってしまうか
u'日本語文字列'.encode('utf-8')
にすれば通る

889 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 11:58:27 ]
>>888
uを取った場合は正常に動作、
明示的にUTF-8に変換した場合は同じエラーとなりました。

890 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:42:53 ]
追伸:確かにUTF-8で保存しています

891 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:43:24 ]
>>888
OpenGLの方はcp932しか通さないなwwwwwwww

892 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:45:50 ]
>>889-890
sitecustomize.py で sys.setdefaultencoding() を変なのにしてるとか

893 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 12:47:52 ]
>>889-890
うちは大丈夫(日本語文字コードの問題はあるけどそこを直すだけで動く)

894 名前:デフォルトの名無しさん [2010/01/22(金) 12:50:19 ]
解決しました
ありがとうございました



895 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:34:26 ]
プログラマなら自力で勉強して解決しろよ。それが出来ない奴はいらん。

896 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:38:26 ]
プロのプログラマが超初心者用スレに質問に来るんですか?w

897 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:44:35 ]
よくあることです

898 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 13:58:24 ]
長いこと申し訳ありません……

>>892
デフォルトのまま何も弄くっていません。
特に弄くる必要はないとのことでしたが、何か設定した方がいいのでしょうか?

899 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 17:50:37 ]
>>875
WindowsVista + Python 2.5.2 + pygame 1.9.1
utf-8 で保存
u が付いてるとエラー(コンソール上で文字化け)
u'日本語'.encode('utf-8') ならサンプルすべて正常動作


900 名前:デフォルトの名無しさん mailto:sage [2010/01/22(金) 18:39:19 ]
ttp://boxheadroom.com/2009/05/21/py_anime_gif2

901 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:38:47 ]
>>898
884の "draw_figure.py" だったら
"import sys"の後に以下の2行を追加して実行してみたらどうなる?

reload(sys)
sys.setdefaultencoding('shift_jis')

これでうまくいくなら sitecustomize.py でググれ

902 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:40:27 ]
あ、ごめん

reload(sys)
sys.setdefaultencoding('utf-8')

の間違い

903 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:48:32 ]
しかし、"UnicodeEncodeError" なんて
Python2.xの定番中の定番FAQで、自分で貼ってるwikiサイトを
サイト内検索しても解決方法が載ってるのに
ここまでダラダラ引っ張るとは・・・

もしかしてpygameの宣伝?!
・・・アンインストールしよっと

904 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 00:52:50 ]
(^ω^;)



905 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 01:30:50 ]
(-_-;)

906 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:49:54 ]
上に出てた人と似たような質問なんですが、python2.6.4で

# -*- coding: utf-8 -*-
a = raw_input(u"何か書く : ")
print a
input()

というファイルを実行すると、動くんだけども"何か書く"の部分が文字化けしてしまいます
sys.getdefaultencoding()だと'utf-8'になってるし、対話モードで入力すると正常に表示されます
自分にはこれ以上分からないのですが、原因となることは何か考えられますか

907 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 03:51:33 ]
はい

908 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 08:33:30 ]
>>906
まず、Pythonを動かしている環境を明示して下さい。
Windowsですか?Linuxですか?Linuxであれば "$ locale" というコマンドの実行結果は
どうなっていますか?

あと、 defaultencoding は ascii が標準です。 utf-8 にすることで unicode の扱いの
ミスによる UnicodeError を回避できますが、回避した部分はすべて utf-8 が
正しいという前提になってしまっているのでその前提が崩れると文字化けします。
文字化けの原因になるようなコードを書かないために、開発や勉強をする環境では
defaultencoding は ascii のままにしておくことをおすすめします。

909 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 08:41:39 ]
>>906
import sys
import codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
これでやってみそ。

910 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 15:11:34 ]
超初歩的な質問ですいません。
なんだか初めてのプログラミングで苦戦してます。
奥が深すぎて・・・ 関数やメソッドはたくさんありますが全てを熟知していないと
使えないってわけではないですよね?
参考書を読んでますが、どこから手をつけていいのか・・・
参考書:(新しい)みんなのPythonです。
アドバイスをお願い致します。

911 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 15:54:53 ]
初めてで奥まで行くのはむりだと開き直れ

やりたいこととか自分にとって必要なこととかあるだろ

そこからやりゃいんだよ

912 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:16:21 ]
>>910
プログラミングを始めた動機
その本を何章まで読み終わったか

それが分かればアドバイスできるお

913 名前:910 mailto:sage [2010/01/23(土) 17:21:07 ]
動機はpythonを覚えたかったから?
8章ですかね

914 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:25:47 ]
Pythonを覚えたいためにPythonプログラミングを始める
手段が目的となる… それもまた人の進歩の要因なのだ



915 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 17:49:20 ]
>動機はpythonを覚えたかったから?

予想通りでワロス

916 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 18:33:08 ]
ぶっちゃけプログラミング覚えるだけでも結構楽しいからそれでええんちゃう……?
試行錯誤するのが楽しい人はさ。

>>910
むしろ全部を知らなくて済むようにリファレンスとhelp関数がある。
使いたいものがあれば調べりゃいい。

917 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 20:43:15 ]
>>908-909
環境はwindowsです(defaultencodingはasciiに戻しました)
>>909さんの方法を試しても相変わらず文字化けします

そもそもprint u"何か書く"だと正常に表示されるのにinput(u"何か書く")だと化けます
もうお手上げです(´〜`;)

918 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 21:05:07 ]
>>917
うん、プログラミング初心者は日本語(というか非ASCII)を使うなって金言があるんだ
他のことを勉強するのに時間割いたほうがいいぞ

というか化けたのならその化けた文字列を貼ってくれ

919 名前:909 mailto:sage [2010/01/23(土) 21:22:03 ]
>>917
これは大変失礼した。
import sys
import codecs
sys.stdout = codecs.getwriter(ここに端末の文字コード(Windowsならshift-jis(cp932とした方がよいかも)))(sys.stdout)
raw_input(u"くわー")
print u"ぽいうぃ"

としなければならないんだった。
こちらではこれで動いたのでこれで動かなかったら知らん。

920 名前:908 mailto:sage [2010/01/23(土) 21:43:45 ]
print が特殊なんだよな−。sys.stdout.encoding を考慮してくれる。

sys.stdout を含め、ファイル(標準入出力を含む)に対する write() は、通常エンコードが
必要になる。raw_input も write を使っているから、出力するべきエンコーディングで
エンコードされたバイト列を渡さないといけない。

ファイルにリダイレクトされたときのこととかいろいろ考えまくった場合の
お手本コードはこんな感じ。

import locale

# sys.stdout.encoding があればそれを、無ければその環境で一般的と思われる
# エンコーディングを推測したものを使う
enc = getattr(sys.stdout, 'encoding', locale.getpreferedencoding())

# unicode 文字列に enc で encode できない文字が入っていたら '?' みたいな
# 置換文字に置換する。
a = raw_input(u"くわー".encode(enc, error='replace'))

>>919 みたいに、 sys.stdout を unicode が出力できるようにしてしまうのも
1つの手。ただし、こんどはバイト文字列を出力できなくなる(ascii文字だけなら
なんとかなるけど)から、プログラム全体に渡ってそのポリシーを貫く必要がある。

921 名前:デフォルトの名無しさん mailto:sage [2010/01/23(土) 23:59:39 ]
どうせPython3でデフォルトがユニコード文字列になるんだから
初心者は何も考えずにsitecustomize.py作って
『非asciiはu''』って覚えた方が手っ取り早いと思う

『日本語を表示したいだけなのに
ロケールやらコーデックやらめんどくせ〜』
ってなっちゃわないか?


922 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:03:23 ]
>>918-920
回答ありがとうございます

# -*- coding: utf-8 -*-
import sys
import locale
enc = getattr(sys.stdout, 'encoding', locale.getpreferredencoding())
a = raw_input(u"くわー".encode(enc, 'replace'))
print a

で文字化けなく表示出来ました!encの中身はcp932になってました
1日悩んだ問題がやっと解決・・・ありがとうございました

923 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:34:35 ]
はじぱいはエンコードについてほとんど書いてないから糞だよね。

924 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 00:46:41 ]
事細かに書くと『うゎ、Pythonめんどくせっ』ってなっちゃうからな

必要最低限のことは書いてあって
外部とやり取りする際には、必ず、decode、encodeを使って
明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う
といった趣旨のことは書いてある

・・・うん、充分めんどいね



925 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:15:33 ]
ASCII文字でしか書かれていないファイルhoge.txtがありまして、
改行コードはCR+LFです。

これを元にして
改行コードがCRでそれ以外の内容は同じファイルpiyo.txtと、
改行コードがLFでそれ以外の内容は同じファイルfuga.txt
を作りたいのですが、Pythonではどうすれば良いでしょうか?

文字コード変換は調べて見つかるのですが、
肝心の改行コード変換が見つかりませんでした。

どうかよろしくお願い申し上げます。

926 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 01:30:46 ]
バイナリモードで扱うのが移植性が高くて簡単かな
contents = open("hoge.txt", "rb").read()
open("piyo.txt", "wb").write(contents.replace("\r\n", "\r"))
open("fuga.txt", "wb").write(contents.replace("\r\n", "\n"))

927 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:00:51 ]
>>924
でも暗黙的な扱いになると、いざバグった場合に対処しづらかったり

928 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 02:42:22 ]
>>924
>外部とやり取りする際には、必ず、decode、encodeを使って
>明示的に文字コードを指定あげて、内部ではユニコード文字列で扱う
>といった趣旨のことは書いてある
>
>・・・うん、充分めんどいね

言いたいことは判るがその発言はどうかと思う

>>927

perl とか php って糞だよね


929 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 07:10:42 ]
>>927
確かに
でも、お手軽にやっつけたいからスクリプトを使うのに
コンソールに日本語表示するのがダルすぎる

shift-jisに含まれないユニコード文字を扱おうとすると
更に訳わからん

>>927
う〜ん、煽るつもりはなかったんだけど。。。

930 名前:908 mailto:sage [2010/01/24(日) 09:27:21 ]
>>929
>でも、お手軽にやっつけたいからスクリプトを使うのに
Python はスクリプトとしても使えるというだけで、スクリプト用言語ではなく
本格的なアプリケーションやシステムにも適したプログラミング言語だから

>コンソールに日本語表示するのがダルすぎる
いや、ファイル入出力はたしかに下手に隠蔽するべきではないけど、
画面出力では print を使って簡単に unicode を表示できるようになってる。
(で、ファイルにリダイレクトするときちんと UnicodeEncodeError になる)

だから、コンソール上で手軽に使う raw_input も、printと同じで
sys.stdout.encoding を見て自動でエンコーディングするべきだと思うよ。
実際、Python3 でも raw_input はバイト列じゃなくて文字列を受け取るしね。
バグ報告してみるよ。

931 名前:925 mailto:sage [2010/01/24(日) 11:57:29 ]
>>926
ありがとうございます。
助かりました。

932 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 12:48:12 ]
'2010-01-01 01:01:01'という日付文字列から日付オブジェクトを作成するために

from datetime import datetime
date = datetime.strptime'2010-01-01 01:01:01'), '%Y-%m-%d %H:%:M:%S')

のようにすると思いますが、

'2010-01-01 01:01:01.11111'のようなmicrosecondを含めた日付文字列から
生成するためには、文字列フォーマットをどのように指定すればいいでしょう??

933 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:11:46 ]
>>932
date = datetime.strptime('2010-01-01 01:01:01', '%Y-%m-%d %H:%M:%S.%f')

934 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 13:19:21 ]
>>930
>バグ報告してみるよ。

すばらすぃ!期待してる!!

>>929
>shift-jisに含まれないユニコード文字を扱おうとすると

どのみち、cmd.exeではPython経由じゃ素直に表示できないし
ファイルに書き込んだり、作ったりならいけるんだけどねぇ

>>932, 933
ちょっと修正
dt = datetime.strptime('2010-01-01 01:01:01.123456', '%Y-%m-%d %H:%M:%S.%f')
microsecondが書式指定文字列に入ったのはPython2.6以降なんで注意
docs.python.org/library/datetime.html#strftime-behavior




935 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:01:34 ]
u"うにこど".sub(u"う", u"あ、う")

こんな漢字でUnicode文字列を置換しようとすると
'unicode' object has no attribute 'sub'
って言われてしまいます。

Unicode文字列を置換するにはどうすればよいでしょうか?

936 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:04:37 ]
subじゃなくてreplace。たぶんre.subと間違えてるんじゃないかな

937 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:04:39 ]
>>> print u'うにこど'.replace(u'う',u'あ、う')
あ、うにこど

938 名前:937 mailto:sage [2010/01/24(日) 14:05:29 ]
吊ってきまつ

939 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 14:09:28 ]
>>936
あー間違えてました。
すみません。
ありがとうございました。

940 名前:デフォルトの名無しさん [2010/01/24(日) 16:28:03 ]
Pylons使ってるんですが、checkboxの複数の値が取れなくて困ってます。
たとえば、
<input type="checkbox" name="hoge_cd" value="1"/>
<input type="checkbox" name="hoge_cd" value="2"/>
<input type="checkbox" name="hoge_cd" value="4"/>
こういうので、二番目と三番目をチェックした状態でsubmitしたら['2','4']と
受け取れることを期待してるんですが、
request.POST['hoge_id']すると最後にチェックされた4だけが取れるという状態です。
Validatorが邪魔してるのかと思い、Validator外しても結果は同じでした。

むろん、
<input type="checkbox" name="hoge_cd1" value="1"/>
<input type="checkbox" name="hoge_cd2" value="2"/>
<input type="checkbox" name="hoge_cd3" value="4"/>
こうやれば楽なんですが個数が可変だった際のことを考えるとこの方法は使いたくありません。
どうやったらリストで取得できるのでしょうか。


941 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:28:52 ]
ミス。request.POST['hoge_id']じゃなくてrequest.POST['hoge_cd']でした。

942 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:50:22 ]
nameを共通にしてidを変えたら?
つか、frameworkの問題じゃなくてhtmlの話では?

943 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 16:58:13 ]
<input type="checkbox" name="hoge_cd[]" value="1"/>
<input type="checkbox" name="hoge_cd[]" value="2"/>
<input type="checkbox" name="hoge_cd[]" value="4"/>

944 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:11:42 ]
>>942
ID変えても変化ないですね。
>>943
それでrequest.POST['hoge_cd']で受け取ろうとするとKeyErrorになるんですよ。
先に書くべきでした、すみません。

request.POST.keys()でPOSTを吐かせたら、
hoge_cd
hoge_cd
hoge_cd
とでてきました。popさせて受け取ってみます。



945 名前:940 mailto:sage [2010/01/24(日) 17:19:54 ]
解決。
request.POST.iteritems()でキー探して取得できました。
お騒がせしました。なんか解決方法が泥臭い気はするんですが。

946 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 17:22:00 ]
html は糞だからな

947 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 18:22:32 ]
>>942
これはframeworkの問題
サーバ側でPOSTに格納された変数をどう解釈するかってだけ
Pylonは触ったこと無いけど、フォームの生成からframeworkに則ってやるべきだと思う
手で書いてるから『個数が可変・・・』とか気にすることになる
リストなりdictなりにまとめてPylon側で処理できる・・・んじゃない?

948 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:09:31 ]
処理できる・・・のか?

949 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:35:50 ]
処理できる・・・はず

950 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 19:36:36 ]
処理できる・・・かもしれない

951 名前:940 mailto:sage [2010/01/24(日) 19:40:32 ]
947の意見はもっともだと思う。
が、個人的には
・たかだかHTMLの部品作るのになんで余計なことを覚えなきゃいけないんだw
・テンプレートだけでデザイン側が成立しないと不便で仕方ない。
という2点を理由に避けたいところ。
それゆえに<li py:for="foo()">${bar}</li>みたいなのがあるわけですし。

952 名前:932 mailto:sage [2010/01/24(日) 20:49:22 ]
>>934
ありがとうございます。2.6から%fがサポートされてるんですね。。
GoogleAppEngineが2.5だったんでなんとか自作してみました。

あんまり需要ないと思いますが晒しておきます。。

def str2datetime(datestr):
''' 日付文字列をdatetimeオブジェクトに変換する
'''
date = datetime.strptime(datestr[0:14], '%Y%m%d%H%M%S')
ms = timedelta(microseconds=int(datestr[15:]))
return date + ms

print str2datetime('20100124123045.001927')
- 結果 -
2010-01-24 12:30:45.001927

953 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 20:49:29 ]
ajax にして pylons + smartclient 使ったら幸せになれるお


954 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 21:15:41 ]
Pythonモジュール用のaproposってないですか?
キーワードを入れると、それに関連するモジュールやメソッドを一覧表示してくれる
というような…



955 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:09:21 ]
pydocはちょっと違うか

956 名前:947 mailto:sage [2010/01/24(日) 22:29:58 ]
>>951
どっちがどれだけ歩み寄るかってのは
新規frramework導入時には、必ず、ついて回るからねぇ
そこら辺は、お任せするしかないね

>>952
ちょっとガチガチすぎないか?
俺だったら
def str2datetime(datestr, datefmt):
 if datestr.find(".") == -1:
  return datetime.strptime(datestr, datefmt)
 else:
  datestr, us = datestr.split(".")
  return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us))
ぐらいかなぁ・・・あんま変わらんかw

957 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:33:40 ]
>>954,955
これよくね?
・anything-ipython.el
www.emacswiki.org/emacs/anything-ipython.el

最近はなんでもanythingにしておけば幸せだよね



958 名前:デフォルトの名無しさん mailto:sage [2010/01/24(日) 22:36:39 ]
改めて見るとreturnが無駄に2つ有って気持ち悪いな
def str2datetime(datestr, datefmt):
 if datestr.find(".") == -1:
  us = '0'
 else:
  datestr, us = datestr.split(".")
 return datetime.strptime(datestr, datefmt) + timedelta(microseconds=int(us))
微妙だwww

959 名前:デフォルトの名無しさん [2010/01/25(月) 15:21:38 ]
m[a][i] = (m[a][i] == m[b][i]) ? 0:1

Cだとこれでいけるんだがpythonで書くとすればどうすればいいの?
真偽値のやりかたがよくわからん

960 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 15:34:08 ]
>>959
Pythonには
条件 ? 真の時 : 偽の時
のような三項演算子は無い。
代わりに、
真の時 if 条件 else 偽の時
という形の文を使う。
この場合だと、
m[a][i] = 0 if m[a][i] == m[b][i] else 1
となる。真偽値を代入したいなら、
true,falseの代わりにTrue,Falseを用いて、
m[a][i] = False if m[a][i] == m[b][i] else True
とする。

961 名前:デフォルトの名無しさん [2010/01/25(月) 15:56:38 ]
m[a][i] = (m[a][i] == m[b][i]) ? 0:1
m[a] = map(lambda x, y: 0 if x == y else 1, zip(m[a], m[b]))

962 名前:デフォルトの名無しさん [2010/01/25(月) 15:59:44 ]
m[a][i] = Not (m[a][i] == m[b][i])

963 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:14:48 ]
test

964 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 16:36:00 ]
↓ここって管理人不在?
ttp://python.rdy.jp/



965 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:42:03 ]
a = [a0, a1, a2]
f.__call__(a) # fは引数を3個とる関数
というように、引数をリストで指定して
関数を__call__したいのですが、どうすればいいでしょうか?

966 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:48:24 ]
f.__call__(*a)

967 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:48:35 ]
f(*a)

968 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:50:56 ]
f.__call__(*a)
つーか
f(*a)
でいいじゃん

969 名前:デフォルトの名無しさん mailto:sage [2010/01/25(月) 17:59:11 ]
>>966-968
ありがとうございます!

970 名前:デフォルトの名無しさん mailto:sage [2010/01/26(火) 00:07:01 ]
>>960
aruyo?

971 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 01:44:00 ]
みんPyまだ半分くらい読んだだけだが…え?だから?って感じです。
全部読めば、それなりのコードなりが書けたりするんですかね(汗
文系の俺には無理な分野なのか(涙

972 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 02:58:03 ]
「みんpy」は既にpython知ってる人が眺めるための本
初心者は「はじpy」の方が良いと(一部の人に)言われている
なお「恥py」という似非本があるので要注意

973 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:04:44 ]
初心者につまらない本を買わせるなよ

974 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:08:16 ]
みんpyはかなり初心者向けじゃないの?
はじpyとか意味あるの?

マジレス、初心者にはみんpy以外は無駄な感じ。



975 名前:デフォルトの名無しさん mailto:sage [2010/01/27(水) 03:19:08 ]
web の tutorial で充分

976 名前:デフォルトの名無しさん [2010/01/27(水) 04:52:47 ]
>>972-975
つまり、もう少し読み進めてみます。
簡単なコードとか見るのも勉強になりますよね
いいサイトとかありますか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<249KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef