Pythonのお勉強 Part3 ..
[2ch|▼Menu]
296:デフォルトの名無しさん
09/07/31 17:29:14
>>294
サーバが止まりまくりのDjangoなんて使えたって意味ないだろ

297:デフォルトの名無しさん
09/07/31 18:04:01
ジャンゴが止まりまくるってどんな環境よ

298:デフォルトの名無しさん
09/07/31 18:23:07
デベロップ用のサーバで公開したのかなw

299:デフォルトの名無しさん
09/07/31 22:28:32
URLリンク(djangoproject.jp)

どうして止まるんだろう...。

300:デフォルトの名無しさん
09/07/31 22:34:20
>>299
デベロップ用のサーバで公開したのかなw

301:デフォルトの名無しさん
09/07/31 22:46:12
マルチコアのCPUで並列実行させたいんですが、
Pythonのthreadやthreadingモジュールだと
実際には同時平行で複数のスレッドが実行されないって本当ですか?
並列化するのにお勧めのモジュールってありませんか?


302:デフォルトの名無しさん
09/07/31 23:03:13
>>301
Wikipedia項目リンク
URLリンク(docs.python.org)

303:デフォルトの名無しさん
09/08/01 01:35:18
>>302
すみません、わかりません。答えを教えてください。

304:デフォルトの名無しさん
09/08/01 02:47:30
>>303
Wikipedia項目リンク

305:デフォルトの名無しさん
09/08/01 06:49:35
GILが問題になるようなプログラムにPythonは向いてないよ

306:デフォルトの名無しさん
09/08/01 07:33:59
>>301
multiprocessing モジュールがお勧め。並列性のある問題を解くのに使えば
複数プロセスが同時に並列実行されてちゃんと台数効果が出ます。

307:デフォルトの名無しさん
09/08/01 07:42:54
>>299
まだ止まってんのかwwwwww

308:デフォルトの名無しさん
09/08/01 09:01:10
僕たちサーバ管理よりイベントが大好きなんです
アッーー!

309:デフォルトの名無しさん
09/08/01 10:37:07
>>302>>306
ありがとうございます。
GILがあって今一つ並列実行しにくいのでプロセスをフォークするんですね。
スレッドのタスクが重ければフォークのコストは大したことないですが、
リソースの共有が大変になるんでしょうか。
Core i7で8コアもあるのでそろそろ並列化をまじめに考えなくちゃと思っているので、とりあえずいじってみます。
それから>>303は私じゃないです。


310:デフォルトの名無しさん
09/08/01 11:04:31
ドジャンゴもマルチプロセス使えば落ちないんじゃねえのwwwwww

311:デフォルトの名無しさん
09/08/01 12:08:53
件のページはdjangoじゃなくてサーバ自体が落ちてんだろ
煽ってるバカ何なの

312:デフォルトの名無しさん
09/08/01 13:42:23
Djangoがサーバを落としたの???
なんたるマルウエア!!

313:デフォルトの名無しさん
09/08/01 14:34:43
またruby厨の荒らしっすか

314:デフォルトの名無しさん
09/08/01 14:47:37
>>311
>件のページはdjangoじゃなくてサーバ自体が落ちてんだろ

Apacheは応答してるっぽいから、サーバ自体が落ちているという事はないのでは?
Dangoの人は適当で信用ならない


315:デフォルトの名無しさん
09/08/01 16:28:33
djangoはジャンゴって読むんじゃないの?
昔の有名なギタリストにいるよね

316:デフォルトの名無しさん
09/08/01 16:35:36
アンガールズ「ハイ! ジャンゴジャンゴジャンゴジャンゴ」

317:デフォルトの名無しさん
09/08/01 17:30:33
そう、djangoは"ジャンゴ"と読みます
一方日本でdjangoを使っている人は"ドジャンゴ"や"ダンジョー"と呼ばれています

318:デフォルトの名無しさん
09/08/01 19:33:53
そう、djangoは"ジャンゴ"と読みます
一方日本でdjangoを使っている人は"ドジャンゴ"や"ダンジョー"とruby厨は呼びます

319:デフォルトの名無しさん
09/08/02 02:03:59
日本語でおk

320:デフォルトの名無しさん
09/08/02 02:11:46
民間人に送られる最高の爵位・ダショー。

ちなみに我らがPython神のGuido van Rossumは、BDFLと呼ばれる。

321:デフォルトの名無しさん
09/08/02 03:53:30
Djangoは1.1出てたのか・・・

