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


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

Pythonのお勉強 Part30



1 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 19:09:55 ]
Pythonオフィシャルサイト
www.python.org/
日本Pythonユーザ会
www.python.jp/Zope/
まとめWiki
python.rdy.jp/
関連スレ
find.2ch.net/?BBS=ALL&TYPE=TITLE&STR=python
前スレ
pc11.2ch.net/test/read.cgi/tech/1223543412/

449 名前:デフォルトの名無しさん [2008/12/06(土) 10:07:05 ]
>>431
キーワードのデフォルトはpassですねわかります

450 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 11:16:12 ]
debug=sys.stderr.write
...

debug("ほげ〜")

451 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 11:38:27 ]
>>449
そうそう。対象ファイル内ではpass/return/break/continueを強要するの。だめ?

452 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 14:37:18 ]

@hoge

ってどういう意味なの

@の使い方がわからない

453 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 14:43:17 ]
きっと"python デコレーター"とかで検索す

454 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 15:12:22 ]
>>451
素直に、インデントによるブロックを折畳表示してくれるエディタの支援を使おう。

455 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 15:45:10 ]

wwwww                                 wwwww            
 wwwww                               wwwww            
  wwwww               ww            wwwww                   
   wwwww             www           wwwww            
    wwwww           wwwww         wwwww                       
     wwwww         wwwwwww       wwwww                        
      wwwww       wwwwwwww      wwwww 
       wwwww     wwww  wwww    wwwww                      
         wwwww  wwww    wwww  wwwww
          wwwwwwww       wwwwwwww
           wwwwww         wwwwww
            wwww           wwww
             ww             ww


456 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:07:31 ]
a=[1,2,3,4,5]
b=[5,4,3,2,1]
for c,d in a,b:
 print c,d

これできないのって仕様?

457 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:21:29 ]
ZIPを要求する!

for c,d in zip(a,b):
 print c,d



458 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:22:46 ]
>>457
存在忘れてたw
ありがとう。

459 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:43:16 ]
BeautifulSoup/2to3 挑戦してみた。

1. 2to3 BeautifulSoup.py | patch BeautifulSoup.py
2. 3k に sgmllib がない。2.6から持ってくる。
3. sgmllib内 warnings.warnpy3k 辺りはいらないので削除。
4. 2to3 sgmllib.py | patch sgmllib.py
5. 3.0 で import BeautifulSoup が通る。
6. re.match, re.search 等に bytes オブジェクトが渡っている所を str() で wrap
数箇所修正。(実行してエラーが出た箇所を潰していく)
7. BeautifulSoup(text).prettify() がエラーなしに動く。
8. 文字列が全て <b'font' b'size'="b'-1'"> の様になっているのに気付く。
str(b"foo") が "b'foo'" という文字列を返す為。.decode()で文字列に変換する必要がある。
9. PageElement.toEncoding, NavigableString.__str__ が bytes を返すのを .decode(encoding) で str に。
※ 他にも bytes を返すメソッドがあるかも知れない。
※ 2.x 互換の方法が解らなかった為、ここは 3.0 のコードを変更した。
10. ここまでで .prettify() 通った。diff取るの忘れたけど手作業で変更したのは5,6箇所程。
※ 2.x では decode/encode して端末へ表示してたのが、3.0では不要になった。
.prettify()の返す文字の文字コードが異なる?修正が影響したのかどうかは追ってない。



460 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 19:46:13 ]
ぱいおつ

461 名前:  mailto:  [2008/12/07(日) 12:23:34 ]
>>439
あざす

462 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:27:35 ]
バランスの取れた括弧にマッチさせるときに
以下の正規表現だとre.compile()時にnothing to repeat.と怒られてしまいます。
何が不味いのでしょうか。
'(?P<REP>'
 '\('
  '([^()]+|(?P=REP))*'
 '\)'
')'
(?P<>)の入れ子自体は問題ないようなのですが・・・


463 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:39:22 ]
ちなみにテストコードです。
import re
r = re.compile('(?P<REP>\(([^()]+|(?P=REP))*\))')
s = 'abc((de(f))gh((ijk)lmn))opq'
print r.search(s).group()

464 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 16:33:06 ]
emacsのoutlineマイナーモードでpythonのコードも折りたたみたい

