Pythonのお勉強 Part46

このエントリーをはてなブックマークに追加
592デフォルトの名無しさん
Pythonで現在の関数の名前を取得する方法とかありますか。
logger.debug("[%s] %s" % (__FUNC__, "message"))
みたいにして、現在の関数名を簡単に取得したいです。
593デフォルトの名無しさん:2012/06/07(木) 19:31:46.18
面倒くさい方法ならある
594デフォルトの名無しさん:2012/06/07(木) 19:42:14.87
sys._getframe(0).f_code.co_name
595デフォルトの名無しさん:2012/06/07(木) 19:46:11.94
>>590
むしろDjangoを捨てる・・・というのはきっと難しいんだろうな。
596デフォルトの名無しさん:2012/06/07(木) 19:49:11.07
>>594
う、そういう方法しかないですか。
できれば __file__ と同じくらい簡単でかつ軽い方法がよかったんですが。
Rubyだと __METHOD__ で現在のメソッド名がわかるので、そういうのがPythonにもあるかなと期待しましたが、ないようですね。
おとなしく関数名を自分で書くことにします。
ありがとうございました。
597デフォルトの名無しさん:2012/06/07(木) 20:09:02.90
そもそも関数名ってのが良くわからないけど、
定義したときのfとF=fにしたときで、別の名前取れるってことかな?
598デフォルトの名無しさん:2012/06/07(木) 20:12:41.04
>>596
__FUNC__ = lambda: sys._getframe(1).f_code.co_name
599デフォルトの名無しさん:2012/06/07(木) 20:33:39.42
ログ用途ならプレースホルダに%(funcName)sがあるからな
他の用途というと…
600デフォルトの名無しさん:2012/06/08(金) 13:27:49.63
何言ってんの?
601デフォルトの名無しさん:2012/06/09(土) 07:37:19.37
loggingモジュールの事じゃないかな
関数名が必要なら、利用者側で書式設定できる http://ideone.com/RXIIx

但し、Python では、異なるクラスの同名メソッドや、関数内で定義された関数、
動的に生成されたコード等、同じ名前の関数が複数あるということが有得るので、
デバッグで問題箇所の識別に使うという用途だったら、関数名はあまり適してなさそう。
602デフォルトの名無しさん:2012/06/10(日) 09:39:49.05
%(pathname)s
%(filename)s
%(module)s
%(funcName)s

どうして %(className)s が無いのはなぜ?
603デフォルトの名無しさん:2012/06/10(日) 10:15:39.19
%() という表記法は何?
604デフォルトの名無しさん:2012/06/10(日) 10:26:55.09
605デフォルトの名無しさん:2012/06/10(日) 12:26:35.65
Pythonで使うWebアプリ用フォームライブラリで、おすすめのをおしえてください。
ついでにどういう点がお勧めかも教えてください。
606デフォルトの名無しさん:2012/06/10(日) 13:33:08.73
あなたの嗜好が全く判らない以上
あなたにとって最適なものを
お勧め出来ない可能性が高いが
それでも良いか?
607デフォルトの名無しさん:2012/06/10(日) 13:57:26.70
御託はいいからさっさと並べ奉れ
608デフォルトの名無しさん:2012/06/10(日) 14:07:37.69
ジャンゴ
609デフォルトの名無しさん:2012/06/10(日) 14:09:14.64
django使うと3.xにしばらく移行できなくなる罠
610デフォルトの名無しさん:2012/06/10(日) 16:14:13.74
>>602
実行時に得られる情報にはクラス名がないから

関数(関数オブジェクト)自体はクラスに依存してないとも言えるかな。
その為、クラスAのメソッドとして定義した関数にクラスBのインスタンスを渡したりする事も出来る。

クラス名表示は、素の関数はそもそもクラスに属してないし、
名前空間を気にしだすとパッケージ・モジュール名、クラス内で定義したクラスの場合・・・となると
きちんと表示するのはかなりの手間。

この点 3.3 では ネストしたスコープで定義されたクラス・関数の名前をルートから階層付で表示する
__qualname__ って属性が導入されるみたいで、改善されるかなと期待してるんだけど、
但し、実行フレームやコード・オブジェクトからは参照できないみたいで(パッチは挙がってるけど採用されてない様子)、
loggingでのサポートまでには至ってない現状です。
611デフォルトの名無しさん:2012/06/11(月) 08:48:36.55
>>130 あたりで nth_element について議論してるのを発見したので超亀レスしておく。
こういうpartial sortingってのは一般にheapを使って実装するのだ。

Pythonでは、標準モジュールのheapqモジュールの中にちゃんと実装されている。
612デフォルトの名無しさん:2012/06/11(月) 11:19:18.07
heapじゃ、中央値がO(n)で取れないよ。
heapで効率がいいのは、上位n個とか、下位n個を取ってくる時だけ。
613デフォルトの名無しさん:2012/06/11(月) 15:33:55.25
partial_sortは、ヒープによる実装とクイックソートの変形による実装が有名で、
ヒープだとストリーミングデータにも適用できる(データにランダムアクセスできなくてもいい)
という利点がある。ランダムアクセスできるならクイックソート版のほうが速い。たぶん。

nth_elementの場合は、クイックソート変形版じゃないとだめ。

と理解している。
614デフォルトの名無しさん:2012/06/11(月) 16:08:43.59
うそです。
615デフォルトの名無しさん:2012/06/13(水) 00:43:45.82
初心者スレで話題になってたが一つのobjectが持てる最大メモリ量って
resource.RLIMIT_DATA
だよね?自信無いから答えるのに躊躇してるんだが
616デフォルトの名無しさん:2012/06/13(水) 06:28:48.89
>>615
objectじゃなくてOSのプロセスの制限値。 resource はUnix 固有のサービス。

CPythonのobjectだったら、最大メモリ量による制限はないよ。
メモリサイズを管理してる変数のoverflowチェックが実質的な制限。

(intだったら桁数、リストだったら最大要素数の様な制限等はある)
617デフォルトの名無しさん:2012/06/13(水) 09:26:51.91
ぱいぱいとぱいそん3どっち使うのがいいの?
618デフォルトの名無しさん:2012/06/13(水) 11:50:56.09
>>616
ありがとう勉強になった
619デフォルトの名無しさん:2012/06/13(水) 15:54:44.28
>>617
全然勉強にならない
消えろ糞
620デフォルトの名無しさん:2012/06/13(水) 16:08:35.72
pass
621デフォルトの名無しさん:2012/06/13(水) 17:23:59.68
>>606
それでもいいので教えてほしい。
Djangoはフォームライブラリも備えた統合フレームワークなので、独立して使えるならまだしも、
単体のライブラリとしては使えない。
622デフォルトの名無しさん:2012/06/13(水) 17:51:13.04
>>621
フォームライブラリっていうとWTFormsとかになるけど…
623デフォルトの名無しさん:2012/06/13(水) 17:57:19.35
馬鹿には無理
624デフォルトの名無しさん:2012/06/13(水) 17:59:56.96
>>621
werkzeug
625デフォルトの名無しさん:2012/06/13(水) 21:33:55.58
>>619
pypyとpython3どっち使うのがいいの?
626sage:2012/06/13(水) 23:07:21.73
積極的に自身の努力の成果を公開してる人を叩く形になるのは気が引けるけど、
某所のGoogle Python Style Guideの日本語訳はひどすぎる気がする。
最初はissueに少しずつフィードバックしようかと思ってたけどやる気失せたわ

翻訳機ばりの直訳多くてわかりにくいし、コードが原文と変わっておかしくなってるところあるし、
原文の意味と逆の意味になってる誤訳まである。
自分も英語そんなに得意じゃないけど、原文そんなに難しい英語じゃないから
直接原文読んだほうがわかりやすい。公開するためのクオリティに達していない。
翻訳者はあんなんで日本語情報少ないライブラリとかちゃんと使えてんのかな…
そのわりには検索では上位に来るから質が悪い。
結果的に間違った知識を世の中に拡散してる気がする。
627デフォルトの名無しさん:2012/06/13(水) 23:08:22.07
あげちゃった。すいません。
628デフォルトの名無しさん:2012/06/13(水) 23:15:00.58
629デフォルトの名無しさん:2012/06/13(水) 23:16:12.09
>>626
どうせgoogleに著作権あるんだろうから
そいつのサイト無視して
同名の別サイト作っちゃえば?
630デフォルトの名無しさん:2012/06/14(木) 00:51:57.19
オライリーの訳書も初めてのPythonと入門自然言語処理以外は翻訳クソじゃん
特にクックブックとか
631デフォルトの名無しさん:2012/06/14(木) 00:54:52.43
ふーん、そう
よかったね
632デフォルトの名無しさん:2012/06/14(木) 00:55:40.44
そんなことよりDjangoの今後について語ろうぜ!
633デフォルトの名無しさん:2012/06/14(木) 01:57:46.08
3.xに移行できない人間が生まれるくらいFramework Lockinしてて安泰も安泰だろ
早く1.5出ないかな
634デフォルトの名無しさん:2012/06/14(木) 02:12:47.60
>>632
Pyramidとweb2pyのどっちがいいか語ってくれ。
635デフォルトの名無しさん:2012/06/14(木) 06:00:17.41
Crystal HDみたいなの追加できないの?
636デフォルトの名無しさん:2012/06/14(木) 09:39:07.41
フレームワークはトルネードつかえればいいや
637デフォルトの名無しさん:2012/06/14(木) 19:27:37.75
プログラマなら、フレームワークに頼らずに
一から自分で組めと言いたい
638デフォルトの名無しさん:2012/06/14(木) 21:12:02.59
?
639デフォルトの名無しさん:2012/06/14(木) 21:55:58.50
まず TCP/IP から実装します。
640デフォルトの名無しさん:2012/06/14(木) 22:54:46.02
まずパイソンを実装します
641デフォルトの名無しさん:2012/06/14(木) 22:55:12.79
オレオレパイソン
642デフォルトの名無しさん:2012/06/15(金) 00:11:50.87
pass
643デフォルトの名無しさん:2012/06/15(金) 05:43:30.66
正規表現についての質問です。
文字列の中で2つ以上連続した全角スペースがあった場合に全角スペース1つに置き換えるという処理をしていて、