322:デフォルトの名無しさん
09/08/02 08:35:11
318はイタいが、320はもっとイタいな(wwWwwWwwwwWwwWWww

323:デフォルトの名無しさん
09/08/02 10:52:39
ジャンゴといったらジャンゴ・フェット。

324:デフォルトの名無しさん
09/08/02 13:03:55
pass

325:デフォルトの名無しさん
09/08/02 16:25:09
ジャンゴジャンジャンゴジャンゴ

326:デフォルトの名無しさん
09/08/03 04:07:02
pat = re.compile(r'.*¥.html$')
としたときに、patからもとの文字列('.*¥¥.html$')を取り出すことはできますか。
よろしくおねがいします。

327:デフォルトの名無しさん
09/08/03 04:14:09
pat.pattern

328:デフォルトの名無しさん
09/08/03 04:47:12
>>327
ありがとうございました。
ところで dir(pat) としても pattern というのは出てこないのですが、どういうことでしょうか。

329:デフォルトの名無しさん
09/08/03 05:12:00
URLリンク(djangoproject.jp)

復活したみたい

330:デフォルトの名無しさん
09/08/03 08:26:53
>>328
(´・ω・`)知らんがな

331:デフォルトの名無しさん
09/08/03 09:44:20
>>329
(´・ω・`)知らんがな

332:デフォルトの名無しさん
09/08/03 10:48:23
静的htmlに必要最低限のcgiだけつけたいのだけど
どのフレームワークがお勧めよ

333:デフォルトの名無しさん
09/08/03 14:22:49
CGIHTTPServer

334:デフォルトの名無しさん
09/08/03 14:23:59
>>332
民間人に送られる最高の爵位・ダショー。

335:デフォルトの名無しさん
09/08/03 15:25:06
ダショー >>> ダンジョー >>> ドジャンゴの順で偉いのだが
ダショーレベルでも鯖運営に支障をきたすくらいの低スキル

336:デフォルトの名無しさん
09/08/03 18:29:06
意味わからん

ジャンゴの話題になるとどこからともなく湧いてくるな

337:デフォルトの名無しさん
09/08/03 19:31:03
>>328
不思議だね。

338:デフォルトの名無しさん
09/08/03 20:04:54
>>328
help(re)
でも出てこない

339:デフォルトの名無しさん
09/08/03 20:09:03
>>328
URLリンク(www.python.jp)
ここの一番下には書いてある

340:デフォルトの名無しさん
09/08/03 21:26:11
_sre.cのpattern_getattrが処理してるみたい

341:デフォルトの名無しさん
09/08/03 22:13:09
URLリンク(www.kent-web.com)
コメントを取得するコードを参考にして、拡張子を.cgiで実行しましたがスクリプトエラーになってしまいます。
どこが問題でしょうか?

342:デフォルトの名無しさん
09/08/03 22:19:23
>>341
人に尋ねる前に自分でデバッグしてご覧。
Webにアップするスクリプトも最初はローカルで動かして様子を見るものなんだよ。

343:デフォルトの名無しさん
09/08/03 22:22:02
>>342
ありがとうございます。
出直してきます。

344:デフォルトの名無しさん
09/08/03 22:24:23
>>341
そのコードのコピー元と思われるブログには続きがある
URLリンク(d.hatena.ne.jp)

345:デフォルトの名無しさん
09/08/05 18:45:37
def hello():
 """コメント"""
 print "hello"

Python では上のように関数定義の最初の文字列リテラルが関数のドキュメントになるそうですが、
これの呼び名ってありますか。
「関数コメント」とか「関数ドキュメント」で通じるでしょうか。

346:デフォルトの名無しさん
09/08/05 18:57:12
>>345
ほい。
URLリンク(www.python.jp)

347:デフォルトの名無しさん
09/08/05 18:59:31
ドキュメンテーション文字列

348:デフォルトの名無しさん
09/08/05 19:14:09
AndroidでPython使えるんだね。
一気にGoogleケータイ欲しくなった・・・
三月に変えたばかりなんだが。

349:デフォルトの名無しさん
09/08/06 03:39:03
>>348
ほほう。といっても何に使えばいいのか思い付かない俺ww

350:デフォルトの名無しさん
09/08/06 15:06:43
Launchpadがdojangoじゃなくてzopeなのは何か理由があるの?

351:デフォルトの名無しさん
09/08/07 13:19:04
作り始めた時期の問題じゃないかな。
Launchpad作り始めた時は、まだDjangoがマイナーだったとか。想像だけど。

352:デフォルトの名無しさん
09/08/08 08:11:08
www.python.org つながんないんだけど、なんかあった?
Python ダウンロードしたいんだけど、どこかミラーない?
ftp.python.jp は 2.5 までしかないみたいだし。

353:デフォルトの名無しさん
09/08/08 09:00:56
>>352
URLリンク(sunsite.informatik.rwth-aachen.de)
とかどう?
URLリンク(www.freebsd.org)
で見つけた。

354:352
09/08/08 09:47:13
>>353
助かりました。ありがとうございます。

355:デフォルトの名無しさん
09/08/08 19:41:22
BeautifulSoupって死んだんか・・・


356:デフォルトの名無しさん
09/08/08 21:44:16
おれも>>352とまったく同じ状況でした。
><>353 感謝ですっ

357:353
09/08/08 22:44:09
>>354
>>356
いえいえ。感謝はミラーを提供してくれている方たちにどうぞ。

358:デフォルトの名無しさん
09/08/09 01:40:12
>>355
lxmlでどうにか

359:デフォルトの名無しさん
09/08/09 02:03:21
>>355
何の話だw

360:デフォルトの名無しさん
09/08/09 14:53:36
>>359
知らないのか?
Python3.0でSGMLParserがなくなったんでBeautifulSoup3.1.0以降では
SGMLParserの代わりにHTMLParserを使うようになったんで、
これまでパースできたちょっと崩れたHTMLがパースできなくなってる。
開発者は、もうツマンネーからこれ以上の対応をする気はねーよ、らしい。

URLリンク(www.crummy.com)


361:デフォルトの名無しさん
09/08/09 15:20:46
最後のほう生々しいこと書いてあるね

BS使ってるモジュールがどれほどあるのか知らないけど
Py3.0への移行の支障になったりして

362:デフォルトの名無しさん
09/08/09 15:47:52
3.Xへの移行は年単位でかかるだろ…
Zopeなんてどんだけかかるんだか

363:デフォルトの名無しさん
09/08/09 17:07:26
Pythonで万人に分かりやすいスマートなコメント文を書きたいんだが、どう書いたらいいだろうか。javadocのような指標みたいなの無い?

364:デフォルトの名無しさん
09/08/09 17:54:18
>>363
PEP 257

365:デフォルトの名無しさん
09/08/09 18:11:09
doxygenが喰えるように書く

366:デフォルトの名無しさん
09/08/09 18:40:44
ううむ、BSは巷のちょっと
不作法なHTMLをパースさせるのに
役立っていたんだがのう

elemental treeって今のバージョンは
その辺耐性あるのかしら。

367:デフォルトの名無しさん
09/08/09 19:13:04
ElementTreeはXMLパーサですよ

368:デフォルトの名無しさん
09/08/10 07:49:28
>ちょっと崩れたHTMLがパースできなく

それはツマンネーな

369:デフォルトの名無しさん
09/08/10 09:26:40
まあ、HTMLのパーザなんて、泥縄の塊だしな。

370:デフォルトの名無しさん
09/08/10 09:50:49
スレリンク(tech板)
ここでopy2on(別名おっぱい)というのをやってます

371:デフォルトの名無しさん
09/08/11 00:38:42
Pythonのお勉強をしようと思って
2chに書き込むスクリプトをPython 3.0.1(Windowsです)で書いてみたのですが
urllib.parse.urlencode()でShift-JISの文字列を
期待通りにURLエンコード(パーセントエンコーディング)できません。
{"s":"あ"}をurlencode()して"s=%82%A0"がほしいのですが
普通にやると下のようになります。。
何か良い解決策はないでしょうか?

>>> import urllib.parse
>>> s = "あ".encode("shift-jis")
>>> print(urllib.parse.urlencode({"s":s}))
s=b%27%5Cx82%5Cxa0%27

いろいろ試してみたところ、quote()やquote_plus()では
期待通りの値(%82%A0)が返ってきましたが
urlencode()は中でdict内のstr以外の値にstr()をあててquote_plus()しているので
期待通りの値が返ってこないことがわかりました。
…2.6とかにしたほうがいいでしょうか><

372:デフォルトの名無しさん
09/08/11 00:54:04
なんかバグっぽいな・・・
報告されてた URLリンク(bugs.python.org)

373:371
09/08/11 02:11:52
>>372
ありがとうございます!バグですか。。
3.0.1での解決策って
必要なところだけquote_plus()して自分で文字列連結するくらいですかね?

374:デフォルトの名無しさん
09/08/11 04:25:55
ですね



375:デフォルトの名無しさん
09/08/11 06:32:45
import _socket
from _socket import *
(socket.py 45)

こういうふうに一つのモジュールで二つの方法でインポートするのは
どういう意図があってのことなんでしょうか?


376:デフォルトの名無しさん
09/08/11 06:56:37
_socket の名前空間をそのまま使いたいとき
普通はこういうこと考えなくていいよ

377:デフォルトの名無しさん
09/08/11 08:17:34
初心者なら、from は使うべきではないと思う俺だぜ

自分が何やっているのかわからなくなるぜ

378:デフォルトの名無しさん
09/08/11 09:53:52
言いたい事は理解できるが、無闇に記述量を増やすとLL使う意義そのものが怪しくならんか?

379:デフォルトの名無しさん
09/08/11 10:06:27
とはいえ名前空間の中がごちゃごちゃしてると後で困る
from/importの使い分けはいざ説明しようとなると面倒だな…

380:デフォルトの名無しさん
09/08/11 10:19:43
>>378
記述を減らす分には置換を掛ければ一発さ。
でも記述をフル識別子化するのはそうもいかない。

381:デフォルトの名無しさん
09/08/11 12:30:41
>379
それもわかる。記述量・速度と可読性のトレードオフなんだよね。

>380
タイプ量が多い事自体がまず問題じゃね?

IDEの入力支援がある前提なら、問答無用でfrom禁止でも良いと思うけど。


382:371
09/08/11 12:42:58
>>374
ですかー
自分でquote_plus()してやるようにします。
ありがとうございました!

383:デフォルトの名無しさん
09/08/11 15:14:04
>>7
Я шестьдесят лет.

384:デフォルトの名無しさん
09/08/11 21:52:40
っas

385:デフォルトの名無しさん
09/08/11 22:09:10
臨機応変に対応できてこそパイソニアンだ!
Javaみたいなのはうんざりだよ。

386:デフォルトの名無しさん
09/08/11 22:10:15
パイソニアンとかパイソニスタとかどれも今ひとつなんだけど
なんかいいのないの

387:デフォルトの名無しさん
09/08/11 22:45:37
蛇遣い

388:デフォルトの名無しさん
09/08/11 22:55:07
パイソンマン
パイソナー
パイン

389:デフォルトの名無しさん
09/08/11 23:17:57
「パイソン」さんが作ったんだから、元々人の名前なんだけどね。

390:デフォルトの名無しさん
09/08/11 23:51:01
>>388
×パイソンマン
○パイソンパーソン

どこかの怖いヒスおばさんに怒られるぉw

391:デフォルトの名無しさん
09/08/12 05:57:45
おpy星人でいいお

392:デフォルトの名無しさん
09/08/12 07:20:28
>>387
すごく、厨二くさいです…

393:デフォルトの名無しさん
09/08/12 10:10:33
アボリションオブルビー

394:デフォルトの名無しさん
09/08/12 10:14:22
へびんちゅ

395:デフォルトの名無しさん
09/08/12 10:55:57
>>378

1)
import longlonglongnamemodule
longlonglongnamemodule.hogehoge()

