Pythonで現在の関数の名前を取得する方法とかありますか。 logger.debug("[%s] %s" % (__FUNC__, "message")) みたいにして、現在の関数名を簡単に取得したいです。
面倒くさい方法ならある
sys._getframe(0).f_code.co_name
>>590 むしろDjangoを捨てる・・・というのはきっと難しいんだろうな。
>>594 う、そういう方法しかないですか。
できれば __file__ と同じくらい簡単でかつ軽い方法がよかったんですが。
Rubyだと __METHOD__ で現在のメソッド名がわかるので、そういうのがPythonにもあるかなと期待しましたが、ないようですね。
おとなしく関数名を自分で書くことにします。
ありがとうございました。
そもそも関数名ってのが良くわからないけど、 定義したときのfとF=fにしたときで、別の名前取れるってことかな?
>>596 __FUNC__ = lambda: sys._getframe(1).f_code.co_name
ログ用途ならプレースホルダに%(funcName)sがあるからな 他の用途というと…
何言ってんの?
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
%() という表記法は何?
Pythonで使うWebアプリ用フォームライブラリで、おすすめのをおしえてください。 ついでにどういう点がお勧めかも教えてください。
あなたの嗜好が全く判らない以上 あなたにとって最適なものを お勧め出来ない可能性が高いが それでも良いか?
御託はいいからさっさと並べ奉れ
ジャンゴ
django使うと3.xにしばらく移行できなくなる罠
>>602 実行時に得られる情報にはクラス名がないから
関数(関数オブジェクト)自体はクラスに依存してないとも言えるかな。
その為、クラスAのメソッドとして定義した関数にクラスBのインスタンスを渡したりする事も出来る。
クラス名表示は、素の関数はそもそもクラスに属してないし、
名前空間を気にしだすとパッケージ・モジュール名、クラス内で定義したクラスの場合・・・となると
きちんと表示するのはかなりの手間。
この点 3.3 では ネストしたスコープで定義されたクラス・関数の名前をルートから階層付で表示する
__qualname__ って属性が導入されるみたいで、改善されるかなと期待してるんだけど、
但し、実行フレームやコード・オブジェクトからは参照できないみたいで(パッチは挙がってるけど採用されてない様子)、
loggingでのサポートまでには至ってない現状です。
>>130 あたりで nth_element について議論してるのを発見したので超亀レスしておく。
こういうpartial sortingってのは一般にheapを使って実装するのだ。
Pythonでは、標準モジュールのheapqモジュールの中にちゃんと実装されている。
heapじゃ、中央値がO(n)で取れないよ。 heapで効率がいいのは、上位n個とか、下位n個を取ってくる時だけ。
partial_sortは、ヒープによる実装とクイックソートの変形による実装が有名で、 ヒープだとストリーミングデータにも適用できる(データにランダムアクセスできなくてもいい) という利点がある。ランダムアクセスできるならクイックソート版のほうが速い。たぶん。 nth_elementの場合は、クイックソート変形版じゃないとだめ。 と理解している。
うそです。
初心者スレで話題になってたが一つのobjectが持てる最大メモリ量って resource.RLIMIT_DATA だよね?自信無いから答えるのに躊躇してるんだが
>>615 objectじゃなくてOSのプロセスの制限値。 resource はUnix 固有のサービス。
CPythonのobjectだったら、最大メモリ量による制限はないよ。
メモリサイズを管理してる変数のoverflowチェックが実質的な制限。
(intだったら桁数、リストだったら最大要素数の様な制限等はある)
617 :
デフォルトの名無しさん :2012/06/13(水) 09:26:51.91
ぱいぱいとぱいそん3どっち使うのがいいの?
pass
>>606 それでもいいので教えてほしい。
Djangoはフォームライブラリも備えた統合フレームワークなので、独立して使えるならまだしも、
単体のライブラリとしては使えない。
>>621 フォームライブラリっていうとWTFormsとかになるけど…
馬鹿には無理
624 :
デフォルトの名無しさん :2012/06/13(水) 17:59:56.96
625 :
デフォルトの名無しさん :2012/06/13(水) 21:33:55.58
>>619 pypyとpython3どっち使うのがいいの?
626 :
sage :2012/06/13(水) 23:07:21.73
積極的に自身の努力の成果を公開してる人を叩く形になるのは気が引けるけど、 某所のGoogle Python Style Guideの日本語訳はひどすぎる気がする。 最初はissueに少しずつフィードバックしようかと思ってたけどやる気失せたわ 翻訳機ばりの直訳多くてわかりにくいし、コードが原文と変わっておかしくなってるところあるし、 原文の意味と逆の意味になってる誤訳まである。 自分も英語そんなに得意じゃないけど、原文そんなに難しい英語じゃないから 直接原文読んだほうがわかりやすい。公開するためのクオリティに達していない。 翻訳者はあんなんで日本語情報少ないライブラリとかちゃんと使えてんのかな… そのわりには検索では上位に来るから質が悪い。 結果的に間違った知識を世の中に拡散してる気がする。
あげちゃった。すいません。
>>626 どうせgoogleに著作権あるんだろうから
そいつのサイト無視して
同名の別サイト作っちゃえば?
630 :
デフォルトの名無しさん :2012/06/14(木) 00:51:57.19
オライリーの訳書も初めてのPythonと入門自然言語処理以外は翻訳クソじゃん 特にクックブックとか
ふーん、そう よかったね
そんなことよりDjangoの今後について語ろうぜ!
3.xに移行できない人間が生まれるくらいFramework Lockinしてて安泰も安泰だろ 早く1.5出ないかな
>>632 Pyramidとweb2pyのどっちがいいか語ってくれ。
635 :
デフォルトの名無しさん :2012/06/14(木) 06:00:17.41
Crystal HDみたいなの追加できないの?
636 :
デフォルトの名無しさん :2012/06/14(木) 09:39:07.41
フレームワークはトルネードつかえればいいや
プログラマなら、フレームワークに頼らずに 一から自分で組めと言いたい
?
まず TCP/IP から実装します。
640 :
デフォルトの名無しさん :2012/06/14(木) 22:54:46.02
まずパイソンを実装します
641 :
デフォルトの名無しさん :2012/06/14(木) 22:55:12.79
オレオレパイソン
pass
正規表現についての質問です。 文字列の中で2つ以上連続した全角スペースがあった場合に全角スペース1つに置き換えるという処理をしていて、 (' {2, }', ' ', 対象文字列) と書いたときはうまくいかず、 ('( ){2, }', ' ', 対象文字列) のようにパターンのところの全角スペースを丸括弧でくくったら意図通りになりました。 これはなぜでしょうか。
全角スペースの最後のバイトに対して{2,}を指定しているんじゃない? 対処としてはUNICODE文字列にしてからマッチさせるとか
645 :
643 :2012/06/15(金) 06:41:54.17
>>644 UNICODE文字列に変換した上で試してみましたが、うまくいかないようです。
マニュアルなどを読んでもう少し試行錯誤してみます。アドバイスありがとうございました。
646 :
デフォルトの名無しさん :2012/06/15(金) 08:04:13.84
>UNICODE文字列に変換した上で 対象文字列と検索文字列両方UNICODEにするんだよ
3に来い。
648 :
643 :2012/06/15(金) 10:08:50.88
>>646 どうもありがとうございます。
おかげ様で解決しました。助かりました。
2使っている人も、3に備えて、 from __future__ import division, print_function, unicode_literals, with_statement を常に書いといて、その環境に慣れておくべき。
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 へ移植から
rangeは使わず、常にxrangeを使用 dict.keys, dict.values, dict.itemsは使わず、常にdict.iterkeys等を使用 他に、3に移行するために、今から心がけておくことあったら補足よろしくです。
>>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で使える?
対応してるの2.6じゃなかったか
>>651 os.getcwdは使わない。os.getcwduを使う。
open(fname)は使わない。io.TextIOWrapper(io.BufferedReader(io.FileIO(fname)))を使う。
というか、2.7ライブラリのどこかに、3互換のopen関数は無いの?
ただのopenで良くね?
io.open?
普通に使うけどそんなに変か?
py2exeってランタイムをインストールしなくても単体で動かせるの?
ファイル1個になるかって意味ならならない
> ファイル1個になる って、気持ちは判るが理解不能だ。
selfが意味わからん
C++やC#やJavaやってたことがあるならthisの代わりで通じるんだけどなー 難しいね
selfはインスタンスへの参照 class Foo(): def meth(self, arg): print(arg) f = Foo() f.meth(arg) # このfがmethの仮引数selfに渡る Foo.meth(f, arg) # なのでこうしても同じ
selfは難しいというか面倒だよね。 下手をするとメソッドの中がselfだらけになってしまい LL言語の利点である簡潔な記述・短い記述が損なわれてしまう。 これはおそらく、Pythonではオブジェクト指向をあまり使わないで 簡潔な手続き型言語として使って欲しいという 開発側のメッセージだと自分は解釈している。
>>664 > class Foo():
> def meth(self, arg):
> print(arg)
> f = Foo()
> f.meth(arg) # このfがmethの仮引数selfに渡る
> Foo.meth(f, arg) # なのでこうしても同じ
Foo.meth(arg)だといかんの?
この引数に関してはさんざん議論したハズ
class Foo(): def meth(arg): print(arg) selfなんて要らんかったんや
言語によっては自身のインスタンスを省略できるからややこしい
>>669 それ self が予約語じゃないだけだから
self の代りに s でも _ でも何でも良い
selfの使い時が分からん
>>665 すげー独自解釈だなw
糖質の気があるのでは。
単なる下衆の勘ぐりでは? 何かあるとすぐ統失だのアスペだのと騒ぐ最近の風潮は嘆かわしい。
風潮じゃない、子供増えただけ
いちいち嘆くとかセンシティブな神経ね
>>672 他所の関数に引数として自分自身を渡したいときとか
>>677 NOOBで申し訳ないんだけど「自分自身を渡す」の意味が分からんので教えてくれ・・・
ありがとうほんとに
>>678 たとえば、インスタンスの集まりに自分を追加するような処理。
f.add(S)
でSに中から自分を追加できる。
つーか、この問題は単に引数に自分自身が出てくるかどうかって話で、予約語にして自動的に使えるようにしても同じこと。
文法や書き方や分かりやすさの問題。
>>679 そうなのか・・・
個人的にselfがあったほうが分かりやすいと思う?
upxで遅くなるなんてどんな環境だよ
突然のCeleron
>>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/ を参考にしてとりえずこんなふうにしてみました。
これで大丈夫でしょうか?
はい
689 :
デフォルトの名無しさん :2012/06/18(月) 12:36:20.90
ありがとう
690 :
デフォルトの名無しさん :2012/06/18(月) 14:17:01.16
はいじゃないが!
山田
>>680 俺はその人とは別人だが、オブジェクト指向的に書こうとすればするほどselfが要る感じがする
classmethod とか decorator とか書いてると 第一引数が self とは限らないけど self を意識せざるを得ない
Pythonでオブジェクト指向はしない方がよい。 selfの件もあるが、隠蔽ができないという 致命的な欠陥がある。
pass
そもそもselfが何の働きをしてるのか知らん なかったら困るの?
>>697 それくらいは努力して勉強してきてくれ。
掲示板でそもそもの話から教えるのは面倒だ。
関数はもちろん、クラスが持ってるメソッドもファーストクラスオブジェクト。 >>> def foo(instance, args): <- self があるからファーストクラスオブジェクトを置き換えれる ... print(instance.__dict__) >>> class Bar(object): … __init__ = foo <- ファーストクラスオブジェクトだから定義済みの関数を代入可能 >>> class Bar(object): <- ね ... pass >>> Bar.__init__ = foo self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?
701 :
700 :2012/06/19(火) 00:04:34.97
説明ベタで申し訳ない すべてがファーストクラスオブジェクトってのは Python の強み 俺はこれがあるから Python が好き
>701
>>701 そうそう、完全同意。
凄くシンプルに感じるんだよね。
>>695 お前の脳に欠陥がある。
馬鹿には無理
>>700 >self が第一引数にないと完全なファーストクラスオブジェクトと言えないでしょ?
JavaScriptのthisみたいに、関数宣言ではselfは明示的な引数にしなくてもOK、みたいな
言語仕様にする余地は、Pythonにもあったとは思う。
そのかわり、通常の関数として呼び出して、かつselfに任意の値を入れようとすると、
JavaScriptで言うところのapplyみたいな仕組みが必要になるけど。
どちらがシンプル化といえば、いい勝負だと思う。
>>707 self がないとインスタンスメソッドがファーストクラスオブジェクトにならないと言ってるのでは
そんなことない。まさにJavaScriptがよい反例。
>>704 ここで出てくるローカル変数って、クラスのローカルって意味かな?
クラスローカル変数・メソッドなんて滅多に使うもんじゃないのに
そのためにself強制ってのはずいぶん乱暴な話だな。
いやメソッドのローカルだろ
ああようやく理解した。 つまりselfが付いているとインスタンス変数で 付いていないとメソッドローカル変数なのか。 変数宣言のない言語ゆえの苦肉の策なのだな。
自由度としてはこのpython方式の方が高いだろう
RubyやPerlみたいに$とか@が付いてソースが汚くなるよりまし
simple is best
theがぬk
the ぬこ
>>717 この文章にtheはあってもなくてもいいって
ネイティブの人から聞いたことがある。
まどかまじか
pass
@classmethod
形容詞として使う最上級は本来ひとつに特定可能なのでtheを付けるのが正しいが、 最近ではあくまで形容詞との考えからtheを付けない人が多い まあ、ら抜き言葉みたいなものよね
ザとダの中間
はい舌を噛んで・・・
イギッ
>>715 Rubyのそれは確かに
「グローバル変数の頭にgとかフィールドの頭にfとか付けるくらいなら言語側で決めてしまえ」
という発想のスコープを指示する記号だが
Perlのそれは随分と意味が違うぞ
728 :
デフォルトの名無しさん :2012/06/21(木) 17:02:02.78
ぱいぱい
無茶な使い方しても何とか動く言語が必要ね これは
730 :
デフォルトの名無しさん :2012/06/21(木) 22:32:03.91
ルビーとパイソンどっちがいい? まわりはみんなルビー使ってます
日本ならルビーじゃね
まわりにPHPerしかいない なんて環境じゃないだけで恵まれている
>>730 馴れ合いたいならルビー
一匹狼ならパイソン
ルビーってカタカナで書くとルーピー見たいでひくな
ルビーはジワジワと衰退傾向にあるように感じる。 日本と歩調を合わせるように。
>>730 良識があるならパイソン
パイソンはどこにでも使われてるけど、ルビーはウンk
Rubyは日本のヲタク数人で開発している、いわば同人プロジェクト。 趣味に走ったり、やる気をなくしたり、内部抗争・分裂をして瓦解したり という体制面の不安が常にあり、今のままでは恐くてビジネスには使えない。
そういう幸せな時代はとっくに終わっております
国から金もらい始めてからだな おかしくなtったのは さっさと仕訳汁
言語仕様の一貫性からいってRubyの方がよいね 世界での普及度ではPython 英語ができるならPythonも選べるけど、できないならRubyが無難
人は、有能/無能と勤勉/怠惰の組み合わせで4タイプに分けられる それぞれのタイプ別に 有能で勤勉: Lisp, Python 有能で怠惰: Haskell, OCaml 無能で勤勉: Ruby, PHP 無能で怠惰: Java, C# に代表される言語を使うのが向いている
JAVAとPythonがメインなんだけどそれは
(無能で怠惰 + 有能で勤勉) / 2 = 中途半端: Jython オフレコでひとつ
=有能で怠惰
やっぱ経産省が関わるとろくなことにならんな
>>741 ルビイストとペチパーはゼークトに射殺されるんですね。
256倍使うシリーズが山ほど出版されたのが今では夢のようだ>Ruby
国産ってのが嫌なんだよな
大体、国産なんてこと売りにしている辺りで終わってる。 そんなのありがたがる奴は、超漢字でも使ってればいい。
MOEの悪口はやめろ
pass
色んな意味でRubyは正当な評価を受けていない
真っ先に教育コストの低さ(VBとPHPw)が評価される国だからなあ
くだらない議論だな こんなのが同じpython使いだと思うと恥ずかしくなる
明らかに俺とお前は違うPython使いだから一緒にしないでくれ
くだすれじゃなかったのか
勝手に同一視して勝手に嫌悪するとか当たり屋かよ。
そりゃそうだしょ。 利益に直結しない社内教育なんかやっている余裕は 今の企業にはない。 素人にVBやPHPを三日で叩き込んで次々現場に送り出さないと 利益が出ないんだよ。
Rubyが存在しなかったらPythonの日本語資料が充実していたということですね。
pythonは変態って聞いたからpythonを選択した。 深い理由はない
すくなくとも公式ドキュメントの充実度は Python英語>Python日本語>>>Ruby英語>Ruby日本語
ファーストサーバー どんな言語を使っていたのか
でも、日本語情報を「公式」に限定しなければ、Ruby>Pythonだと思う。
使ってる言語なんか関係ねえ 人任せにするってのはこういうことだ
ホントくだらない流れだな
>>741 書いた奴なんて救えない人生送ってそう
年収300万人生楽しいですか?
Pythonianはモンティパイソン精神がないと(使うのは)難しい
消えろじじい
pass
くだすれの回答もレベル下がりすぎて質問者よりもわかってない奴が偉そうに検討外れな講釈垂れてるからな この板全体に言える事だけどもうダメ ダメすぎる
こぴぺ
pass
殺伐しすぎ
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) じゃだめなんですか?
pass
かそ
馬鹿には無理
>>778 Vista/7はmanifestなしで実行してしまうとそれが記憶されてしまう。
解除方法は1回XP互換モードにするか、実行ファイルのタイムスタンプを書き換えるか
783 :
デフォルトの名無しさん :2012/06/25(月) 23:01:33.55
ぱいそん
ぱいてょん
>>780 ああそれが原因なのかな?
関係あるのかどうかは判らないけど
確かにOSが64でPythonが32です
あとで64bit版も試してみます
治りました! ありがとうございます!!
おっ Windows Vista モードで動いてたのか。 知らなかった。 考えなしに Windows 7 モードにして互換性大丈夫か?
790 :
デフォルトの名無しさん :2012/06/26(火) 08:40:26.20
ばいそん
ぴーそん
792 :
デフォルトの名無しさん :2012/06/26(火) 08:46:11.18
俺の弟は大学で情報工学専攻してるんだが、 この間、新大阪の本屋さんでバイトしてるとき 山崎邦正さんがニシキヘビの専門書をドサっと 買っていってびっくりしたとかいってた。 カラテカのちっこい人といっしょだったらしいw
Rubyは池澤あやかでPythonは山崎邦正かあ・・・ いえ、文句なんてありませんっ!
るびまにグラビアが載る前にpython.jpに5万字インタビューおなしゃす
山崎はC,C++、javaあたりで書く ある意味、主流派じゃなかったっけ?
最初Phytonに空目したから今でもフィトンと読む
>>792 そういう客のプライベートを
ペラペラしゃべるなと弟に言っておけ。
例え家族にでもだ。
調子に乗って先々で痛い目にあってくれた方が楽しいから黙っといて
pass
800 :
デフォルトの名無しさん :2012/06/26(火) 22:40:58.98
じぇいそん
pass
俺はピチョンって読む
pass
趣味でプログラミング始めたいんですけど 書籍で読む順番としては python スタートブック→python 入門 でおkでしょうか?
まず公式チュートリアル
806 :
デフォルトの名無しさん :2012/06/27(水) 23:04:22.53
ぱいそんでびーそんって使えます?
pass
>>804 プログラミング自体が初めてならばそれでいいと思います
もし他の言語を経験済みなら公式のチュートリアルで充分かと
初めてのPythonじゃなくてPython入門?
>>809 ありがとうございます参考にさせていもらいます
814 :
デフォルトの名無しさん :2012/06/28(木) 18:34:48.23
socketでチャットを作ってる サーバーとクライアントを分けてるんだけど クライアント→複数のサバへのメッセージの送信ができない というかthreading.Threadの使い方がわからない 誰かアドバイスください ド素人でですみません
スレッドとかそんな危ない機能は C++などの担当領域だろ。 LL言語はテキスト処理だけしてるのが 身の丈に合った使い方だと思うよ。
pass
ファーストサーバの件、仕事柄いろいろ調べていくと「サイボウズASP提供の場合、 標準で付いているデータエクスポートがkillされ、 ファーストサーバのバックアップサービスのみ使える」ということを知ってすんげえ頭抱えている。 ユーザはどうしようもなかったってことじゃないか…
それを何でここに書こうと思ったの?
方々のスレにコピペして回ってるだけでここだけじゃないよ 自意識過剰な
3.3 β版リリース祈念パピコ。 てかパピコって死語だな。
振り切ってパピポにしちゃおうぜ
>>817 ここじゃないけどそれと同じもの
漏れもコピペしたことあるけど
ほかにもやってる香具師いたんだ
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(セキュリティはともかくとして)でバックアップ出来るじゃん。
ガセネタかよ。
DCからみたら重過失でもない限り バックアップまで紛失することはないのが当たり前 約款なんて普通のDCは客が消した場合とかの責任回避のため だから、今回のは当然、FSは約款以上に責任負わなければいけない。 第一、鯖管理してればわかるだろうけど サーバにたまってるG単位のデータを、全顧客毎日フルバックアップされてみ たまったもんじゃない。 顧客バックアップ義務なんて、鯖屋が自分で自分の首絞めるみたいなもんだ これから約款変更余儀なくされる鯖屋が増えそうだ
スレタイ読め
板違い
そいや自分が入社する前、ウチの会社はサイボウズ導入してたらしい。 ファーストサーバの一件があったし、未だに社内で運用してたらと思うとゾッとするww
そこは辞めたの?
やあぁ…
良心的な会社 一応DCでもバックアップはしてますが万一消えたらごめんなさい ややブラックな会社 DCでバックアップはしませんのでお客様各自でバックアップしてください 完全ブラックな会社 弊社のバックアップは一般に言われるバックアップとは異なりますが 営業集客の際にはお客様側でバックアップ不要を謳っております
死ね
Pythonはguidoが死んでも大丈夫だって話思い出した
あるリストを偶数番目のデーター列と奇数番目のデーター列の二つのリストに分割する関数はありますか? 例: >>>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]
>>> 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)]
>>> 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)
png画像ファイルが2枚あります キャンパスサイズは縦横とも同じです この2枚を交互に表示するアニメーション動画を pngで作りたい(アニメーションpng)のですが Pythonではどうやればよいでしょうか?
IE って 9 になっても AnimationPNG 対応してないのか
>>842 ありがとうございます
取りあえずそれでアニメーションpng動画は作れました
あとはPythonでやる方法が知りたいです
PNGフォーマットの仕様書を呼んでその通りに書き出せば言語問わず作れるよ
日記はチラ裏で
なんで馬鹿は車輪の再発明をしたがるのだろうか?
再発明したことのない人にはわかんないさ
パブリックドメインのがあるならともかく、ライセンスついてるものは再発明とかそういう問題じゃない。
リンク厨うぜー
ゼルダの伝説なのにリンクの大冒険って名前で覚えてる奴いるよなー
いないだろう
ナンカコウテクレヤ
pass
Print"Hello" ぐらいしか出来ませんがこれからこのスレにお世話になります
>>860 あのスレッド、printレベルじゃ質問出来ないような話してません?
そもそも大抵の人は両方見てる。 何かあるときは荒れてないほうに書き込む。
俺も両方チェックしてる
そんなに居る人の知識レベルというか敷居が低くないんだよな 罠っつーか、あっちはスレタイにあるまじw
おまい2ちゃん初めてか? 力抜けよ
>>862 プログラミングで自分を「初心者ではない」と自信もって言える人はあまりいないってことさ
同じプログラミングでも分野が違えば誰もが初心者 人生長生きすればするほど新たな発見がある 死ぬまで発展途上だぜ 謙虚だろう?
死ね
test
少女A
872 :
デフォルトの名無しさん :2012/07/03(火) 21:34:24.98
コマンドライン(bash)で read -n 1 var と打つと標準入力から1文字読み込む。 この際、改行はいらない。 また、シェル変数varに入力した文字が格納される。 これと同じ機能ってpythonでできる? sys.stdin.read(1) で1文字読み込むことができるけど、改行が必要なんだよね。 改行なしに即座に読み込みを終了したい。
raw_input, input は? 入力させた後に加工しないといけないけど
874 :
デフォルトの名無しさん :2012/07/03(火) 22:20:02.26
>>873 「read -n 1 var」を実際に打ってみて確認してほしいんだが、これは改行を打たなくても処理を終了できるのよ。
一方で、raw_inputとかinputは改行を打って初めて処理が終了するでしょ、これは望んでる振る舞いじゃない。
この機能があると例えば、
ある単語を表示させて、標準入力から打たれた文字だけ消去して単語を左シフトさせるような
タイピングソフトができたりする。
ぐふう
無駄にオブジェクト指向してる悪い例
「無駄にオブジェクト指向してる」っていうのはおもしろいな
むしろそこは悪い例じゃなくて良い例なのでは 例としては良いんでしょ?悪いの? とか言ってみる
×オブジェクト指向 ○オブジェクト
>>880 無駄にオブジェクト指向してる悪い例の良い例
でどうでしょうか?
良いか悪いかはともかく、 class _Getch を継承して再利用することが実際にあるかどうかだな。
>>883 再利用性は重要だけど、”継承して”は必ずしも必要というわけではないよ。
一般的には、継承する必要がなければ委譲が良いとされてる。(理由:不必要な名前空間の汚染を避ける為、他いろいろ)
_GetchWindows, _GetchUnix 等は、共通のベースクラスを持った方がいいと思われるかもしれないが、
ダックタイピングが可能なPythonでは、不要とまでは言わないけど省略可。(この辺は、Java等をやってる人と感覚が違うかもしれない)
----
取り分け悪い例だとは思わないけど、改善可能なところは幾つもあるね
コンストラクタでプラットフォーム依存のモジュールをimportしてる為、
インスタンスを生成する迄、利用可能かどうかがわからない。=>コンパイル時に判断可能なはず。
対応OSが増えると、ネストが深くなる。<= try/except ImportErrorの所
実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可
尚、無駄にオブジェクト指向してる => 関数でいいんじゃないか って類の議論は、自分はpass
この程度ならswitch-caseで充分じゃないの?
Vistaで動くけど7では動きませんみたいなプログラムは何が原因でそういう状況になってるの?
>>884 >実行コスト的に冗長な点。=> impl.__call__を直接 _GetChインスタンスの__call__に代入可
def __call__(self): return self.impl()
を
__init__(self) の中で
self.__call__ = self.impl
するということでしょうか?
試したら動かなかった
バージョンによって違うのかな?
>>887 試してないけど、こうかな
assert callable(impl)
self.__call__ = impl.__call__
あと、特に理由がなければ、
この例のケースでは implをself.implとして保持しなくてもok
関数でよくね?
>>888 それでも駄目でした orz
TypeError: '_Getch' object is not callable
そんなクソコードはほっとけよ
それでもだめなんです 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文字毎秒程度
pastebinとか使えよ厨房が。
>>894 * そのうち慣れる
* 端末(ドライバ)をrawモードに設定してあるので
Ctrl+CとかしてもSIGINTは発生せずそのままプログラムに渡る
man termios(VINTR, ISIG, raw mode)するかUNIXプログラミングの本を読むかぐぐる
* a += 1で我慢する
* 標準入力が端末であること前提なのにファイルとつなげばおかしくなる
* strは変数名に使わない。ろだも落とすの面倒だから特別な事情がなければ使わない
* Rubyもやっといて気にいったほうをどうぞ
>・str.len()じゃなくてlen(str)なのね 漏れもRubyからPythonに乗り換えたけど 最初に躓いたのがそこ
次に躓くのは ''.join 辺りと予想 FAQに載ってなかったかな
RubyとPythonは目指すところが同じなんだから 合併してしまえばいいのにね。 優秀な技術者が、同じような言語を作るために二つに 分かれてるのって、NTTが東と西に分かれてるのと 同じくらいもったいない。
R 合 優 分 同 ???
目指すところが同じなら合併などと言わず片方が消えればいい もちろんお前がAWOLに消えてくれ
ん?ネガティブなレス付いてんね。 人的資源は集中して使おうという話なんだが。 言語を開発できる優秀なプログラマは少ないのだから。
効率化を主張するなら、自分の主張が無駄にならないようなところで主張すべきではないか。
あなたのまちをいろどるほっとステーション
それはファミリーマート
おまえもスカイブルーに染め上げてやる
お前が優秀になればいいんだよマヌケ
>>894 端末、標準入力に関しては、Pythonっていうか
UNIXプログラミングの知識の問題だよ。
>言語を開発できる優秀なプログラマは少ないのだから。 少ない訳じゃない 言語を作る需要がそんなにない みんながみんなオレオレ言語作ったらそれこそバベルII世
連日山ほど新しい言語が出てきては消えていってるよ
もうアルファベット一覧作れるんじゃないか?
Googleの悪口はやめろ
QWYZあたりを拡充したら良いかも
コブラ(それはまぎれもなくヤツさ)
ニシキヘビ vs コブラ
ニシキヘビ「オンリーメモリー・アフターユー・・・!(膝から崩れ落ちる)」
919 :
892 :2012/07/05(木) 09:29:13.11
>>893 CPython-2.5.1/Linux/zsh端末上で動作確認出来たよ。バージョンは問題ないみたい
原因究明は、流石にこれ以上は、環境/コード/どのように実行したか等の情報がないと解からないです。
環境 CPython-2.5.1/Windows7 コード あなたのアップしたもの どのように実行 cmd.exe から getch.py
エラーメッセージも書け
tracebackを全部貼れ
>>915 Booにも似てるね
自分はこの手のマイナー(?)言語に手を出して、
ことごとく開発終了になってるので、眺めるだけにしておこう。。
>>920 >892 のコードは _Getch クラスのみなので、これだけを実行しても意味ないよ、
>875 のリンク先の例のコードにマージして実行するのが前提なので、
自分で実行した 完全なコード をpastebin等に貼り付けてみて。
そもそも元のコード自体はエラー無く実行できてる?
>>> 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
>>> 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 事故解決しました。スマソてへぺろ
>>> 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 継承してたの忘れてた。てへぺろ
みんなのぱいちんくん、みんなの
object書いたのと書いてないのって何が違うの? 今はobject推奨だよね?
Python3 だと object 書かなくても object 継承したことになるね
__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
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)。
どうでもいいです…
記号なしにすると速いんだけどな
ぼくはいりましぇんぇん
平均3文字程度
win用(msvcrt.getch利用。中断時にも結果表示するようにしてみた)
ttp://pastebin.com/BVC1KeR6 自分も記号が苦手。日本語のキーボード配列使ってるときはダブル・クォートでラグ
フォーム見直して、右シフト・キーを全然使ってないことに気がついた。
普段、doc-string以外の文字列リテラルは、
なるべく一箇所にまとめるか外部リソースに追い出すようなコーディング・スタイルを取ってるんだけど、
ここにきてタイピング・フォームの影響が懸念。
TERMINATE = frozenset("\x1b\x03\x04") でいいよ。
エスケープ? \が出るととにかく目が滑るのを直したい…
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) こんなエラーでるんですが原因分かる方いたら教えていただけませんか
resultの一文字目は?
946 :
デフォルトの名無しさん :2012/07/08(日) 21:22:33.57
resultの一文字目はjです
948 :
デフォルトの名無しさん :2012/07/08(日) 21:52:21.13
こんな便利なものがあるんですね…ありがとうございます! データの方に問題がありそうでした FiickrAPIで取得したのでデータには問題がないものと思って油断していました 標準でもあるんですね 2.7入れてるんで使ってみます!
949 :
デフォルトの名無しさん :2012/07/08(日) 21:58:22.62
>>948 です
問題解決しました
データの取得時のステータス指定が一つ足りていなかったのが原因で取得したデータが正しい形式にならなかったようです
しょうもない原因ですみません…
>>947 さんありがとうございました
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
キタワァ
953 :
デフォルトの名無しさん :2012/07/10(火) 10:30:43.45
うめようず
嫌ズら
おっぱい好きの集まりと聞いて
残りをおっぱいについて語れ
for i in range(0,9999,1): print u'おっ' if i % 1 else u'ぱい'
エロライブラリ、おっpy。
OcamlでPython処理系を実装…!!!
我々にはPyPiがある
ここからでも埋める
おっぱいに埋める
OPy - Oklahoma Python User Group
b = ''' 44CA44CAIOKUjOKUgOKUkArjgIDjgIAg4pSC4peP 4pSCCuOAgOOAgCDilJTilIDilKQK44CA44CA44CA XyDjgIAg4oipCuOAgOOAgCgg776f4oiA776fKeW9 oQrilIzilIDilKziioLlvaEK4pSC4peP4pSC44CA 44GK44Gj44Gx44GE77yB44GK44Gj44Gx44GE77yB CuKUlOKUgOKUmA== ''' print base64.b64decode(b).decode('utf-8')
ツマンネ
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'
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) # 収束しない
>>967 出来ました。
ありがとうございました。
馬鹿には無理
971 :
デフォルトの名無しさん :2012/07/12(木) 20:21:12.12
なんだよ。 結局無理なのかよ。
うめようず
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
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)
>>977 unzip-iconvパッチとか使えばいいじゃん。
つうかUbuntuのunzipってiconvパッチあたってんじゃん。
windows使ってる漏れは勝ち組
Python2使ってる漏れは勝ち組 with zipfile.ZipFile(sys.argv[1], "r") as zipf: for name in zipf.namelist(): print name.decode('cp932').encode('utf8')
>981 どういう意味ですか?
>>984 windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。
>>978 にpatch送った。
なんだかんだで半日もかかってしまった。。。
>>985 >
>>984 >windowsじゃ拡張子tar.gzを解凍できないでしょ?ってこと。
へ?
7zでふつうに解凍できるよ。
>>983 Pythonで作れるんだ。
>>983 本屋で立ち読みしたけど、SL4A と Python for Android のインストールの仕方を書いた本だったよ。
糞本確定
うめようず
嫌ズら
WSGIウェブプログラミング [単行本] 桑井 博之 (著) WSGIの本として買うと失望しそう 2012/6/18 By オタコン 形式:単行本 はっきり言うと、どのレイヤーに向けた本なのかわからないです。 肝心のWSGIの説明もWEB上で収集できる情報以下です。 gihyo.jpの特集に完全に負けています。 この本を読んでwsgi使ったWEBアプリケーションを作ろうと思うと確実にお金の無駄です。 あと、wsgiの説明なのでWEBアプリケーション作るためにテンプレートエンジン を使うのはわかりますが なぜCheetahとかいう落ち目のモジュールを選んだのでしょう? もっと使いやすいJinja2などで良かったのではないでしょうか? もう一つ、SQLiteは無いと思う。せめて、MySQLかPostgreSQL使ってアプリケー ション構築するサンプルコードにして欲しかったです。
カットシステムの本を買うなということだ。 こういうのって編集者に依るの? オライリーの動物本とかさ、編集者が手直ししているの? 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
1000取り合戦開始!
998!
999
1000
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。