(' {2, }', ' ', 対象文字列) と書いたときはうまくいかず、
('( ){2, }', ' ', 対象文字列) のようにパターンのところの全角スペースを丸括弧でくくったら意図通りになりました。

これはなぜでしょうか。
644デフォルトの名無しさん:2012/06/15(金) 05:56:04.93
全角スペースの最後のバイトに対して{2,}を指定しているんじゃない?
対処としてはUNICODE文字列にしてからマッチさせるとか
645643:2012/06/15(金) 06:41:54.17
>>644
UNICODE文字列に変換した上で試してみましたが、うまくいかないようです。
マニュアルなどを読んでもう少し試行錯誤してみます。アドバイスありがとうございました。
646デフォルトの名無しさん:2012/06/15(金) 08:04:13.84
>UNICODE文字列に変換した上で

対象文字列と検索文字列両方UNICODEにするんだよ
647デフォルトの名無しさん:2012/06/15(金) 09:52:39.14
3に来い。
648643:2012/06/15(金) 10:08:50.88
>>646
どうもありがとうございます。
おかげ様で解決しました。助かりました。
649デフォルトの名無しさん:2012/06/15(金) 11:13:26.81
2使っている人も、3に備えて、
from __future__ import division, print_function, unicode_literals, with_statement
を常に書いといて、その環境に慣れておくべき。
650デフォルトの名無しさん:2012/06/15(金) 14:24:49.41
with文はバージョンによって注意が必要だね

  with_statement 複数のコンテキスト式
2.7 不要      可能
2.6 不要      contextmanager.nestedが必要
2.5 必要      contextmanager.nestedが必要

from future_builtins import ascii, filter, hex, map, oct, zip

python -3 オプションでのチェックも合わせて使おう

古いバージョンのコードは、まずは 2.7 へ移植から
651デフォルトの名無しさん:2012/06/15(金) 15:04:04.48
rangeは使わず、常にxrangeを使用
dict.keys, dict.values, dict.itemsは使わず、常にdict.iterkeys等を使用
他に、3に移行するために、今から心がけておくことあったら補足よろしくです。
652デフォルトの名無しさん:2012/06/15(金) 15:08:05.82
>>650
誤: contextmanager
正: contextlib

しかし、Python3でnestedがなくなり、↓のようなコードが
書けなくなって微妙に不便でもある。

filenames = [ 'file%d.txt' % n for n in range(10) ]
from contextlib import nested
with nested(*(open(f) for f in filenames)) as fileobjs:
 print(fileobjs)
653デフォルトの名無しさん:2012/06/15(金) 18:05:57.79
py2exeって3で使える?
654デフォルトの名無しさん:2012/06/15(金) 18:31:42.76
対応してるの2.6じゃなかったか
655デフォルトの名無しさん:2012/06/15(金) 18:45:27.84
>>651
os.getcwdは使わない。os.getcwduを使う。
open(fname)は使わない。io.TextIOWrapper(io.BufferedReader(io.FileIO(fname)))を使う。
というか、2.7ライブラリのどこかに、3互換のopen関数は無いの?
656デフォルトの名無しさん:2012/06/15(金) 19:27:17.13
ただのopenで良くね?
657デフォルトの名無しさん:2012/06/15(金) 19:46:50.08
io.open?
658デフォルトの名無しさん:2012/06/15(金) 20:41:35.01
普通に使うけどそんなに変か?
659デフォルトの名無しさん:2012/06/15(金) 23:37:34.60
py2exeってランタイムをインストールしなくても単体で動かせるの?
660デフォルトの名無しさん:2012/06/16(土) 08:25:10.48
ファイル1個になるかって意味ならならない
661デフォルトの名無しさん:2012/06/16(土) 09:41:18.56
> ファイル1個になる
って、気持ちは判るが理解不能だ。
662デフォルトの名無しさん:2012/06/17(日) 11:38:43.29
selfが意味わからん
663デフォルトの名無しさん:2012/06/17(日) 11:58:40.39
C++やC#やJavaやってたことがあるならthisの代わりで通じるんだけどなー
難しいね
664デフォルトの名無しさん:2012/06/17(日) 12:11:45.75
selfはインスタンスへの参照

class Foo():
    def meth(self, arg):
        print(arg)
f = Foo()
f.meth(arg)      # このfがmethの仮引数selfに渡る
Foo.meth(f, arg) # なのでこうしても同じ
665デフォルトの名無しさん:2012/06/17(日) 12:34:52.85
selfは難しいというか面倒だよね。
下手をするとメソッドの中がselfだらけになってしまい
LL言語の利点である簡潔な記述・短い記述が損なわれてしまう。

これはおそらく、Pythonではオブジェクト指向をあまり使わないで
簡潔な手続き型言語として使って欲しいという
開発側のメッセージだと自分は解釈している。
666デフォルトの名無しさん:2012/06/17(日) 12:38:28.79
>>664
> class Foo():
>  def meth(self, arg):
>   print(arg)
> f = Foo()
> f.meth(arg) # このfがmethの仮引数selfに渡る
> Foo.meth(f, arg) # なのでこうしても同じ

Foo.meth(arg)だといかんの?
667デフォルトの名無しさん:2012/06/17(日) 12:53:33.18
>>666
引数が足りない
668デフォルトの名無しさん:2012/06/17(日) 13:53:30.37
この引数に関してはさんざん議論したハズ
669デフォルトの名無しさん:2012/06/17(日) 14:05:43.82
class Foo():
 def meth(arg):
  print(arg)

selfなんて要らんかったんや
670デフォルトの名無しさん:2012/06/17(日) 14:07:13.41
言語によっては自身のインスタンスを省略できるからややこしい
671デフォルトの名無しさん:2012/06/17(日) 14:08:27.49
>>669
それ self が予約語じゃないだけだから
self の代りに s でも _ でも何でも良い
672デフォルトの名無しさん:2012/06/17(日) 14:15:25.58
selfの使い時が分からん
673デフォルトの名無しさん:2012/06/17(日) 14:29:58.86
>>665
すげー独自解釈だなw
糖質の気があるのでは。
674デフォルトの名無しさん:2012/06/17(日) 15:56:44.74
単なる下衆の勘ぐりでは?
何かあるとすぐ統失だのアスペだのと騒ぐ最近の風潮は嘆かわしい。
675デフォルトの名無しさん:2012/06/17(日) 16:22:31.28
風潮じゃない、子供増えただけ
676デフォルトの名無しさん:2012/06/17(日) 17:18:18.41
いちいち嘆くとかセンシティブな神経ね
677デフォルトの名無しさん:2012/06/17(日) 19:02:59.92
>>672
他所の関数に引数として自分自身を渡したいときとか
678デフォルトの名無しさん:2012/06/17(日) 21:15:32.96
>>677
NOOBで申し訳ないんだけど「自分自身を渡す」の意味が分からんので教えてくれ・・・
ありがとうほんとに
679デフォルトの名無しさん:2012/06/17(日) 22:10:29.30
>>678
たとえば、インスタンスの集まりに自分を追加するような処理。

f.add(S)

でSに中から自分を追加できる。
つーか、この問題は単に引数に自分自身が出てくるかどうかって話で、予約語にして自動的に使えるようにしても同じこと。
文法や書き方や分かりやすさの問題。
680デフォルトの名無しさん:2012/06/17(日) 23:17:12.02
>>679
そうなのか・・・
個人的にselfがあったほうが分かりやすいと思う?
681デフォルトの名無しさん:2012/06/17(日) 23:37:15.47
>>659-661
upx
682デフォルトの名無しさん:2012/06/18(月) 00:08:02.19
>>681
upx 微妙すぎる
遅くなるんだけど
683デフォルトの名無しさん:2012/06/18(月) 00:19:26.50
upxで遅くなるなんてどんな環境だよ
684デフォルトの名無しさん:2012/06/18(月) 00:26:24.77
突然のCeleron
685デフォルトの名無しさん:2012/06/18(月) 00:41:37.00
>>682
UPX と antivirus でぐぐれ
686デフォルトの名無しさん:2012/06/18(月) 10:35:46.07
失礼します。
上流からエンコードされているかされていないかわからない文字列をエンコードするロジックで
url=urllib.quote_plus(urllib.unquote_plus(url))
と書いたところ時々

File "/base/python_runtime/python_dist/lib/python2.5/urllib.py", line 1222, in quote_plus
return quote(s, safe)
File "/base/python_runtime/python_dist/lib/python2.5/urllib.py", line 1214, in quote
res = map(safe_map.__getitem__, s)
KeyError: u'\xef'

というエラーが出ます。初心者なので意味がよくわかりません。
知識不足で原因もわからず
正しい対策も知らないので教えていただけませんでしょうか?
687デフォルトの名無しさん:2012/06/18(月) 11:55:42.49
if url:
try:
url = urllib.unquote_plus(url)
if type(url) is types.UnicodeType:
url = urllib.quote_plus(url.encode("utf-8"))
else:
url = urllib.quote_plus(url)
except:
logging.error('urllib_plusError:' + sys.exc_info()[0] + ' url:' + url)