2)
from longlonglongnamemodule import hoge
hoge()

3)
import longlonglongnamemodule as m
m.hoge()




396:388
09/08/12 12:25:50
>>390
それ一瞬考えたけど、
バイキンマンがOKなんだから
乙パイソンより問題ないだろw

397:デフォルトの名無しさん
09/08/12 12:35:31
バイバイキン

398:デフォルトの名無しさん
09/08/12 12:59:45
パイパイソン

399:デフォルトの名無しさん
09/08/12 13:19:59
タオパイパイ

400:デフォルトの名無しさん
09/08/12 15:40:12
>> hoge(5, 2)
3
>> hoge(-5, 3)
-2

こういう関数ってありますか?

401:デフォルトの名無しさん
09/08/12 16:23:03
hogeじゃわからんw

402:デフォルトの名無しさん
09/08/12 16:44:16
釣られるなよ

403:デフォルトの名無しさん
09/08/12 16:57:04
hoge = lambda x,y:(abs(x) - y) * x / abs(x)


404:デフォルトの名無しさん
09/08/12 17:29:04
hage

405:デフォルトの名無しさん
09/08/12 17:32:47
中華なパイパイ

406:デフォルトの名無しさん
09/08/12 17:35:36
hoge = lambda x,y: - (y * x / abs(x))

407:デフォルトの名無しさん
09/08/12 17:36:52
hoge = lambda x,y: x - (y * x / abs(x))

408:デフォルトの名無しさん
09/08/12 17:58:53
hoge = lambda x,y: 3 if x==5 and y==2 else -2

409:デフォルトの名無しさん
09/08/12 23:29:10
>>400
ゆとりだなあ

410:デフォルトの名無しさん
09/08/13 00:31:35
その関数で一体何がしたいんだろう