465 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 19:18:49 ]
HTML/XMLの操作にはBeautifulSoupとlxmlのどちらが主流派なんですか?
BeautifulSoupはpure pythonという以外に何かメリットデメリットあったら教えて下さい。
HTML/XMLの操作ってあんまりやったことないので常道ってのも分からないので判断しかねて・・・


466 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 20:19:23 ]
>>462
そういう「再帰的な定義」を許していないんじゃないか?
そういう記述ができるものがあるのは知っているけど、
エラーメッセージから想像力を働かせるとPythonでは許していないような気がする。


467 名前:デフォルトの名無しさん [2008/12/07(日) 20:20:00 ]
>>462 (?P<>)の入れ子自体は問題ないようなのですが・・・

問題あるだろう。こうだろう
r = re.compile('(?P<REP>(\([^()]+|(?P=REP))*\))')




468 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:04:33 ]
>>466
やっぱりそうなんですかね。
(?P<>)の入れ子はcompileは通るのですがどうも効いていないっぽいです。

>>467
ありがとうございます。
でもバランスしません(>_<)


469 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:16:56 ]
(?P=name)って要するに名前付きのバックリファレンスだろ?
入れ子の記述を仮に許しても、方針として全然ダメじゃねえの?

要は「マッチしたもの」にマッチするんだから
一般的な入れ子のカッコを処理できるわけないじゃん

470 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:02:13 ]
pythonで 誌
という文字をunquoteっしたいんですけども
どうすればいいですか?

471 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:10:22 ]
>>469
期待通りに動く処理系もあるんですよ・・・

472 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:33:20 ]
なら具体的なバージョンとかの情報出すべきかと・・・

473 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:45:55 ]
文字参照を元の文字に戻すにはどうすればいいでしょうか

474 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:48:25 ]
ver.1.9のことです(>_<)

475 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 02:13:53 ]
正規表現万能論者はお断りします

476 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 02:15:45 ]
本来的な正規表現ではないよな
バックリファレンスですら

そういう意味ではPythonのは既に足は踏み外してるけど
再帰を許すほどではないな

477 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 08:46:23 ]
俺の質問に答えろや



478 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 11:40:41 ]
>>471
リファレンスみたいな豪快な拡張にポータビリティを期待するほうがダメかと。
Pythonの正規表現の仕様から、これが処理できないのはおかしいとはっきり
導出できるなら、そのようにバグとして報告すればいい話。

>>470 >>473
import urllib
urllib.unquote

479 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 12:52:22 ]
質問
cgiをpythonで作っています。

#!/usr/local/bin/python

import cgitb,time

print "Content-Type: text/html\n\n";

t = time.strftime('%H:%M:%S')

print '<p>time is'+ t +'</p>'

この状態なら動くのですが、print関数の文字列に日本語が含まれているとcgiが動かなくなります。
これは何故でしょうか・・・?
ちなみに保存文字コードはshift-jisです。

480 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:05:16 ]
>>479
文字コードをUTF-8(BOM無)で保存すればいい

481 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:26:31 ]
>>479
www.python.jp/doc/release/tut/node4.html#SECTION004230000000000000000

482 名前:479 mailto:sage [2008/12/08(月) 13:29:38 ]
UTF-8で保存すると今度は全くcgiが動作しなくなります・・・OTL

483 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:31:30 ]
windowsXPでpython 3.0なんですが
>>>douon("変態")
["変態", "編隊", "変体", "へんたい", "ヘンタイ", "hentai"]
みたいな関数を標準モジュールだけで書いていただけませんでしょうか


484 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:32:58 ]
>>482
ん?sjisでも「全く動作しない」はずだが……

CGIなんだから、直接pythonインタプリタで実行してみろよ
たとえコメントの中だろうが、エンコーディングを指定せずに
非ASCII文字が書かれている時点で
Pythonインタプリタにはねられるから


485 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:36:39 ]
>>483 無理。ていうか辞書次第。

486 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:37:17 ]
>>483
migemoあたりの辞書を使うといいんじゃねえか
migemoで普通やるのの逆変換になるが

487 名前:479 mailto:sage [2008/12/08(月) 13:39:18 ]
>>481
参考URL有難うございます。


# -*- coding: utf-8 -*-

import time
print "Content-Type: text/html\n\n";