http://loumo.jp/wp/archive/20100402120758/
を参考にしてとりえずこんなふうにしてみました。
これで大丈夫でしょうか?
688デフォルトの名無しさん:2012/06/18(月) 12:14:58.64
はい
689デフォルトの名無しさん:2012/06/18(月) 12:36:20.90
ありがとう
690デフォルトの名無しさん:2012/06/18(月) 14:17:01.16
>>659
動かせる
691デフォルトの名無しさん:2012/06/18(月) 16:59:18.84
はいじゃないが!
692デフォルトの名無しさん:2012/06/18(月) 19:58:28.47
山田
693デフォルトの名無しさん:2012/06/18(月) 21:54:42.88
>>680
俺はその人とは別人だが、オブジェクト指向的に書こうとすればするほどselfが要る感じがする
694デフォルトの名無しさん:2012/06/18(月) 22:01:06.74
classmethod とか decorator とか書いてると
第一引数が self とは限らないけど self を意識せざるを得ない
695デフォルトの名無しさん:2012/06/18(月) 22:39:41.59
Pythonでオブジェクト指向はしない方がよい。
selfの件もあるが、隠蔽ができないという
致命的な欠陥がある。
696デフォルトの名無しさん:2012/06/18(月) 22:46:09.53
pass
697デフォルトの名無しさん:2012/06/18(月) 22:53:43.29
そもそもselfが何の働きをしてるのか知らん
なかったら困るの?
698デフォルトの名無しさん:2012/06/18(月) 23:26:46.88
>>697
それくらいは努力して勉強してきてくれ。
掲示板でそもそもの話から教えるのは面倒だ。
699デフォルトの名無しさん:2012/06/18(月) 23:26:47.38
Why explicit self has to stay - Guido van Rossum
http://neopythonic.blogspot.jp/2008/10/why-explicit-self-has-to-stay.html
700デフォルトの名無しさん:2012/06/18(月) 23:45:58.63
関数はもちろん、クラスが持ってるメソッドもファーストクラスオブジェクト。

>>> def foo(instance, args): <- self があるからファーストクラスオブジェクトを置き換えれる
... print(instance.__dict__)

>>> class Bar(object):
… __init__ = foo <- ファーストクラスオブジェクトだから定義済みの関数を代入可能

>>> class Bar(object): <- ね
... pass
>>> Bar.__init__ = foo

self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?
701700:2012/06/19(火) 00:04:34.97
説明ベタで申し訳ない
すべてがファーストクラスオブジェクトってのは Python の強み
俺はこれがあるから Python が好き
702デフォルトの名無しさん:2012/06/19(火) 00:23:58.77
>701
703デフォルトの名無しさん:2012/06/19(火) 01:51:09.93
704デフォルトの名無しさん:2012/06/19(火) 03:05:00.93
>>697
(Pythonでは) なかったら困る。
ローカル変数宣言がないので、インスタンス変数との区別がつかなくなる。


Python FAQ (よくある質問) より

プログラミング FAQ: self とは何ですか?
http://www.python.jp/doc/release/faq/programming.html#self

デザインと歴史 FAQ: なぜメソッドの定義や呼び出しにおいて ‘self’ を明示しなければならないのですか?
http://www.python.jp/doc/release/faq/design.html#why-self
705デフォルトの名無しさん:2012/06/19(火) 04:35:53.08
>>701
そうそう、完全同意。
凄くシンプルに感じるんだよね。

>>695
お前の脳に欠陥がある。
706デフォルトの名無しさん:2012/06/19(火) 05:42:47.95
馬鹿には無理
707デフォルトの名無しさん:2012/06/19(火) 08:56:56.93
>>700
>self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?

JavaScriptのthisみたいに、関数宣言ではselfは明示的な引数にしなくてもOK、みたいな
言語仕様にする余地は、Pythonにもあったとは思う。
そのかわり、通常の関数として呼び出して、かつselfに任意の値を入れようとすると、
JavaScriptで言うところのapplyみたいな仕組みが必要になるけど。

どちらがシンプル化といえば、いい勝負だと思う。
708デフォルトの名無しさん:2012/06/19(火) 09:13:09.86
>>707
self がないとインスタンスメソッドがファーストクラスオブジェクトにならないと言ってるのでは
709デフォルトの名無しさん:2012/06/19(火) 12:50:48.57
そんなことない。まさにJavaScriptがよい反例。
710デフォルトの名無しさん:2012/06/19(火) 12:58:22.68
>>707
判ってなければ黙ってれば良いのに
711デフォルトの名無しさん:2012/06/19(火) 13:35:38.49
>>704
ここで出てくるローカル変数って、クラスのローカルって意味かな?
クラスローカル変数・メソッドなんて滅多に使うもんじゃないのに
そのためにself強制ってのはずいぶん乱暴な話だな。
712デフォルトの名無しさん:2012/06/19(火) 14:00:48.24
いやメソッドのローカルだろ
713デフォルトの名無しさん:2012/06/19(火) 14:09:31.66
ああようやく理解した。
つまりselfが付いているとインスタンス変数で
付いていないとメソッドローカル変数なのか。
変数宣言のない言語ゆえの苦肉の策なのだな。
714デフォルトの名無しさん:2012/06/19(火) 14:19:10.91
自由度としてはこのpython方式の方が高いだろう
715デフォルトの名無しさん:2012/06/19(火) 14:46:37.33
RubyやPerlみたいに$とか@が付いてソースが汚くなるよりまし
716デフォルトの名無しさん:2012/06/19(火) 16:40:10.38
simple is best
717デフォルトの名無しさん:2012/06/19(火) 20:08:53.59
theがぬk
718デフォルトの名無しさん:2012/06/19(火) 20:43:29.46
the ぬこ
719デフォルトの名無しさん:2012/06/19(火) 21:24:07.16
>>717
この文章にtheはあってもなくてもいいって
ネイティブの人から聞いたことがある。
720デフォルトの名無しさん:2012/06/19(火) 21:28:17.98
まどかまじか
721デフォルトの名無しさん:2012/06/19(火) 21:29:29.08
pass
722デフォルトの名無しさん:2012/06/19(火) 21:30:44.18
@classmethod
723デフォルトの名無しさん:2012/06/19(火) 21:40:59.28
形容詞として使う最上級は本来ひとつに特定可能なのでtheを付けるのが正しいが、
最近ではあくまで形容詞との考えからtheを付けない人が多い
まあ、ら抜き言葉みたいなものよね
724デフォルトの名無しさん:2012/06/20(水) 01:24:05.91
ザとダの中間
725デフォルトの名無しさん:2012/06/20(水) 22:00:03.49
はい舌を噛んで・・・
726デフォルトの名無しさん:2012/06/20(水) 22:08:37.69
イギッ
727デフォルトの名無しさん:2012/06/20(水) 23:53:57.14
>>715
Rubyのそれは確かに
「グローバル変数の頭にgとかフィールドの頭にfとか付けるくらいなら言語側で決めてしまえ」
という発想のスコープを指示する記号だが
Perlのそれは随分と意味が違うぞ
728デフォルトの名無しさん:2012/06/21(木) 17:02:02.78
ぱいぱい
729デフォルトの名無しさん:2012/06/21(木) 22:09:30.82
無茶な使い方しても何とか動く言語が必要ね
これは
730デフォルトの名無しさん:2012/06/21(木) 22:32:03.91
ルビーとパイソンどっちがいい?
まわりはみんなルビー使ってます
731デフォルトの名無しさん:2012/06/21(木) 22:36:15.98
日本ならルビーじゃね
732デフォルトの名無しさん:2012/06/21(木) 23:05:02.34
まわりにPHPerしかいない

なんて環境じゃないだけで恵まれている
733デフォルトの名無しさん:2012/06/21(木) 23:18:46.93
>>730
馴れ合いたいならルビー
一匹狼ならパイソン
734デフォルトの名無しさん:2012/06/22(金) 00:11:08.17
ルビーってカタカナで書くとルーピー見たいでひくな
735デフォルトの名無しさん:2012/06/22(金) 01:45:05.11
ルビーはジワジワと衰退傾向にあるように感じる。
日本と歩調を合わせるように。
736デフォルトの名無しさん:2012/06/22(金) 05:41:09.78
>>730
良識があるならパイソン
パイソンはどこにでも使われてるけど、ルビーはウンk
737デフォルトの名無しさん:2012/06/22(金) 06:05:14.68
Rubyは日本のヲタク数人で開発している、いわば同人プロジェクト。
趣味に走ったり、やる気をなくしたり、内部抗争・分裂をして瓦解したり
という体制面の不安が常にあり、今のままでは恐くてビジネスには使えない。
738デフォルトの名無しさん:2012/06/22(金) 06:33:45.11
そういう幸せな時代はとっくに終わっております
739デフォルトの名無しさん:2012/06/22(金) 07:07:34.88
国から金もらい始めてからだな
おかしくなtったのは
さっさと仕訳汁
740デフォルトの名無しさん:2012/06/22(金) 07:29:00.66
言語仕様の一貫性からいってRubyの方がよいね
世界での普及度ではPython

英語ができるならPythonも選べるけど、できないならRubyが無難
741デフォルトの名無しさん:2012/06/22(金) 08:09:25.43
人は、有能/無能と勤勉/怠惰の組み合わせで4タイプに分けられる
それぞれのタイプ別に

有能で勤勉: Lisp, Python
有能で怠惰: Haskell, OCaml
無能で勤勉: Ruby, PHP
無能で怠惰: Java, C#

に代表される言語を使うのが向いている
742デフォルトの名無しさん:2012/06/22(金) 10:18:40.73
JAVAとPythonがメインなんだけどそれは
743デフォルトの名無しさん:2012/06/22(金) 10:43:46.97
(無能で怠惰 + 有能で勤勉) / 2 = 中途半端: Jython