411:デフォルトの名無しさん
09/08/13 09:57:16
草民が沸いてるね

412:デフォルトの名無しさん
09/08/13 10:06:21
床でも天井でもない

413:デフォルトの名無しさん
09/08/13 15:57:55
URLリンク(www.moongift.jp)

即日ってすでに炎上してるっぽいんだが
こういうのに手を出したがるおめでたいヤツって今時居るのかね

414:デフォルトの名無しさん
09/08/14 09:35:04
>現在、既に動いている案件に対する人員追加の募集になります。渋谷、恵比寿周辺で活動されている技術者の方、ご応募お待ちしています!応募は

Death march

415:デフォルトの名無しさん
09/08/14 21:42:05
>>413
naze django wo tsukattanoni enjou surunokana ?

416:デフォルトの名無しさん
09/08/15 00:42:42
>>415
black dakara

417:デフォルトの名無しさん
09/08/15 01:41:50
即日だからってデスマって言ってたら
世の中デスマだらけだな
いや、事実デスマだらけなのか・・・

418:デフォルトの名無しさん
09/08/15 02:52:34
手を出してみる

419:デフォルトの名無しさん
09/08/15 07:11:30
>>418
報告ヨロ

420:デフォルトの名無しさん
09/08/15 08:00:54
Open JDK見てたら、timsortってのがコミットされてた。
どっかで見たような気がしたから調べたら、Tim Petersのアルゴリズムだった。

意外とすごいぞPython

421:デフォルトの名無しさん
09/08/15 09:03:18
>>418
仕事のない駄目プログラマ乙www

422:デフォルトの名無しさん
09/08/15 09:08:09
TDN駄目プログラマオッー!!!

423:デフォルトの名無しさん
09/08/15 09:10:03
Web+DB Pressとか未だに恥ずかしくてレジに持って行けない

424:デフォルトの名無しさん
09/08/15 09:17:06
没落

425:デフォルトの名無しさん
09/08/15 10:30:46
>>418
キミはなにやってもムリだと思う。
コンビニのバイトとかもムリ。肉体労働はもっとムリ。

426:デフォルトの名無しさん
09/08/15 10:33:35
充実した人生を送っている者は、みずからを世界の一部と認識する。

427:デフォルトの名無しさん
09/08/15 11:21:38
送れてない者は自分より1mmでも惨めなものを必死こいて探す

428:デフォルトの名無しさん
09/08/15 11:37:00
そもそもジャンゴを業務でやってたって人間自体がほとんどいないんじゃw
そんなに使われてるん? 日本で。

429:デフォルトの名無しさん
09/08/15 11:58:17
ドジャンゴを使っている人々

- ブラック企業
- 低脳開発者(たいていはもとPHP使い)
- ITドカタ

厨房 / ブラック御用達フレームワークということですかね

430:デフォルトの名無しさん
09/08/15 12:16:46
おった!

431:デフォルトの名無しさん
09/08/15 12:56:08
みんな幸せになれると良いねえ

432:デフォルトの名無しさん
09/08/15 13:08:05
>>429
-サーバが落ちていることより角電池が気になるひとびと

これ追加。

433:デフォルトの名無しさん
09/08/15 13:18:57
直列四本はDanger! High Voltageだからやめろ

434:デフォルトの名無しさん
09/08/15 19:24:18
僕はほんたうにつらいなあ

435:デフォルトの名無しさん
09/08/16 08:19:01
>>429
つまりGoogleはブラック、と

436:デフォルトの名無しさん
09/08/16 10:42:48
>>435
揚げ足とれてない

437:デフォルトの名無しさん
09/08/16 11:44:58
ググルは黒だもんね

438:デフォルトの名無しさん
09/08/16 14:33:21
どうやら435はブラック
逃げたりバックれたりするレベル

439:デフォルトの名無しさん
09/08/16 16:22:35
py2exeをLinux上で使ってWindowsでも動くようにしたいんですが可能ですか?
ググっても情報がないので何か情報をお願いします

440:デフォルトの名無しさん
09/08/16 16:29:07
>>413
>こういうのに手を出したがるおめでたいヤツって今時居るのかね

ストックオプションという言葉に釣られる人が未だにいるくらいだから、居るんじゃね?

441:デフォルトの名無しさん
09/08/16 16:39:56
>>439
バイナリの実行プログラムをLinuxでもWindowsでも
実行可能にするのがどれだけ大変なことか考えたことはあるのか?

ただし、Linux上でWindows上で実行可能なexeを作る「だけ」なら環境を構築してあげれば可能かもしれない。
当然Linux上ではそのexeは動作しないが。

442:デフォルトの名無しさん
09/08/16 17:56:00
>>435はグーグルだろ

443:デフォルトの名無しさん
09/08/16 19:11:44
>>441
申し訳ない
どうやら私の書き方が悪かったみたいですね
書き直します

Linux上で作ったソフトをLinux上のpy2exeでバイナリ作成して
その作成したバイナリをWindowsで動かすことは可能ですか?


とりあえず今知りたいことは

・そもそもLinux上でpy2exeは利用可能なのか?
・それはWineなどを経由しなくても可能なのか?
・Linuxで作成が可能ならそういった情報が載ったサイトなどを知りたい


よろしくお願いします

444:デフォルトの名無しさん
09/08/16 19:18:29
まだDebianにはPython2.6もPython3のパッケージもない?


445:デフォルトの名無しさん
09/08/16 19:21:31
>>443 そもそもスクリプトでLinuxに依存するような機能を使ってたり、
Linuxに依存するようなことをやってたらどっちにしろ動かない。

446:デフォルトの名無しさん
09/08/16 19:21:37
クロスコンパイラは無いんじゃまい?

447:デフォルトの名無しさん
09/08/16 19:22:14
>>443
人の話を聞けよ。

>ただし、Linux上でWindows上で実行可能なexeを作る「だけ」なら環境を構築してあげれば可能かもしれない。
>当然Linux上ではそのexeは動作しないが。
って先に答えを書いてるじゃないか。

py2exeがやってることはpycをzipで固めて1exe化した
pythonインタプリタにくっつけているだけなので、やろうと思えば他のOS上でもできる。