t = time.strftime('%H:%M:%S')

print u'<p>時間は'+ t +'</p>'


のようにエンコードを指定してもインタプリタでは動くのですが、cgiファイルとしてサーバーにアップ後は動かなくなります。
パーミッション等は合ってます。



488 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:42:27 ]
>>487
unicode文字列をprintに渡してるんなら、また別の問題がある。
printはunicodeを受け取ると、sys.stdout.encodingに従ってそれを
変換しようと試みるが、sys.stdout.encodingは環境次第だ。
多分asciiか何かになってんだろう
もともとpythonのstdin/stdoutのencodingはリダイレクトに弱い。

自分でエンコーディングを指定してバイト列に変換してからprintに渡せ。

489 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 13:44:22 ]
>>485
>>486
ありがとうございます
やっぱいきなりでは無理ですよね

490 名前:489 mailto:sage [2008/12/08(月) 13:45:48 ]
googleの人達も地道に辞書登録しているんでしょうか


491 名前:488 mailto:sage [2008/12/08(月) 13:46:17 ]
いちいち手で変換するのがうぜーならこうするといいぞ
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)

492 名前:デフォルトの名無しさん [2008/12/08(月) 13:50:27 ]
CGIは板違いっすよ皆さん
Python CGI
pc11.2ch.net/test/read.cgi/php/1163513344/

493 名前:479 mailto:sage [2008/12/08(月) 14:12:15 ]
>>488
ありがとうございます。
pythonライブラリのsite.setencodingの中のencoding = "ascii"という部分を"utf-8"に書き換えてみました。
が、まだ動きません・・・

>>492
すみません、検索不足でした。
気をつけます。

494 名前:479 mailto:sage [2008/12/08(月) 14:19:34 ]
>>488
連レスすみません。
printにバイト列としてエンコーディングを指定してから渡す、という方法で上手く表示することが出来ました。

お付き合い頂いてありがとうございました。とても助かりました。

495 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 14:39:15 ]
>>462
括弧の対応が取れたパターン(言語)というのは、
文脈自由文法(二型文法)に属します。
正規表現の扱えるのは正則文法(三型文法)なので、
それより範囲が少し狭いです。
# 範囲を越える文法を扱えるマッチャーが多いですが。

チョムスキーの定義で考えると、
どんな入れ子でも受理可能にするには、
無限の規則が必要になることがわかると思います。
(正規表現の再帰的な定義がちゃんと出来ることとほぼ同義)
ja.wikipedia.org/wiki/形式文法

496 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 14:42:32 ]
>>490
依頼を受けたデータ入力会社の雇われたキーパンチャーがね

497 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 19:10:22 ]
Time flies like an arrow.



498 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:22:40 ]
>>459
参考になった、ありがとう
思ったより手間すくないのね

499 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:49:32 ]
>>462
オライリーの詳説 正規表現にはPerlでバランス取れた括弧のキャプチャの例が載っていましたよ
www.oreilly.co.jp/books/9784873113593/
>5.2.4 括弧類の対へのマッチ
今手元に本が無いからうろ覚えですけど、Perlの独自拡張で無限の?入れ子まで対応しているとか
>>471の期待通り動く処理系ってPerlのそこそこ新しい奴じゃないですか?
他の正規表現処理系でのやり方も書いてあったような気がするので
もし詳説 正規表現が立ち読みできたり図書館で借りられる環境ならぜひ読んでみて
>>495さんの言う通り正規表現で無限の入れ子なんて普通は受理できないのですが
Perlの正規表現処理系は拡張が物凄いので正規文法の限界を思いっきり超えてます
このオライリーの本はこんな形式文法の話や正規表現処理系のNFAとDFAの違いなど
細かいけど(好きな人には)面白い話が載ってます


500 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:10:55 ]
たてよみ

501 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:42:03 ]
最後の方に言語毎の正規表現の比較が掲載されてて、それのおかげで助かった事が2回あった

ところで”オライリーの本”ってどう略すの

502 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:55:49 ]
>>501
表紙の動物じゃないか?
ラクダ本とか、バッタ本とかあるけど
となると正規表現はフクロウ本?

503 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:40:16 ]
Twistedは蛇玉本