オフレコでひとつ
744デフォルトの名無しさん:2012/06/22(金) 11:01:36.08
=有能で怠惰
745デフォルトの名無しさん:2012/06/22(金) 11:33:41.28
>>735
あ、なんかわかるわ。
746デフォルトの名無しさん:2012/06/22(金) 11:43:28.54
やっぱ経産省が関わるとろくなことにならんな
747デフォルトの名無しさん:2012/06/22(金) 13:21:41.21
>>741
ルビイストとペチパーはゼークトに射殺されるんですね。
748デフォルトの名無しさん :2012/06/22(金) 13:53:20.13
256倍使うシリーズが山ほど出版されたのが今では夢のようだ>Ruby
749デフォルトの名無しさん:2012/06/22(金) 15:56:22.24
国産ってのが嫌なんだよな
750デフォルトの名無しさん:2012/06/22(金) 16:10:48.13
大体、国産なんてこと売りにしている辺りで終わってる。
そんなのありがたがる奴は、超漢字でも使ってればいい。
751デフォルトの名無しさん:2012/06/22(金) 17:58:22.24
MOEの悪口はやめろ
752デフォルトの名無しさん:2012/06/22(金) 18:22:21.13
pass
753デフォルトの名無しさん:2012/06/22(金) 19:05:02.10
色んな意味でRubyは正当な評価を受けていない
754デフォルトの名無しさん:2012/06/22(金) 19:31:49.20
真っ先に教育コストの低さ(VBとPHPw)が評価される国だからなあ
755デフォルトの名無しさん:2012/06/22(金) 19:41:49.58
くだらない議論だな
こんなのが同じpython使いだと思うと恥ずかしくなる
756デフォルトの名無しさん:2012/06/22(金) 19:42:50.18
明らかに俺とお前は違うPython使いだから一緒にしないでくれ
757デフォルトの名無しさん:2012/06/22(金) 19:43:21.49
くだすれじゃなかったのか
758デフォルトの名無しさん:2012/06/22(金) 19:45:06.84
勝手に同一視して勝手に嫌悪するとか当たり屋かよ。
759デフォルトの名無しさん:2012/06/22(金) 19:46:33.80
そりゃそうだしょ。
利益に直結しない社内教育なんかやっている余裕は
今の企業にはない。
素人にVBやPHPを三日で叩き込んで次々現場に送り出さないと
利益が出ないんだよ。
760デフォルトの名無しさん:2012/06/22(金) 21:25:27.15
Rubyが存在しなかったらPythonの日本語資料が充実していたということですね。
761デフォルトの名無しさん:2012/06/22(金) 21:31:16.47
pythonは変態って聞いたからpythonを選択した。
深い理由はない
762デフォルトの名無しさん:2012/06/22(金) 22:11:28.05
すくなくとも公式ドキュメントの充実度は
Python英語>Python日本語>>>Ruby英語>Ruby日本語
763デフォルトの名無しさん:2012/06/22(金) 22:39:54.05
ファーストサーバー

どんな言語を使っていたのか
764デフォルトの名無しさん:2012/06/22(金) 23:09:24.64
でも、日本語情報を「公式」に限定しなければ、Ruby>Pythonだと思う。
765デフォルトの名無しさん:2012/06/22(金) 23:32:43.82
使ってる言語なんか関係ねえ
人任せにするってのはこういうことだ
766デフォルトの名無しさん:2012/06/23(土) 01:31:32.49
ホントくだらない流れだな
>>741書いた奴なんて救えない人生送ってそう
年収300万人生楽しいですか?
767デフォルトの名無しさん:2012/06/23(土) 01:43:48.87
Pythonianはモンティパイソン精神がないと(使うのは)難しい
768デフォルトの名無しさん:2012/06/23(土) 01:48:40.96
消えろじじい
769デフォルトの名無しさん:2012/06/23(土) 02:18:28.63
pass
770デフォルトの名無しさん:2012/06/23(土) 02:55:18.83
くだすれの回答もレベル下がりすぎて質問者よりもわかってない奴が偉そうに検討外れな講釈垂れてるからな
この板全体に言える事だけどもうダメ ダメすぎる
771デフォルトの名無しさん:2012/06/23(土) 04:52:11.65
こぴぺ
772デフォルトの名無しさん:2012/06/23(土) 13:04:01.77
pass
773デフォルトの名無しさん:2012/06/23(土) 15:32:30.80
殺伐しすぎ
774デフォルトの名無しさん:2012/06/23(土) 19:51:29.68
P = A xor B のとき

C(out) = A・B + (A + B)・C(in)

C(out) = ~P・A・B + P・C(in)

になるそうですが
C(out) = A・B + P・C(in)
じゃだめなんですか?
775デフォルトの名無しさん:2012/06/23(土) 20:02:21.19
>>774は何マルチしてんの?馬鹿なの?死ぬの?
776デフォルトの名無しさん:2012/06/23(土) 20:21:15.69
pass
777デフォルトの名無しさん:2012/06/25(月) 18:41:24.09
かそ
778デフォルトの名無しさん:2012/06/25(月) 18:50:23.80
Windows7でwxPythonを使うとコントロールのスタイルが
XP風にならず2000風になってしまいます
python.exe.manifest
とか
pythonw.exe.manifest
とかを
ttp://wiki.python.org/moin/PythonQuestions#Windows_XP_look-and-feel
の指示通り書いてもやっぱりだめです
(WindowsXP上で同じ事をするとうまくいきました)
あとpy2exeを使ったときもなぜかWindows7でもうまくいきました
ただpy2exeで毎回buildしないといけないのが面倒なので
そのままWindowsXP上で実行したときと同じようになりませんかね
779デフォルトの名無しさん:2012/06/25(月) 20:58:44.18
馬鹿には無理
780デフォルトの名無しさん:2012/06/25(月) 21:05:21.01
>>778 pythonは64bit版?
781デフォルトの名無しさん:2012/06/25(月) 21:14:28.44
>>778
Vista/7はmanifestなしで実行してしまうとそれが記憶されてしまう。
782デフォルトの名無しさん:2012/06/25(月) 22:40:14.51
解除方法は1回XP互換モードにするか、実行ファイルのタイムスタンプを書き換えるか
783デフォルトの名無しさん:2012/06/25(月) 23:01:33.55
ぱいそん
784デフォルトの名無しさん:2012/06/25(月) 23:52:34.29
ぱいてょん
785デフォルトの名無しさん:2012/06/26(火) 02:31:01.61
>>780
ああそれが原因なのかな?
関係あるのかどうかは判らないけど
確かにOSが64でPythonが32です
あとで64bit版も試してみます
786デフォルトの名無しさん:2012/06/26(火) 02:31:49.09
>>781-782
マジですか!!
やってみます!
787デフォルトの名無しさん:2012/06/26(火) 02:41:11.66
治りました!
ありがとうございます!!
788デフォルトの名無しさん:2012/06/26(火) 03:01:23.82
このサイトに
ttp://togarasi.wordpress.com/2009/06/06/win72008r2-%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E3%83%9E%E3%83%8B%E3%83%95%E3%82%A7%E3%82%B9%E3%83%88/

Compatibility セクションのないマニフェストをもつアプリケーションは Windows Vista モードで動作することになります。
と書かれているので

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--Windows 7-->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
      <!--Windows Vista-->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
    </application>
  </compatibility>
</assembly>

これもpython(w).exe.manifestに書いておいた方が良いのかな
789デフォルトの名無しさん:2012/06/26(火) 05:05:47.71
おっ
Windows Vista モードで動いてたのか。
知らなかった。
考えなしに Windows 7 モードにして互換性大丈夫か?
790デフォルトの名無しさん:2012/06/26(火) 08:40:26.20
ばいそん
791デフォルトの名無しさん:2012/06/26(火) 08:43:16.85
ぴーそん
792デフォルトの名無しさん:2012/06/26(火) 08:46:11.18
俺の弟は大学で情報工学専攻してるんだが、
この間、新大阪の本屋さんでバイトしてるとき
山崎邦正さんがニシキヘビの専門書をドサっと
買っていってびっくりしたとかいってた。
カラテカのちっこい人といっしょだったらしいw
793デフォルトの名無しさん:2012/06/26(火) 08:56:05.43
Rubyは池澤あやかでPythonは山崎邦正かあ・・・
いえ、文句なんてありませんっ!
794デフォルトの名無しさん:2012/06/26(火) 09:37:46.30
るびまにグラビアが載る前にpython.jpに5万字インタビューおなしゃす
795デフォルトの名無しさん:2012/06/26(火) 10:10:40.08
山崎はC,C++、javaあたりで書く
ある意味、主流派じゃなかったっけ?
796デフォルトの名無しさん:2012/06/26(火) 11:14:13.01
最初Phytonに空目したから今でもフィトンと読む
797デフォルトの名無しさん:2012/06/26(火) 20:21:12.39
>>792
そういう客のプライベートを
ペラペラしゃべるなと弟に言っておけ。
例え家族にでもだ。
798デフォルトの名無しさん:2012/06/26(火) 21:34:48.16
調子に乗って先々で痛い目にあってくれた方が楽しいから黙っといて
799デフォルトの名無しさん:2012/06/26(火) 22:14:07.89
pass
800デフォルトの名無しさん:2012/06/26(火) 22:40:58.98
じぇいそん
801デフォルトの名無しさん:2012/06/26(火) 22:41:27.78
pass
802デフォルトの名無しさん:2012/06/27(水) 02:22:32.71
俺はピチョンって読む
803デフォルトの名無しさん:2012/06/27(水) 03:03:47.37
pass
804デフォルトの名無しさん:2012/06/27(水) 15:13:58.16
趣味でプログラミング始めたいんですけど
書籍で読む順番としては
python スタートブック→python 入門 でおkでしょうか?
805デフォルトの名無しさん:2012/06/27(水) 17:01:06.85
まず公式チュートリアル
806デフォルトの名無しさん:2012/06/27(水) 23:04:22.53
ぱいそんでびーそんって使えます?
807デフォルトの名無しさん:2012/06/27(水) 23:14:42.26
pass
808デフォルトの名無しさん:2012/06/28(木) 00:52:46.29
>>806
bsonなら使える
809デフォルトの名無しさん:2012/06/28(木) 01:42:02.28
>>804
プログラミング自体が初めてならばそれでいいと思います
もし他の言語を経験済みなら公式のチュートリアルで充分かと
810デフォルトの名無しさん:2012/06/28(木) 02:09:17.89
初めてのPythonじゃなくてPython入門?
811デフォルトの名無しさん:2012/06/28(木) 08:40:41.96
812デフォルトの名無しさん:2012/06/28(木) 12:28:15.71
>>809
ありがとうございます参考にさせていもらいます
813デフォルトの名無しさん:2012/06/28(木) 14:03:41.59
>>806, 808
mongo ですね
814デフォルトの名無しさん:2012/06/28(木) 18:34:48.23
socketでチャットを作ってる
サーバーとクライアントを分けてるんだけど
クライアント→複数のサバへのメッセージの送信ができない
というかthreading.Threadの使い方がわからない
誰かアドバイスください
ド素人でですみません
815デフォルトの名無しさん:2012/06/28(木) 18:54:02.74
スレッドとかそんな危ない機能は
C++などの担当領域だろ。
LL言語はテキスト処理だけしてるのが
身の丈に合った使い方だと思うよ。
816デフォルトの名無しさん:2012/06/28(木) 19:23:03.73
pass
817デフォルトの名無しさん:2012/06/28(木) 19:25:13.04
ファーストサーバの件、仕事柄いろいろ調べていくと「サイボウズASP提供の場合、
標準で付いているデータエクスポートがkillされ、
ファーストサーバのバックアップサービスのみ使える」ということを知ってすんげえ頭抱えている。
ユーザはどうしようもなかったってことじゃないか…
818デフォルトの名無しさん:2012/06/28(木) 20:06:39.50
それを何でここに書こうと思ったの?
819デフォルトの名無しさん:2012/06/28(木) 20:21:17.54
方々のスレにコピペして回ってるだけでここだけじゃないよ
自意識過剰な
820デフォルトの名無しさん:2012/06/28(木) 20:27:59.35
3.3 β版リリース祈念パピコ。
てかパピコって死語だな。
821デフォルトの名無しさん:2012/06/28(木) 20:47:49.90
振り切ってパピポにしちゃおうぜ
822デフォルトの名無しさん:2012/06/28(木) 20:54:52.03
>>820
グリコに謝れ
823デフォルトの名無しさん:2012/06/28(木) 21:00:24.78
>>817
ここじゃないけどそれと同じもの
漏れもコピペしたことあるけど
ほかにもやってる香具師いたんだ
824デフォルトの名無しさん:2012/06/28(木) 21:07:56.04
825デフォルトの名無しさん:2012/06/28(木) 21:14:05.05
ttp://support.fsv.jp/manual/groupware/office/new_asp/backup.html
お客様がご利用いただいているサーバー内にデータが保存されます。
(略)
FTPによるデータのバックアップ
自動バックアップを使用せずに、FTPソフトによるバックアップも可能です。
以下のディレクトリ内のデータを「バイナリモード」でダウンロードしてください。
http から始まるURL(www領域)でご利用の場合 /www/cb9/cb5/data /www/cb9/cb5/file
https から始まるURL(ssl領域)でご利用の場合 /ssl/cb9/cb5/data /ssl/cb9/cb5/file