448:デフォルトの名無しさん
09/08/16 19:29:05
>>444
・lenny
URLリンク(packages.debian.org)

・squeeze
URLリンク(packages.debian.org)

・sed
URLリンク(packages.debian.org)

・experimental
デフォルト
URLリンク(packages.debian.org)

etc...
URLリンク(packages.debian.org)
URLリンク(packages.debian.org)
URLリンク(packages.debian.org)

449:デフォルトの名無しさん
09/08/16 20:03:11
>>448
すんません、aptラインの書き方わかんないす・・・orz


450:デフォルトの名無しさん
09/08/16 20:08:25
>>449
experimentalパッケージでも入れると申すか!
悪いことは言わんまだ使うな

451:デフォルトの名無しさん
09/08/16 20:10:26
>>447
おまえも人の話聞けよ

452:デフォルトの名無しさん
09/08/16 20:31:47
GTKの人かw

453:デフォルトの名無しさん
09/08/17 13:26:19
>452

あ〜、なるほど
なんかもやもやしてたのがすっきりした!

454:デフォルトの名無しさん
09/08/17 17:01:57
cmake

455:デフォルトの名無しさん
09/08/17 17:28:58
numpy関連のバージョンをlinuxのデフォルトバージョンから手動で上げようとしたら
めんどくさすぎて死んだ
asdfみたいな簡単な仕組みはないの?


456:デフォルトの名無しさん
09/08/17 17:50:09
「make」と鬱と「負け」って読んじゃうんだよな

457:デフォルトの名無しさん
09/08/17 18:34:23
3.x 系列でも type(hoge) == types.DictType とかで
型を判定することができますか?

458:デフォルトの名無しさん
09/08/17 18:41:59
それってisinstanceじゃダメなの?

459:デフォルトの名無しさん
09/08/17 19:12:45
>>443
Linux上でPy2Exeは動かない

WineでWinのPython実行環境を構築すれば、
Python作ソフトをPy2ExeでExe化可能かもしれない
(やったことはないので確証は無い)


元よりWin上でPyhtonスクリプトをExe化する
ものだから(どこの説明でもそう書いて
あるのだが…)、WinでのPython実行環境が無いと
Exe化した際の不具合の特定が面倒だよ。


460:デフォルトの名無しさん
09/08/17 23:51:13
Pythonのオブジェクトインスペクト関数「see()」
URLリンク(coreblog.org)
URLリンク(inky.github.com)

高機能なdir()って感じでなかなかよさげ

461:デフォルトの名無しさん
09/08/18 00:45:58
>>459
XP (note) で作った exe が他の XP (note) では動くのに
XP (netbook) で動かなくて焦ったことはある

462:デフォルトの名無しさん
09/08/18 00:47:21
vista でも動かない orz

463:デフォルトの名無しさん
09/08/18 09:13:06
動かないというだけじゃなくて、そのときの症状を具体的に言うのが、
初心者を抜け出す第一歩だよ。
とりあえず、VC++ Runtime Library の 2005 か 2008 の再頒布可能パッケージを
インストールしてみな。

464:デフォルトの名無しさん
09/08/18 10:30:43
こんな話か?
URLリンク(d.hatena.ne.jp)

465:デフォルトの名無しさん
09/08/18 10:39:09
DLL地獄ようこそようこ

466:デフォルトの名無しさん
09/08/18 11:02:09
俺のアイドル天使はいずこに?

467:デフォルトの名無しさん
09/08/18 11:07:16
角電池とかよっきゅんとかここは相変わらずカオスなスレですね

468:デフォルトの名無しさん
09/08/18 16:23:58
イケメンハッカーも忘れないで!
アッー!

469:デフォルトの名無しさん
09/08/18 16:26:12
またruby厨降臨?

470:デフォルトの名無しさん
09/08/18 18:29:59
>>464のリンク見て不思議に思ったんだが
cx_FreezeはなんでVC++ランタイムライブラリを
配布できるんだ?
PSFライセンスの絡みであの手のライブラリは勝手に
配布しちゃいかんのじゃないの?
そのためPy2Exeはわざと除外してんだろう


471:デフォルトの名無しさん
09/08/18 19:01:57
>>468
顔写真貼ればもっと盛り上がるよ

472:デフォルトの名無しさん
09/08/18 20:56:04
pythonをsakuraエディタで使えるようにしたいんですが、
ちゃんとした色設定ファイルがありません。

原理的にどこかにあると思うんですけど、
(IDLEと同じくらいの)
keyword(演算子、組み込み変数、組み込み関数、予約語等)をまとめたファイルって
どこかにないのでしょうか?

473:デフォルトの名無しさん
09/08/18 22:09:04
> 原理的にどこかにあると思うんですけど

「原理的」の意味が分からない
というかサクラエディタのスレで聞いた方がいいのでは?

474:デフォルトの名無しさん
09/08/18 22:16:06
import sys, os, itertools, keyword

def importable(name):
    try:
        __import__(name)
    except Exception:
        return False
    return True

def toplevel_modules(path):
    for root, dirs, files in os.walk(path):
        names = itertools.chain(dirs, (os.path.splitext(i)[0] for i in files))
        for name in names:
            if importable(name):
                yield name
        break

if __name__ == '__main__':
    words = set(keyword.kwlist)

    words.update(dir(__builtins__))
    for i in dir(__builtins__): words.update(dir(getattr(__builtins__, i)))

    stdout = sys.stdout
    for path in sys.path: words.update(i for i in toplevel_modules(path))
    sys.stdout = stdout

    for i in sorted(words): print i
自前で作ればいいんだよ

475:デフォルトの名無しさん
09/08/18 23:28:28
Python 3.1 で書き始めて
MySQLdbがPython 2.6どまりなことに気づいた・・
どうしよ
SQLite用に書いていたソフトを
MySQL用にしたいだけなんだけど
既に本体は Python 3.x にべったりで書いてる
死にたい

476:デフォルトの名無しさん
09/08/18 23:40:06
もしかしてpyodbcでなんとかしろと?
と思ったけど 3.x 系はリリースされてなかった
URLリンク(code.google.com)