504 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:14:32 ]
pythonのIDEにgeanyってのがあるのを知って使い始めました。
スニペッツを使ってみようかと思ったら、標準だと何も登録されていないようですね。
geanyをお使いの方は、スニペッツはどうしていますか? 手書きでしょうか。
どこかのサイトにあればいいのですが・・・

505 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:26:15 ]
pyjames使ってる人います?

506 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:51:05 ]
返答まだですか?

507 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:31:16 ]
tupleのi番目の要素だけを更新するには
tupleを作りなおすしかないのでしょうか?

v=(1,2,3)
vv=(v[0],v[1]+2,v[2])




508 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:34:57 ]
はい

509 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:42:44 ]
効率を気にしないなら一回listにするかな。

vl=list(v)
vl[i]+=2
vv=tuple(vl)

でも更新したくなったならlistのままの方が良いんじゃないかという気はする。

510 名前:デフォルトの名無しさん [2008/12/09(火) 14:33:52 ]
>>504
まだ不安定だよgeany

511 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 22:52:44 ]
>正規表現
みなさん、レスありがとうございました。
かなり勉強になりました^-^

正規表現で実現できるならプログラムの一貫性がとれてよかったのですが、
そもそも括弧を同じ数だけカウントするなんてたいしたことない処理なので
今回は正規表現を使わず対応したいと思います。


512 名前:デフォルトの名無しさん [2008/12/09(火) 22:52:55 ]
Python 2.6.1あげ
www.python.org/download/releases/2.6.1/
バグフィックスなので2.6つかっている人はどうぞ〜

513 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 23:25:33 ]
>>510
そうですか。いいところかなと思っていたのですがね。
MacでPythonをサポートしたIDEは何がいいか悩みます。


514 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 00:30:34 ]
2.6.1インストールしたんだけど、_socketのimportエラーでるんだけど、
なんなのこれ

515 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 08:26:38 ]
うちは、Windows + PyScripter 1.9.9.2 + Python 2.6.1だとエラーが出る。
PyScripter --python26だとimport socketでエラーが出る。
PyScripter --python25だとエラーは出ない。

また、コマンドラインからpythonを起動したときはエラーは出ない。
Python 2.5.2, 2.6.1, 3.0で確認

516 名前:デフォルトの名無しさん [2008/12/11(木) 09:10:31 ]
IDLEの補完がなんか気に入らない
IDLEの代わりってなんかある?

517 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 09:15:09 ]
>>516
例えば、どういうところが気に入らないのか教えてもらってもいい?



518 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 09:53:30 ]
op

おっぱい


519 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 10:13:22 ]
vista で wx アプリのデバッグで強制終了が多発するようになってから、久しく使ってなかったけど。
久しぶりに起動しようとすると、起動すらしなくなっていた。

Windows vista + PyScripter 1.9.9.2 + Python 2.6.1 (環境には 2.5.2, 3.0もインストール済)
+ RPyC 2.60 (pyscripter googlecode の downloadより)
--python25 だとエラーが出て一応起動するけど、何かするたびにエラー。終了も出来ない状態。

official の 1.7.2 に戻してみても上の現象が発生。





520 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 11:06:46 ]
>>515
pythonを組込で使うとエラーがでるみたいだな。

521 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 11:15:53 ]
バグらしいな。
bugs.python.org/issue4566

522 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 14:07:09 ]
前スレのこれは?
>154 :デフォルトの名無しさん:2008/10/15(水) 22:41:10
> >>144
> 以下の内容を「Pyscripter.exe.manifest」としてPyscripter.exeのフォルダに置いておけばimportできるかも
>
> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
> <security>
> <requestedPrivileges>
> <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel>
> </requestedPrivileges>
> </security>
> </trustInfo>
> <dependency>
> <dependentAssembly>
> <assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></>assemblyIdentity>
> </dependentAssembly>
> </dependency>
> </assembly>

523 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 15:54:48 ]
Vs2008使ってるのか。
もうコンパイラのバージョンどんどん上げるのやめてくれよ。

524 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 20:40:00 ]
PythonはVS2003の次はVS2005を使うかも、と思ってVS2005 Standard買ったら、
VS2008使うようになってた。ちょっとショックだ。
……たぶんMinGWでもコンパイルできるのだろうけどさ。