サイボウズ Office 9のディレクトリ構成については、以下をご参照ください。
(略)


FTP(セキュリティはともかくとして)でバックアップ出来るじゃん。
ガセネタかよ。
826デフォルトの名無しさん:2012/06/28(木) 21:23:28.01
DCからみたら重過失でもない限り
バックアップまで紛失することはないのが当たり前

約款なんて普通のDCは客が消した場合とかの責任回避のため
だから、今回のは当然、FSは約款以上に責任負わなければいけない。

第一、鯖管理してればわかるだろうけど
サーバにたまってるG単位のデータを、全顧客毎日フルバックアップされてみ
たまったもんじゃない。

顧客バックアップ義務なんて、鯖屋が自分で自分の首絞めるみたいなもんだ

これから約款変更余儀なくされる鯖屋が増えそうだ
827デフォルトの名無しさん:2012/06/28(木) 21:26:18.01
スレタイ読め
828デフォルトの名無しさん:2012/06/28(木) 21:49:18.89
板違い
829デフォルトの名無しさん:2012/06/28(木) 22:31:08.05
そいや自分が入社する前、ウチの会社はサイボウズ導入してたらしい。
ファーストサーバの一件があったし、未だに社内で運用してたらと思うとゾッとするww
830デフォルトの名無しさん:2012/06/29(金) 08:32:46.88
そこは辞めたの?
831デフォルトの名無しさん:2012/06/29(金) 11:04:15.06
やあぁ…
832デフォルトの名無しさん:2012/06/29(金) 12:24:37.70
良心的な会社
 一応DCでもバックアップはしてますが万一消えたらごめんなさい

ややブラックな会社
 DCでバックアップはしませんのでお客様各自でバックアップしてください

完全ブラックな会社
 弊社のバックアップは一般に言われるバックアップとは異なりますが
 営業集客の際にはお客様側でバックアップ不要を謳っております
833デフォルトの名無しさん:2012/06/29(金) 12:30:39.13
死ね
834デフォルトの名無しさん:2012/06/29(金) 13:07:53.95
Pythonはguidoが死んでも大丈夫だって話思い出した
835デフォルトの名無しさん:2012/06/29(金) 15:23:06.62
ちょうど18年前の出来事だな。
http://www.python.org/search/hypermail/python-1994q2/1040.html
よく見ると事故じゃなくてTclユーザーに殺られたことになってるな。
836デフォルトの名無しさん:2012/06/29(金) 17:11:18.05
>>814
一般的なチャットだと、クライアント側はサーバと1対1接続だけど、複数のサーバへ送信とはどういう状況?
メッセージの送信ができないとは 何らかのエラー?それとも送ってるはずがデータが届いてない?


サーバ側なら標準ライブラリに SocketServer があるので、そこから始めるといいよ。
クライアント側は、文面からは何で躓いてるのか全然わからないのだけど、
まず単一のサーバに送るところからはじめてみては。

threadingの使い方
ttp://www.doughellmann.com/PyMOTW-ja/threading/index.html
837デフォルトの名無しさん:2012/06/30(土) 18:27:19.60
あるリストを偶数番目のデーター列と奇数番目のデーター列の二つのリストに分割する関数はありますか?
例:
>>>data = [4, 3, 5, 8, 2, 9, 1, 5, 2, 7, 3, 4]
>>>get_even(data)
[4, 5, 2, 1, 2, 3]
>>>get_odd(data)
[3, 8, 9, 5, 7, 4]
838デフォルトの名無しさん:2012/06/30(土) 18:53:28.50
>>> i = iter(data)
>>> zip(*[(i.next(),i.next()) for _ in xrange(len(data)/2)])
[(4, 5, 2, 1, 2, 3), (3, 8, 9, 5, 7, 4)]
839デフォルトの名無しさん:2012/06/30(土) 18:53:39.44
>>> data = [4, 3, 5, 8, 2, 9, 1, 5, 2, 7, 3, 4]
>>> data[::2]
[4, 5, 2, 1, 2, 3]
>>> data[1::2]
[3, 8, 9, 5, 7, 4]
840デフォルトの名無しさん:2012/06/30(土) 21:48:35.60
>>> data = [4, 3, 5, 8, 2, 9, 1, 5, 2, 7, 3, 4]
>>> a, b = zip(*zip(*[iter(data)]*2))
>>> a
(4, 5, 2, 1, 2, 3)
>>> b
(3, 8, 9, 5, 7, 4)
841デフォルトの名無しさん:2012/07/01(日) 00:13:41.60
png画像ファイルが2枚あります
キャンパスサイズは縦横とも同じです
この2枚を交互に表示するアニメーション動画を
pngで作りたい(アニメーションpng)のですが
Pythonではどうやればよいでしょうか?
842デフォルトの名無しさん:2012/07/01(日) 00:21:54.54
843デフォルトの名無しさん:2012/07/01(日) 06:59:52.62
IE って 9 になっても AnimationPNG 対応してないのか
844デフォルトの名無しさん:2012/07/01(日) 09:32:27.39
>>842
ありがとうございます
取りあえずそれでアニメーションpng動画は作れました
あとはPythonでやる方法が知りたいです
845デフォルトの名無しさん:2012/07/01(日) 09:42:26.11
PNGフォーマットの仕様書を呼んでその通りに書き出せば言語問わず作れるよ
846デフォルトの名無しさん:2012/07/01(日) 09:58:08.06
847デフォルトの名無しさん:2012/07/01(日) 10:17:18.50
>>841
Python での実装は直ぐに見つかる場所にはなさそうだ。
ttp://blog.livedoor.jp/odaxsen/archives/1595046.html
848デフォルトの名無しさん:2012/07/01(日) 10:18:52.45
と思ったらあったっぽい
ttp://wtnb.mydns.jp/wordpress/archives/4279
849デフォルトの名無しさん:2012/07/01(日) 11:12:44.10
850デフォルトの名無しさん:2012/07/01(日) 11:24:50.26
日記はチラ裏で
851デフォルトの名無しさん:2012/07/01(日) 12:15:35.62
なんで馬鹿は車輪の再発明をしたがるのだろうか?
852デフォルトの名無しさん:2012/07/01(日) 12:19:32.25
再発明したことのない人にはわかんないさ
853デフォルトの名無しさん:2012/07/01(日) 12:36:17.03
パブリックドメインのがあるならともかく、ライセンスついてるものは再発明とかそういう問題じゃない。
854デフォルトの名無しさん:2012/07/01(日) 12:53:09.55
リンク厨うぜー
855デフォルトの名無しさん:2012/07/01(日) 14:15:29.83
ゼルダの伝説なのにリンクの大冒険って名前で覚えてる奴いるよなー
856デフォルトの名無しさん:2012/07/01(日) 14:20:59.45
いないだろう
857デフォルトの名無しさん:2012/07/01(日) 14:23:17.34
ナンカコウテクレヤ
858デフォルトの名無しさん:2012/07/01(日) 15:21:53.80
pass
859デフォルトの名無しさん:2012/07/01(日) 15:39:13.19
Print"Hello"
ぐらいしか出来ませんがこれからこのスレにお世話になります
860デフォルトの名無しさん:2012/07/01(日) 15:52:25.30
>>859
超初心者用のスレがあるのでそっちでどうぞ

くだすれPython(超初心者用) その13
http://toro.2ch.net/test/read.cgi/tech/1332304873/