477:デフォルトの名無しさん
09/08/18 23:42:02
シリーズ3作目はフラグ

478:デフォルトの名無しさん
09/08/19 00:10:02
MySQL の c ライブラリを直接呼べ

479:デフォルトの名無しさん
09/08/19 00:28:14
ctypes大作戦

480:デフォルトの名無しさん
09/08/19 08:31:36
ctypesっていいよね。


481:デフォルトの名無しさん
09/08/19 18:20:43
WebARENAのsuitexが「Python の最新バージョンに対応w」らしいのですが
実際にどのバージョンが入っているかご存知の方はいらっしゃいますか?

482:デフォルトの名無しさん
09/08/19 18:28:33
文字通り「Python の最新バージョンに対応w」なら 3.0 なんて有り得ん罠
良くて 2.4 と予想

483:デフォルトの名無しさん
09/08/19 19:20:42
3.1.1

484:デフォルトの名無しさん
09/08/19 19:21:14
>>482
言ってる事おかしくね?

485:デフォルトの名無しさん
09/08/19 22:16:30
>>480
#include <ctypes.h>
こうですか?わかりません><

486:デフォルトの名無しさん
09/08/19 22:27:30
3.x系列への移行はあんまり上手くいってないのか

487:472
09/08/20 05:43:09
>>474
どうもありがとう。ようやくできた。。

488:デフォルトの名無しさん
09/08/20 12:10:46
最新版にアップしてくれるのはありがたいんだけど
こんな風にころころ変えられるのも困るかも
URLリンク(php-sql-gdgd.jugem.jp)
URLリンク(php-sql-gdgd.jugem.jp)

489:デフォルトの名無しさん
09/08/20 12:31:43
>>488
これで3.0系にアップデートされたら阿鼻叫喚になるなw

490:デフォルトの名無しさん
09/08/20 13:01:44
>>481
ご存知の方はいらっしゃいますか?

491:デフォルトの名無しさん
09/08/20 22:08:58
「Python 3.1.1」リリース
スレリンク(pcnews板)

492:デフォルトの名無しさん
09/08/20 22:25:42
[ "a" for x in range (10)]

[ "a" ] * 10
は下の方が早い?

493:デフォルトの名無しさん
09/08/20 22:26:29
自分でベンチマークすればいいだろうが

494:デフォルトの名無しさん
09/08/20 22:29:33
下の方が10倍以上速かった

495:デフォルトの名無しさん
09/08/21 02:24:43
[]の中がImmutableだったら*のほうがいいってことかな

496:デフォルトの名無しさん
09/08/21 07:45:47
[ chr(ord('a') + x) for x in range (10) ]

[ "a" ] * 10
みたいな書き方できますか?

497:デフォルトの名無しさん
09/08/21 08:33:54
URLリンク(www.pyside.org)
pyqtは使わないほうがいいのか?

498:デフォルトの名無しさん
09/08/21 09:54:31
スレリンク(tech板)

499:デフォルトの名無しさん
09/08/21 11:07:03
ジェネレータの中でエラーが発生すると、
エラーメッセージ中のスタックトレースが
ジェネレータ呼び出しまでの部分しか出力されません。

ジェネレータの内部以降のスタックトレースも
出力されるようにするにはどうすればいいのでしょうか。

処理系はIronPythonです。

500:デフォルトの名無しさん
09/08/21 13:19:35
>>492
下は1つを参照してるんじゃないかな?

501:デフォルトの名無しさん
09/08/21 13:23:51
>>500
文字列はimmutableだから、ひとつのオブジェクトへの参照のリストになって問題なし。
実際、上のも (CPythonの実装では) 全部同一オブジェクトを参照するよ。

リストのリストを作りたいときは、
[[] for x in xrange(10)]
の方が良いね。

502:デフォルトの名無しさん
09/08/21 22:16:40
>>499
ジェネレータの内部で
try
except
print traceback

503:デフォルトの名無しさん
09/08/22 12:58:44
人生の敗北者はもうPython使っちゃだめですか?

504:デフォルトの名無しさん
09/08/22 15:12:30
>>502
どもども。
手元で追試してみたら、499で書いた制限がCPythonでもIronPythonでも発生しない。
(それぞれ標準コンソールでテスト)

実はPythonインタプリタはC#プログラムから自前で呼び出してるんだが、
そこの初期化なりトラップ法なりが間違っているような気がしてきた。

505:デフォルトの名無しさん
09/08/22 17:02:41
モジュールの先頭に """あれこれ""" とか
クラスの先頭に """のれそれ""" 書いてドキュメントとしています.
pydoc にかけるとそれらはただ単なる文字列として表示されるだけ
なんですが,なんかこう,定められたフォーマットとかあるんでしょうか?

それとは別にどっかで見たので __author__ とか __licence__ とか
設定してみたんですが,pydoc はそういうのはガン無視らしいです.

いままで覚書をコメント文で書いていたんですが,
ドキュメントのこともそろそろちゃんと考えないと
自分的に破たんする(先月の自分は自分じゃない)とおもって
Python使いの方はどうやってるのかと.

506:デフォルトの名無しさん
09/08/22 17:11:24
>>505
EpydocとかPydoctorとか調べてみて。

507:デフォルトの名無しさん
09/08/22 17:39:33
公開する気がないんならautherとかlicenceとかいらんような気もするけど
このあたりを参考にして書けばいいんじゃないの?
URLリンク(www.python.jp)

508:365
09/08/22 19:09:34


509:デフォルトの名無しさん
09/08/22 20:43:56
なんでpythonってlist.rindex()ないの?

510:デフォルトの名無しさん
09/08/22 21:18:16
需要が無いんだろ。

rangeのようにパラメータの与え方で
逆に動くかとも思って試したが出来なかった。