525 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 20:45:31 ]
>>524
それはご愁傷様だが、べつにただで落とせる2008のexpressで問題はない
VC8以降のmsvcrtはSxSに格納されてmanifestを使うから、mingwは微妙かもなあ
試してみないとわからんが

526 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:24:31 ]
スクリプトの文字コード(# -*- coding: xxx -*- の xxx)を
スクリプト実行時に取得するには、どうすればよいでしょうか。

527 名前:デフォルトの名無しさん mailto:sage [2008/12/11(木) 23:39:33 ]
ファイルをオープンして1-2行目を調べればいい
coding[:=]\s*([-\w.]+)



528 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:44:44 ]
正規表現おじさん来た!!

529 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:46:52 ]
正規表現って気持ち悪いよね

530 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 00:50:23 ]
>>528-529
さてはおまいらPEP読んだことないな。

531 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:12:35 ]
あるよ。
正規表現はキモイから使うなって書いてあったよ。

532 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:14:49 ]
ないよ。
ワンダーはモモーイから聞けって書いてあったよ。

533 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:26:48 ]
正規表現使うやつは童貞

534 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:40:35 ]
なんで分かった?

535 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:41:52 ]
正規表現使わん場合はif文でがんばるの?

536 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 01:45:42 ]
for if最強伝説

537 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 09:21:16 ]
>>535
正規表現の次はifかよ(w
おっさんはこれだから困るよなー。



538 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 10:00:01 ]
とりあえずおっさんって言いたいだけじゃ・・・
上司にいじめられたか?

539 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 11:21:42 ]
>>535
> if文でがんばる

比較の度に文字列のスライスを生成する効率の悪いコードしか思い浮かばないけど...。

正規表現等の組込のドメイン固有言語は、利点・問題点があるので利用は適材適所。
使い所と用法を誤らなければ、便利なツールとして活用できるよ。

例えば、>>526なら、>>527の通り ワンライナーの正規表現で十分事足りる。
PEP 0263 より
> More precisely, the first or second line must match the regular
> expression "coding[:=]\s*([-\w.]+)".

re.VERBOSEオプション付きでコメント付けたり、
(?P<encoding>[-\w.]+) の様に名前を付けると、可読性の面でより親切。

>>511の用途なら、
字句解析とステートマシンを使い、扱いやすいデータ形式に変換してから処理する。
簡単なサンプル: S式のリスト表示。ttp://paste.org/index.php?id=4477
# 文字列内の()や引用符のエスケープシーケンス等も考慮したい場合は、
shlex, tokenize等のモジュールも見てみるといい。

540 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 12:50:08 ]
>>521
bugs.python.org/file12249/testpy.c
#include <Python.h>

int main(int argc, char **argv)
{
Py_Main(argc, argv);
}

これだけでembedできるんだ
知らなかった
というかargc arcvには何いれたらいいんだ


541 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 12:52:15 ]
pythonでscript書くと
Makefile
いらないんじゃないかと思うこともあるけど
やっぱりmakeは使ってしまう

542 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 13:39:18 ]
scons(笑)

543 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 14:11:35 ]
DEP関係はHeapAlloc→VirtualAllocなんだって


544 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 17:09:18 ]
sconsだめなの?

545 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:20:09 ]
1234567890 を
urlsafe_b64encode
(ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_)
で表記すると
BJlgLS
であってますか?

546 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:26:25 ]
base64.urlsafe_b64encode('1234567890')
MTIzNDU2Nzg5MA==

547 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:31:53 ]
'%08x' % 1234567890
499602d2
0100 1001 1001 0110 0000 0010 1101 0010 (499602d2)
01 001001 100101 100000 001011 010010 (BJlgLS)
後ろから詰めるとそうなるけど
base64って先頭から6bitづつ区切るだろ
010010 011001 011000 000010 110100 10
じゃないのかな

っつーかそもそも1234567890を何bitでとるのかによって変わるんじゃね?




548 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 19:35:17 ]
base64じゃなくて64進数なら
print format(1234567890, 64)


549 名前:デフォルトの名無しさん mailto:sage [2008/12/14(日) 03:08:26 ]
>>548
Python2.6のbuiltinsのformat?
数値のspecは文字列で指定するみたいだけど。PEP3101
組み込み関数では、int(str,base)でもn進数変換できるけど、
_PyInt_Formatは2..36進数までしかサポートしてない。








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

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

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