あとPrintじゃなくてprint
861デフォルトの名無しさん:2012/07/01(日) 17:26:48.88
>>860
ありがとうございます
862デフォルトの名無しさん:2012/07/01(日) 20:47:14.61
>>860
あのスレッド、printレベルじゃ質問出来ないような話してません?
863デフォルトの名無しさん:2012/07/01(日) 22:03:56.46
そもそも大抵の人は両方見てる。
何かあるときは荒れてないほうに書き込む。
864デフォルトの名無しさん:2012/07/01(日) 22:19:59.21
俺も両方チェックしてる
865デフォルトの名無しさん:2012/07/01(日) 22:29:25.86
そんなに居る人の知識レベルというか敷居が低くないんだよな
罠っつーか、あっちはスレタイにあるまじw
866デフォルトの名無しさん:2012/07/02(月) 00:28:06.53
おまい2ちゃん初めてか?
力抜けよ
867デフォルトの名無しさん:2012/07/02(月) 02:23:30.05
>>862
プログラミングで自分を「初心者ではない」と自信もって言える人はあまりいないってことさ
868デフォルトの名無しさん:2012/07/02(月) 03:14:09.53
同じプログラミングでも分野が違えば誰もが初心者
人生長生きすればするほど新たな発見がある
死ぬまで発展途上だぜ
謙虚だろう?
869デフォルトの名無しさん:2012/07/02(月) 10:44:36.02
死ね
870デフォルトの名無しさん:2012/07/02(月) 23:47:08.58
test
871デフォルトの名無しさん:2012/07/02(月) 23:54:17.25
少女A
872デフォルトの名無しさん:2012/07/03(火) 21:34:24.98
コマンドライン(bash)で

read -n 1 var

と打つと標準入力から1文字読み込む。
この際、改行はいらない。
また、シェル変数varに入力した文字が格納される。

これと同じ機能ってpythonでできる?

sys.stdin.read(1)

で1文字読み込むことができるけど、改行が必要なんだよね。
改行なしに即座に読み込みを終了したい。
873デフォルトの名無しさん:2012/07/03(火) 22:03:16.51
raw_input, input は?
入力させた後に加工しないといけないけど
874デフォルトの名無しさん:2012/07/03(火) 22:20:02.26
>>873
「read -n 1 var」を実際に打ってみて確認してほしいんだが、これは改行を打たなくても処理を終了できるのよ。
一方で、raw_inputとかinputは改行を打って初めて処理が終了するでしょ、これは望んでる振る舞いじゃない。

この機能があると例えば、
ある単語を表示させて、標準入力から打たれた文字だけ消去して単語を左シフトさせるような
タイピングソフトができたりする。
875デフォルトの名無しさん:2012/07/03(火) 22:21:57.99
もっとお手軽な方法があったかもだけど
http://code.activestate.com/recipes/134892/

あとはcursesがCUIのタイピングソフト向き
876デフォルトの名無しさん:2012/07/03(火) 22:24:24.44
877デフォルトの名無しさん:2012/07/03(火) 22:24:53.53
ぐふう
878デフォルトの名無しさん:2012/07/03(火) 23:25:29.50
無駄にオブジェクト指向してる悪い例
879デフォルトの名無しさん:2012/07/03(火) 23:42:40.44
「無駄にオブジェクト指向してる」っていうのはおもしろいな
880デフォルトの名無しさん:2012/07/03(火) 23:44:59.22
むしろそこは悪い例じゃなくて良い例なのでは
例としては良いんでしょ?悪いの?

とか言ってみる
881デフォルトの名無しさん:2012/07/03(火) 23:55:36.63
×オブジェクト指向
○オブジェクト
882デフォルトの名無しさん:2012/07/04(水) 08:47:38.99
>>880
無駄にオブジェクト指向してる悪い例の良い例
でどうでしょうか?
883デフォルトの名無しさん:2012/07/04(水) 08:49:21.34
良いか悪いかはともかく、
class _Getch を継承して再利用することが実際にあるかどうかだな。
884デフォルトの名無しさん:2012/07/04(水) 10:17:43.38
>>883
再利用性は重要だけど、”継承して”は必ずしも必要というわけではないよ。

一般的には、継承する必要がなければ委譲が良いとされてる。(理由:不必要な名前空間の汚染を避ける為、他いろいろ)

_GetchWindows, _GetchUnix 等は、共通のベースクラスを持った方がいいと思われるかもしれないが、
ダックタイピングが可能なPythonでは、不要とまでは言わないけど省略可。(この辺は、Java等をやってる人と感覚が違うかもしれない)

----
取り分け悪い例だとは思わないけど、改善可能なところは幾つもあるね

コンストラクタでプラットフォーム依存のモジュールをimportしてる為、
インスタンスを生成する迄、利用可能かどうかがわからない。=>コンパイル時に判断可能なはず。

対応OSが増えると、ネストが深くなる。<= try/except ImportErrorの所

実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可


尚、無駄にオブジェクト指向してる => 関数でいいんじゃないか って類の議論は、自分はpass
885デフォルトの名無しさん:2012/07/04(水) 11:09:25.81
この程度ならswitch-caseで充分じゃないの?
886デフォルトの名無しさん:2012/07/04(水) 11:15:35.86
Vistaで動くけど7では動きませんみたいなプログラムは何が原因でそういう状況になってるの?
887デフォルトの名無しさん:2012/07/04(水) 11:16:06.54
>>884
>実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可

def __call__(self): return self.impl()

__init__(self) の中で
self.__call__ = self.impl
するということでしょうか?
試したら動かなかった
バージョンによって違うのかな?
888デフォルトの名無しさん:2012/07/04(水) 11:32:20.67
>>887
試してないけど、こうかな

assert callable(impl)
self.__call__ = impl.__call__


あと、特に理由がなければ、
この例のケースでは implをself.implとして保持しなくてもok
889デフォルトの名無しさん:2012/07/04(水) 11:39:10.99
関数でよくね?
890デフォルトの名無しさん:2012/07/04(水) 11:40:18.67
>>888
それでも駄目でした orz
TypeError: '_Getch' object is not callable
891デフォルトの名無しさん:2012/07/04(水) 11:54:07.33
そんなクソコードはほっとけよ
892デフォルトの名無しさん:2012/07/04(水) 12:15:02.16
>>890

http://pastebin.com/Vj5ThArC

これでどう? 2.7で動作確認
893デフォルトの名無しさん:2012/07/04(水) 12:44:49.32
それでもだめなんです orz 2.5で確認
894デフォルトの名無しさん:2012/07/04(水) 17:11:24.80
>>872,>>874だが>>875-876ありがとう。
おとといから勉強始めたんだがCUIに強いといわれているpythonなのに
こんなことも組み込みで用意してないなんて意外。
勉強する言語rubyと迷ったんだが、rubyだと組み込みで用意してたりするのかな・・・?

とりあえずpythonでの初プログラムが完成しました。
>>874に書いたスクロール型タイピングソフトです。

http://ichigo-up.com/Sn2/download/1341380497/attach/typing.py
pass: python

コーディング中の雑感

・str.len()じゃなくてlen(str)なのね
・getchがKeyboardInterruptを投げない、なぜだ〜・・・
 →ASCII以外の文字(例えばEsc)で終了するようにした
・インクリメント演算子ねぇのかよ!なんでだ!

./typing.py typing.py
を実行してみたところ

・俺のタイピングスピードは4文字毎秒程度
・「./typing.py typing.py < typing.py」により驚異的なスピードを叩きだそうと思ったが何故かうまくいかない
・マウスボタンの真ん中はいける。15文字毎秒程度
895デフォルトの名無しさん:2012/07/04(水) 17:20:13.32
pastebinとか使えよ厨房が。
896デフォルトの名無しさん:2012/07/04(水) 18:48:28.16
>>894
* そのうち慣れる
* 端末(ドライバ)をrawモードに設定してあるので
Ctrl+CとかしてもSIGINTは発生せずそのままプログラムに渡る
man termios(VINTR, ISIG, raw mode)するかUNIXプログラミングの本を読むかぐぐる
* a += 1で我慢する
* 標準入力が端末であること前提なのにファイルとつなげばおかしくなる
* strは変数名に使わない。ろだも落とすの面倒だから特別な事情がなければ使わない
* Rubyもやっといて気にいったほうをどうぞ
897デフォルトの名無しさん:2012/07/04(水) 18:55:58.34
>・str.len()じゃなくてlen(str)なのね

漏れもRubyからPythonに乗り換えたけど
最初に躓いたのがそこ
898デフォルトの名無しさん:2012/07/04(水) 19:23:28.80
次に躓くのは ''.join 辺りと予想

FAQに載ってなかったかな
899デフォルトの名無しさん:2012/07/04(水) 19:40:23.98
RubyとPythonは目指すところが同じなんだから
合併してしまえばいいのにね。
優秀な技術者が、同じような言語を作るために二つに
分かれてるのって、NTTが東と西に分かれてるのと
同じくらいもったいない。
900デフォルトの名無しさん:2012/07/04(水) 19:42:00.67
R





???
901デフォルトの名無しさん:2012/07/04(水) 19:51:47.35
目指すところが同じなら合併などと言わず片方が消えればいい
もちろんお前がAWOLに消えてくれ
902デフォルトの名無しさん:2012/07/04(水) 19:54:19.24
ん?ネガティブなレス付いてんね。
人的資源は集中して使おうという話なんだが。
言語を開発できる優秀なプログラマは少ないのだから。
903デフォルトの名無しさん:2012/07/04(水) 19:58:59.29
効率化を主張するなら、自分の主張が無駄にならないようなところで主張すべきではないか。
904デフォルトの名無しさん:2012/07/04(水) 20:17:19.97
あなたのまちをいろどるほっとステーション
905デフォルトの名無しさん:2012/07/04(水) 20:17:52.48
それはファミリーマート
906デフォルトの名無しさん:2012/07/04(水) 20:18:16.73
おまえもスカイブルーに染め上げてやる
907デフォルトの名無しさん:2012/07/04(水) 20:21:13.47
お前が優秀になればいいんだよマヌケ
908デフォルトの名無しさん:2012/07/04(水) 20:56:17.23
>>894
端末、標準入力に関しては、Pythonっていうか
UNIXプログラミングの知識の問題だよ。
909デフォルトの名無しさん:2012/07/04(水) 22:39:20.93
>言語を開発できる優秀なプログラマは少ないのだから。