ソース(Ver2.6,Ver3.1)を見るとこうなってる。
 for (i = start; i < stop && i < Py_SIZE(self); i++) {

start>stopでデクリメントされればな〜とでも
MLに投げればそのうち実装されるんじゃねw

511:デフォルトの名無しさん
09/08/22 21:48:01
一連の処理の開始から,要所要所までにかかる時間を
できれば高精度で(1/100秒くらいで)計測したいと思っています.
datetime を使って現在時刻を取得するのではとても精度が
悪いのですが,Pythonの中だけで完結できる方法としては
ほかにどのような方法があるでしょうか?

timeit は上のような用途には適してないと思います.
ある関数内での処理時間を計測するには使えると思いますが,
複数のチェックポイントで次々とというのには不向きかと

512:デフォルトの名無しさん
09/08/22 21:55:11
どうしてdatetimeが出てきたのかよくわからないのだけれども
time.time()かtime.clock()じゃ不十分なのかな

513:デフォルトの名無しさん
09/08/22 22:17:56
いやぁ,単純に datetime.datetime.now() で得たオブジェクトなら
そのまま print しても見やすくフォーマットしてくれるなぁ,と.
で,datetime.datetime.now() でも十分な精度でした.

テストした環境がVMで,しかもその上で動かしてるLinuxカーネルの
タイマ割り込みの周期が1000回/秒だったせいで時計がずれまくってた
だけだった.

つーわけで俺のかんちguyでした

514:デフォルトの名無しさん
09/08/22 22:33:33
作ったスクリプトが遅いなぁと上の方法で計測してみたところ,
Pythonであれこれimportしているせいか
全ての import が終わるまで10秒くらいかかってます.
で,そのあとの処理はさくさくと.
bogomips が500を切るNASでやってるのが悪いのですが,
import を早く済ませるテクニックとかあるんでしょうか.
そりゃ絶対的に必要な時間はしかたないですが・・・
ちゃんと pyc もできてるし,打つ手はないかなぁ

515:デフォルトの名無しさん
09/08/22 23:07:16
importのコストのうち、pycで削減できるのはコンパイル時間のみ。
10秒もかかるってことは、どれかのモジュールのグローバルに重い処理があるんじゃない?

516:デフォルトの名無しさん
09/08/23 00:46:19
>>514
ある

517:デフォルトの名無しさん
09/08/23 02:47:03
>>514
テストした環境がVM?

518:デフォルトの名無しさん
09/08/23 11:09:27
(´・ω・`) God knows

519:デフォルトの名無しさん
09/08/24 02:12:48
質問です。
8時間悩んだバグが単なる変数の再初期化のし忘れでした。
このやりきれない気持ちをどうすればよいですか。

520:デフォルトの名無しさん
09/08/24 02:26:18
>>519
自動テストを書く。

521:デフォルトの名無しさん
09/08/24 02:52:14
再初期化をする必要がないスコープで書く方法を学ぶ

522:デフォルトの名無しさん
09/08/24 06:20:03
   ∧∧
  (´・ω・)  おやすみ・・・
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

523:デフォルトの名無しさん
09/08/24 08:54:40
   ∧∧
  (´・ω・)  おはヨーグルト!
  _| ⊃/(___
/ └-(____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄

524:デフォルトの名無しさん
09/08/24 09:28:29
>>519
変数名の使い回しなんて最悪だ

525:デフォルトの名無しさん
09/08/24 10:30:42
おまえら発火損逝った?

526:デフォルトの名無しさん
09/08/24 11:27:27
はっかそんいった?

527:デフォルトの名無しさん
09/08/24 14:20:39
同じモジュールでも、複数のファイルからimportするとその分だけメモリ消費しますか?
from hoge import *だとそのファイルの物になって、複数ファイルでfromするとメモリ消費しますか?

528:デフォルトの名無しさん
09/08/24 14:29:54
>>527
消費しない。
あるモジュールがはじめてimportされるとき、モジュールオブジェクトが作られて、
sys.modulesに保存される。

#a.py
print 'hello, I'm a'

#b.py
print "hello"
import a
a.foo = 'bar'
import c

#c.py
import a
print 'hello, I'm c'
print a.foo

$python b.py

してみて。
次に、 c の import a を、 import sys; a = sys.modules['a'] で置き換えてみて。

529:デフォルトの名無しさん
09/08/24 16:32:27
白化村征かなかったのか。駄目だなあ。

530:デフォルトの名無しさん
09/08/24 18:11:11
予想してみたけど分りません(>_<)

薄荷無羊駝(シソ科ハッカ属)、咲かなかったのか。
白化村(色素が抜けて全身真っ白の人しかいない伝説の村)、まさか無かったのか。


531:デフォルトの名無しさん
09/08/24 18:25:14
ハッカービレッジとかそんなのか?知らんけど

532:デフォルトの名無しさん
09/08/24 22:23:57
GAEあほだろ

533:デフォルトの名無しさん
09/08/24 22:46:28
3.1.1で大分マシになったようだが、まだまだ遅いな。
URLリンク(www.gtsystem.eu)

534:デフォルトの名無しさん
09/08/25 08:52:01
>>526
URLリンク(image.blog.livedoor.jp)

こんな風だった

535:デフォルトの名無しさん
09/08/25 11:20:32
>>534
アンチ自民キモイな。

536:デフォルトの名無しさん
09/08/25 15:16:56
つまらない質問で悪いんだが、
タプル同士をベクトルみたいに足し算するのはどうやるの?
ab = (1, 2)
ac = (3, 4)

abc = (ab[0]+ac[0], ab[1]+ac[1])

537:デフォルトの名無しさん
09/08/25 15:25:34
map(sum,zip(ab,ac))

538:デフォルトの名無しさん
09/08/25 15:51:31
numpy

539:デフォルトの名無しさん
09/08/25 15:53:23
タプルはベクトルでも行列でもねーぞ

540:デフォルトの名無しさん
09/08/25 15:53:48
ab = 1 + 2j
ac = 3 + 4j
abc = ab + ac

541:デフォルトの名無しさん
09/08/25 15:57:38
>>540


542:デフォルトの名無しさん
09/08/25 15:59:04
つまらない質問で悪いんだが、
タプルを複素数にするのはどうやるの?

543:デフォルトの名無しさん
09/08/25 15:59:25
>>536
tuple(ai + bi for ai, bi in zip(a, b))

おまけ:2ノルム
math.sqrt(sum(ai * bi for ai, bi in zip(a, b)))


544:デフォルトの名無しさん
09/08/25 16:03:02
>>542
tup = (1, 2)
complex(*tup)

545:デフォルトの名無しさん
09/08/25 16:12:47
>>542
complex(*ab)+complex(*ac)

546:デフォルトの名無しさん
09/08/25 16:13:35
>>544
thx!
つまらない質問で悪いんだが、
複素数をタプルにするのはどうやるの?

547:デフォルトの名無しさん
09/08/25 16:16:44
>>546
((complex(*ab)+complex(*ac)).real, (complex(*ab)+complex(*ac)).imag)

548:デフォルトの名無しさん
09/08/25 16:56:39
とりあえず吉川と布袋に囲まれたら泣いて謝ると思う

549:デフォルトの名無しさん
09/08/25 17:32:01
なんのこっちゃわからんが、みんなすごいね

550:デフォルトの名無しさん
09/08/25 21:57:23
ぬのぶくろは弱いぞ

551:デフォルトの名無しさん
09/08/26 05:00:02
ヘタれ布袋

552:デフォルトの名無しさん
09/08/26 15:14:20
パイヤング

553:デフォルトの名無しさん
09/08/26 17:20:30
matplotlibのbounding box調節関数のサンプルが見つからない

554:デフォルトの名無しさん
09/08/26 18:08:06
文字列 % 辞書 はなんの為に使うんでしょうか?
def gettext_noop(string, **kwargs):
retval = string
if kwargs:
retval %= kwargs
return retval

555:デフォルトの名無しさん
09/08/26 18:54:29
URLリンク(www.python.jp)

556:デフォルトの名無しさん
09/08/26 18:55:56
sprintfみたいなもんや

557:デフォルトの名無しさん
09/08/26 20:02:25
マンモスありがとうございます

558:デフォルトの名無しさん
09/08/26 20:24:36
"abc%sdef" % "hoge"
みたいなフォーマット文字列の書き方とはもうサヨナラ?
悲しすぎる.

559:デフォルトの名無しさん
09/08/26 20:57:35
"abc{}def".format("hoge")のほうが読みやすい
%sdefとかだと文字とフォーマット表記が混じって読みにくい

560:デフォルトの名無しさん
09/08/26 21:06:58
長いこと%sやら%dな変換指定子に慣れてるから
他の書式にされると覚えにくくて困る

ええC#のことです

561:デフォルトの名無しさん
09/08/26 23:53:37
正規表現も読みにくいな

562:デフォルトの名無しさん
09/08/27 01:08:25
LINK = "<%(tag)s %(attr)s>%(name)s</%(tag)s>"
dict_ = {}
dict_["tag"] = "a"
dict_["attr"] = 'href="URLリンク(localhost:8080)"'
dict_["name"] = "hack you"
LINK % dict_

MENU = "<menu>\n%(item)s</menu>"
ITEM = "<li>%(content)s</li>\n"

print MENU % {"item" :"".join([ITEM % {"content": LINK % dict_}]*10)}

563:デフォルトの名無しさん
09/08/27 01:55:17
LINK = "<{tag} {attr}>{name}</{tag}>".format(tag = "a",
attr = 'href="URLリンク(localhost:8080)"',
name = "hack you")
ITEM = ("<li>{content}</li>\n"*10).format(content = LINK)
MENU = "<menu>\n{item}</menu>".format(item = ITEM)
print(MENU)

564:デフォルトの名無しさん
09/08/27 01:57:03
インデントずれた
LINK = "<{tag} {attr}>{name}</{tag}>".format(tag = "a",
                                      attr = 'href="URLリンク(localhost:8080)"',
                                      name = "hack you")

ITEM = ("<li>{content}</li>\n"*10).format(content = LINK)
MENU = "<menu>\n{item}</menu>".format(item = ITEM)
print(MENU)

565:デフォルトの名無しさん
09/08/27 05:37:11
LINK = "<{tag} {attr}>{name}</{tag}>".format(
  {tag: "a", attr: 'href="URLリンク(localhost:8080)"', name: "hack you"})


566:デフォルトの名無しさん
09/08/27 06:19:49
ぶっちゃけ、変数展開型言語も色んなテンプレも別に見やすいわけじゃないんだよな。
なんか良い方法あればいいんだけど。

567:デフォルトの名無しさん
09/08/27 16:09:07
sqlite3でテーブルが作成されてなかったり、
データベースファイルがないのを検出する方法ってありますか?

568:デフォルトの名無しさん
09/08/27 18:25:50
>>567
> sqlite3でテーブルが作成されてなかったり、
SELECT * FROM sqlite_master;

> データベースファイルがないのを検出する方法ってありますか?
os.path.exists

569:デフォルトの名無しさん
09/08/29 01:00:08
10 Ways To Let People Know You're A Bad Python Programmer
URLリンク(artificialcode.blogspot.com)

570:デフォルトの名無しさん
09/08/29 02:06:58
1. Write "God" functions
hundred lines of code
2. Never return anything in a function, especially not some type of value that could demonstrate your function succeeded or failed.
3. Never write a test...EVER.
4. Call Perl from Python
5. Screw Control Flow
import os
if os.path.exists("/tmp"):
    def myfunc():
        x = 4
        return x
class Foo(object):
    y = 1
f = Foo()
print f.y + myfunc()
6. Abuse conditional logic to the point that you double or even triple an "unmaintainable" Cyclomatic Complexity Score of 50.
7. Use sleep statements like Holy Water.
8. Initiate the same logic more then once, "just to be sure".
count = 0
for i in range(5):
    if os.path.exists("/tmp"):
        print "bingo"
def foo():
    print "stuff"
if os.path.exists("/tmp"):
    import sys
    sys.exit(1)
9. Write Library Code that does a sys.exit(0) on an exception.
10. Reimplement the Python Standard Library in every piece of code you write.
Summary
If you can do just a couple of these things in every piece of code you write, you are well on your way to writing bad python code! Stay tuned for part II.


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4179日前に更新/189 KB
担当:undef