少ない訳じゃない
言語を作る需要がそんなにない
みんながみんなオレオレ言語作ったらそれこそバベルII世
910デフォルトの名無しさん:2012/07/04(水) 22:46:45.41
連日山ほど新しい言語が出てきては消えていってるよ
911デフォルトの名無しさん:2012/07/04(水) 22:50:13.81
もうアルファベット一覧作れるんじゃないか?
912デフォルトの名無しさん:2012/07/04(水) 22:55:51.11
Googleの悪口はやめろ
913デフォルトの名無しさん:2012/07/04(水) 22:55:59.66
914デフォルトの名無しさん:2012/07/04(水) 23:07:09.93
QWYZあたりを拡充したら良いかも
915デフォルトの名無しさん:2012/07/04(水) 23:18:06.23
http://en.wikipedia.org/wiki/Cobra_(programming_language)
似てる
916デフォルトの名無しさん:2012/07/04(水) 23:19:50.72
コブラ(それはまぎれもなくヤツさ)
917デフォルトの名無しさん:2012/07/04(水) 23:21:33.99
ニシキヘビ vs コブラ
918デフォルトの名無しさん:2012/07/05(木) 03:07:36.15
ニシキヘビ「オンリーメモリー・アフターユー・・・!(膝から崩れ落ちる)」
919892:2012/07/05(木) 09:29:13.11
>>893
CPython-2.5.1/Linux/zsh端末上で動作確認出来たよ。バージョンは問題ないみたい
原因究明は、流石にこれ以上は、環境/コード/どのように実行したか等の情報がないと解からないです。
920デフォルトの名無しさん:2012/07/05(木) 09:45:46.38
環境
  CPython-2.5.1/Windows7
コード
  あなたのアップしたもの
どのように実行
  cmd.exe から getch.py
921デフォルトの名無しさん:2012/07/05(木) 09:56:29.51
エラーメッセージも書け
922デフォルトの名無しさん:2012/07/05(木) 10:25:04.67
923デフォルトの名無しさん:2012/07/05(木) 10:43:19.09
tracebackを全部貼れ
924デフォルトの名無しさん:2012/07/05(木) 10:51:20.84
>>915
Booにも似てるね

自分はこの手のマイナー(?)言語に手を出して、
ことごとく開発終了になってるので、眺めるだけにしておこう。。
925デフォルトの名無しさん:2012/07/05(木) 11:08:52.46
>>920

>892 のコードは _Getch クラスのみなので、これだけを実行しても意味ないよ、
>875 のリンク先の例のコードにマージして実行するのが前提なので、
自分で実行した 完全なコード をpastebin等に貼り付けてみて。

そもそも元のコード自体はエラー無く実行できてる?
926デフォルトの名無しさん:2012/07/05(木) 11:15:37.46
>>> class Hoge(object):
... def __init__(self):
... pass
... def __call__(self):
... print 'hoge'
...
>>> h = Hoge()
>>> h()
hoge
>>> class Fuga(object):
... def __init__(self):
... self.__call__ = Hoge().__call__
...
>>> f = Fuga()
>>> f()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'Fuga' object is not callable
927デフォルトの名無しさん:2012/07/05(木) 11:16:50.23
>>> class Hoge():
... def __init__(self):
... pass
... def __call__(self):
... print 'hoge2'
...
>>> h = Hoge()
>>> h()
hoge2
>>> class Fuga():
... def __init__(self):
... self.__call__ = Hoge().__call__
...
>>> f = Fuga()
>>> f()
hoge2

事故解決しました。スマソてへぺろ
928デフォルトの名無しさん:2012/07/05(木) 11:20:19.74
>>> class Hoge(object):
... def __init__(self):
... pass
... def __call__(self):
... print 'hoge3'
...
>>> h = Hoge()
>>> h()
hoge3
>>> class Fuga(object):
... def __init__(self):
... pass
... def __call__(self):
... return Hoge()()
...
>>> f = Fuga()
>>> f()
hoge3

このとき問題無かったので object 継承してたの忘れてた。てへぺろ
929デフォルトの名無しさん:2012/07/05(木) 13:36:39.52
みんなのぱいちんくん、みんなの
930デフォルトの名無しさん:2012/07/05(木) 13:46:28.09
object書いたのと書いてないのって何が違うの?
今はobject推奨だよね?
931デフォルトの名無しさん:2012/07/05(木) 13:52:56.89
Python3 だと object 書かなくても object 継承したことになるね
932デフォルトの名無しさん:2012/07/05(木) 17:07:15.22
__call__ に関しては、objectを継承したインスタンスの呼び出しは
クラスの__call__属性が使われる。インスタンスの__call__への代入は避けたほうがいいみたい。

>>> class A(object):
...   __call__ = lambda self: 10
...
>>> a = A()
>>> a()
10
>>> a.__call__ = lambda: 20
>>> a() # 旧スタイルの場合とは異なる挙動
10
>>> A.__call__ = lambda self: 20
>>> a()
20
933デフォルトの名無しさん:2012/07/05(木) 17:29:03.56
934デフォルトの名無しさん:2012/07/06(金) 09:30:49.97
>>932
出来ました。
ありがとう。
935デフォルトの名無しさん:2012/07/06(金) 18:16:56.79
>>894だけどgetch使わなくても実現できた。
ただ、色々試してみたんだけど今までみたいにインラインでは無理っぽい。

http://pastebin.com/JYTqD4f0

こっちのバージョンは「./typing2.py typing2.py < typing2.py」ができた。
300文字毎秒wコピペの比じゃないw

暇な人、みなさんのタイピングスピードはどれくらいですか?
俺はやはりどんなにがんばっても4文字毎秒程度です(./typing2.py typing2.py)。
936デフォルトの名無しさん:2012/07/06(金) 18:18:45.27
どうでもいいです…
937デフォルトの名無しさん:2012/07/06(金) 18:20:57.59
記号なしにすると速いんだけどな
938デフォルトの名無しさん:2012/07/06(金) 21:43:20.92
ぼくはいりましぇんぇん
939デフォルトの名無しさん:2012/07/07(土) 12:12:59.65
平均3文字程度

win用(msvcrt.getch利用。中断時にも結果表示するようにしてみた)
ttp://pastebin.com/BVC1KeR6


自分も記号が苦手。日本語のキーボード配列使ってるときはダブル・クォートでラグ
フォーム見直して、右シフト・キーを全然使ってないことに気がついた。

普段、doc-string以外の文字列リテラルは、
なるべく一箇所にまとめるか外部リソースに追い出すようなコーディング・スタイルを取ってるんだけど、
ここにきてタイピング・フォームの影響が懸念。
940デフォルトの名無しさん:2012/07/07(土) 13:50:59.56
941デフォルトの名無しさん:2012/07/07(土) 13:55:44.91
TERMINATE = frozenset("\x1b\x03\x04")
でいいよ。
942 忍法帖【Lv=2,xxxP】 :2012/07/07(土) 21:19:38.31
エスケープ?
\が出るととにかく目が滑るのを直したい…
943デフォルトの名無しさん:2012/07/08(日) 03:34:37.42
locale を US にしてフォント換えるんだ
944デフォルトの名無しさん:2012/07/08(日) 21:01:55.17
simplejsonでJSON形式のデータ読み込もうとするとエラーはく…

Traceback (most recent call last):
File "test.py", line 23, in <module>
simplejson.loads(result)
File "C:\Python27\lib\site-packages\simplejson-2.6.0-py2.7.egg\simplejson\__init__.py", line 451, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\site-packages\simplejson-2.6.0-py2.7.egg\simplejson\decoder.py", line 406, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\site-packages\simplejson-2.6.0-py2.7.egg\simplejson\decoder.py", line 424, in raw_decode
raise JSONDecodeError("No JSON object could be decoded", s, idx)
simplejson.decoder.JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0)

こんなエラーでるんですが原因分かる方いたら教えていただけませんか
945デフォルトの名無しさん:2012/07/08(日) 21:14:02.16
resultの一文字目は?
946デフォルトの名無しさん:2012/07/08(日) 21:22:33.57
resultの一文字目はjです
947デフォルトの名無しさん:2012/07/08(日) 21:44:48.95
まずはデータが正しいJSONかどうかをチェックしよう http://jsonlint.com/

それから、2.7 だったら標準に json モジュール入ってるよ
948デフォルトの名無しさん:2012/07/08(日) 21:52:21.13
こんな便利なものがあるんですね…ありがとうございます!
データの方に問題がありそうでした
FiickrAPIで取得したのでデータには問題がないものと思って油断していました

標準でもあるんですね
2.7入れてるんで使ってみます!
949デフォルトの名無しさん:2012/07/08(日) 21:58:22.62
>>948です
問題解決しました
データの取得時のステータス指定が一つ足りていなかったのが原因で取得したデータが正しい形式にならなかったようです
しょうもない原因ですみません…
>>947さんありがとうございました
950デフォルトの名無しさん:2012/07/09(月) 16:29:54.04
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
951デフォルトの名無しさん:2012/07/09(月) 16:32:12.89
952デフォルトの名無しさん:2012/07/09(月) 21:23:14.56
キタワァ
953デフォルトの名無しさん:2012/07/10(火) 10:30:43.45
うめようず
954デフォルトの名無しさん:2012/07/10(火) 12:28:47.23
嫌ズら
955デフォルトの名無しさん:2012/07/10(火) 21:53:01.90
おっぱい好きの集まりと聞いて
956デフォルトの名無しさん:2012/07/11(水) 20:39:48.89
残りをおっぱいについて語れ
957デフォルトの名無しさん:2012/07/11(水) 20:51:31.34
for i in range(0,9999,1): print u'おっ' if i % 1 else u'ぱい'
958デフォルトの名無しさん:2012/07/11(水) 22:05:14.03
エロライブラリ、おっpy。
959デフォルトの名無しさん:2012/07/11(水) 22:44:19.00
OcamlでPython処理系を実装…!!!
960デフォルトの名無しさん:2012/07/11(水) 22:46:01.05
我々にはPyPiがある
961デフォルトの名無しさん:2012/07/12(木) 06:23:23.54
ここからでも埋める
962デフォルトの名無しさん:2012/07/12(木) 07:24:09.61
おっぱいに埋める
963デフォルトの名無しさん:2012/07/12(木) 09:44:55.29
OPy - Oklahoma Python User Group
964デフォルトの名無しさん:2012/07/12(木) 11:30:56.97
b = '''
44CA44CAIOKUjOKUgOKUkArjgIDjgIAg4pSC4peP
4pSCCuOAgOOAgCDilJTilIDilKQK44CA44CA44CA
XyDjgIAg4oipCuOAgOOAgCgg776f4oiA776fKeW9
oQrilIzilIDilKziioLlvaEK4pSC4peP4pSC44CA
44GK44Gj44Gx44GE77yB44GK44Gj44Gx44GE77yB
CuKUlOKUgOKUmA==
'''

print base64.b64decode(b).decode('utf-8')
965デフォルトの名無しさん:2012/07/12(木) 11:43:41.00
ツマンネ
966デフォルトの名無しさん:2012/07/12(木) 12:06:09.84
int('11000000101010000000000100000001', 2)
のような32bitの整数を、
'\xc0\xa8\x01\x01'
のようなバイト列に置き換えてくれる関数はありますか?
Python 2 でおながいします。
967デフォルトの名無しさん:2012/07/12(木) 12:09:38.30
>>> struct.pack('>I', int('11000000101010000000000100000001', 2))
'\xc0\xa8\x01\x01'
968デフォルトの名無しさん:2012/07/12(木) 14:34:24.34
sympyでnewton法を試してみたのですが、初期値の選定が悪いと収束しないケースがあります。
与えられた関数から適切な初期値を自動選択する方法を教えて下さい。

import sympy

def newton(f, s, r=1.0e-12):
  print 'f(x) = %s' % f
  try:
    sympy.pprint('solved: %s' % sympy.solve(f))
  except NotImplementedError, e:
    print '''can't sove.'''
  f1 = sympy.diff(f, x)
  print '''f'(x) = %s''' % f1
  while True:
    d = {'x': s}
    q, y, a = s, f(d).evalf(), f1(d).evalf()
    print d, y, a
    if sympy.abs(y) <= r: break
    s -= y / a
    if sympy.abs(s - q) <= r: break

if __name__ == '__main__':
  x = sympy.symbols('x')
  newton(x**2 + 3*x - 4, 0.1)
  newton(x**2 + 3*x - 4, -3.0)
  print '-' * 32
  newton(x**3 - 1, 10.0, 1.0e-14)
  newton(x**3 - 1, -10.0, 1.0e-14)
  print '-' * 32
  newton(3*sympy.atan(x-1)+(x/4), 2.5, 1.0e-13) # 収束する
  newton(3*sympy.atan(x-1)+(x/4), 3.0, 1.0e-13) # 収束しない
969デフォルトの名無しさん:2012/07/12(木) 15:49:49.71
>>967
出来ました。
ありがとうございました。
970デフォルトの名無しさん:2012/07/12(木) 17:58:27.19
馬鹿には無理
971デフォルトの名無しさん:2012/07/12(木) 20:21:12.12
>>970
自己紹介乙

>>968
無理
972デフォルトの名無しさん:2012/07/12(木) 20:28:07.67
なんだよ。
結局無理なのかよ。
973デフォルトの名無しさん:2012/07/12(木) 21:06:11.83
974デフォルトの名無しさん:2012/07/13(金) 01:48:04.31
うめようず
975デフォルトの名無しさん:2012/07/13(金) 01:56:04.23
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
976デフォルトの名無しさん:2012/07/13(金) 03:13:37.26
>>968
このスレには馬鹿しかいません
977デフォルトの名無しさん:2012/07/13(金) 05:05:40.55
ubuntuでzipを解凍するときにfile-roller使うと、
日本語を含んだfileを解凍するときに失敗するので以下のようなscriptを作ったんだけど、
file名に日本語があると、やっぱり文字化けしてしまう。
sjisのfile名をutf-8に変換する方法をご存じのunicode hackerの方はいらっしゃいますか?

#!/usr/bin/env python3
import zipfile
import sys
import os

if __name__ == '__main__':
zipname = sys.argv[1]
if len(sys.argv) >= 3:
pwd = sys.argv[2].encode('utf-8')
else:
pwd = None
print(zipname)

with zipfile.ZipFile(zipname, 'r') as myzip:
for name in myzip.namelist():
name_utf8 = name.encode('utf-8')

dirname = os.path.dirname(name)
basename = os.path.basename(name)
d = os.path.join('/tmp', dirname)
os.makedirs(d, exist_ok=True)

with myzip.open(name, pwd=pwd) as f:
data = f.read()
path = os.path.join('/tmp/', name)
with open(path, 'wb') as binary:
binary.write(data)
978デフォルトの名無しさん:2012/07/13(金) 06:43:39.86
なんか面倒そうだね
http://bugs.python.org/issue10614
979デフォルトの名無しさん:2012/07/13(金) 09:47:09.43
>>977
unzip-iconvパッチとか使えばいいじゃん。
つうかUbuntuのunzipってiconvパッチあたってんじゃん。
980デフォルトの名無しさん:2012/07/13(金) 10:41:33.81
windows使ってる漏れは勝ち組
981デフォルトの名無しさん:2012/07/13(金) 11:00:36.51
>>980
a.tar.gz
解凍してみろよ
982デフォルトの名無しさん:2012/07/13(金) 11:43:25.33
Python2使ってる漏れは勝ち組

with zipfile.ZipFile(sys.argv[1], "r") as zipf:
    for name in zipf.namelist():
        print name.decode('cp932').encode('utf8')
983デフォルトの名無しさん:2012/07/13(金) 12:50:16.60
なんか新刊っぽいんですが読んだ人いますか?

PythonでかんたんAndroidプログラミング
ttp://www.amazon.co.jp/dp/4877832912/
984デフォルトの名無しさん:2012/07/13(金) 12:51:14.69
>981
どういう意味ですか?
985デフォルトの名無しさん:2012/07/13(金) 13:20:38.74
>>984
windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。

>>978にpatch送った。
なんだかんだで半日もかかってしまった。。。
986デフォルトの名無しさん:2012/07/13(金) 13:32:51.46
>>985
>>>984
>windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。

へ?
987デフォルトの名無しさん:2012/07/13(金) 14:47:32.88
7zでふつうに解凍できるよ。

>>983
Pythonで作れるんだ。
988デフォルトの名無しさん:2012/07/13(金) 15:05:27.97
>>985
なに言ってんだこいつ・・・
989デフォルトの名無しさん:2012/07/13(金) 15:07:21.81
>>983
本屋で立ち読みしたけど、SL4A と Python for Android のインストールの仕方を書いた本だったよ。
990デフォルトの名無しさん:2012/07/13(金) 16:43:09.50
糞本確定
991デフォルトの名無しさん:2012/07/13(金) 16:45:31.89
うめようず
992デフォルトの名無しさん:2012/07/13(金) 16:53:30.04
嫌ズら
993デフォルトの名無しさん:2012/07/13(金) 16:55:35.24
>>983>>989
その本の著者、前科があるからな・・・
詳しくは尼レビューを。
994デフォルトの名無しさん:2012/07/13(金) 17:37:34.49
http://www.amazon.co.jp/WSGI%E3%82%A6%E3%82%A7%E3%83%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E6%A1%91%E4%BA%95-%E5%8D%9A%E4%B9%8B/dp/4877832882/ref=ntt_at_ep_dpt_2
薄い内容です 2012/2/12
By 烏龍茶
形式:単行本
CDが付属しているにも関わらずソースを全部掲載し、
ほんの少し変更しただけで、変更した部分だけではなく、
また全部掲載なんてのはページの水増しとしか思えません。

WSGIと関係のないテンプレートエンジンの説明に
まるまる1章費やしてますし。

また、掲載されているコードも20個以上もの属性を持ち、
__init__しか定義されていないデータ保持クラスを作成するなど酷いです。

肝心のWSGIに関する情報はIT系情報サイトの連載講座か、
それに及ばない程度の情報しか載ってませんでした。
995デフォルトの名無しさん:2012/07/13(金) 17:39:19.33
WSGIウェブプログラミング [単行本]
桑井 博之 (著)

WSGIの本として買うと失望しそう 2012/6/18
By オタコン
形式:単行本
はっきり言うと、どのレイヤーに向けた本なのかわからないです。

肝心のWSGIの説明もWEB上で収集できる情報以下です。
gihyo.jpの特集に完全に負けています。
この本を読んでwsgi使ったWEBアプリケーションを作ろうと思うと確実にお金の無駄です。

あと、wsgiの説明なのでWEBアプリケーション作るためにテンプレートエンジン
を使うのはわかりますが
なぜCheetahとかいう落ち目のモジュールを選んだのでしょう?
もっと使いやすいJinja2などで良かったのではないでしょうか?

もう一つ、SQLiteは無いと思う。せめて、MySQLかPostgreSQL使ってアプリケー
ション構築するサンプルコードにして欲しかったです。
996デフォルトの名無しさん:2012/07/13(金) 17:43:34.21
カットシステムの本を買うなということだ。
こういうのって編集者に依るの?
オライリーの動物本とかさ、編集者が手直ししているの?

PythonでかんたんAndroidプログラミング (-) [単行本]
桑井 博之 (著)
この商品の最初のレビューを書き込んでください。 Like (0)

単行本: 237ページ
出版社: カットシステム (2012/07)
ISBN-10: 4877832912
ISBN-13: 978-4877832919
発売日: 2012/07

WSGIウェブプログラミング [単行本]
桑井 博之 (著)
5つ星のうち 1.0 レビューをすべて見る (2件のカスタマーレビュー) Like (0)
価格: ¥ 2,940 通常配送無料 詳細

登録情報

単行本: 233ページ
出版社: カットシステム (2012/01)
ISBN-10: 4877832882
ISBN-13: 978-4877832889
997デフォルトの名無しさん:2012/07/13(金) 17:52:24.72
1000取り合戦開始!
998デフォルトの名無しさん:2012/07/13(金) 17:53:18.57
998!
999デフォルトの名無しさん:2012/07/13(金) 17:53:59.87
999
1000デフォルトの名無しさん:2012/07/13(金) 17:54:36.11
1000
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。