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


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

Pythonのお勉強 Part34



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

741 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:21:17 ]
HOME以下に自分でビルドしたPythonをインストールしてパスを通してるとき、
/usr/bin/meld とかディストリビューションのアプリが #!/usr/bin/env 使ってて
軒並み動かなくなったなぁ。

742 名前:デフォルトの名無しさん [2009/09/09(水) 15:49:53 ]
ターミナルから起動して使うと、なぜか出力が最後にまとめて行われてしまいます。
バッファリング周りを自分なりに調べて試してみたのですが、改善しません。
教えていただけるとうれしいです _ _

#!/usr/bin/env python -u
import sys

for line in sys.stdin:
  line = line.rstrip()
  if line:
    print "true"
  else:
    print "false"
  sys.stdout.flush()


743 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 15:54:45 ]
>>741
どうでもいいところでハマってそれを自慢したがるド変態のM夫君っているものですね。

744 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:07:48 ]
質問の本題とは関係ないのだが、

> #!/usr/bin/env python -u

shebang で複数の引数を渡そうとした場合の動作は移植性がない。

745 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:36:04 ]
>>743
でもこの場合は、単に君が、どうでもいいところで「こいつは自慢してるんだろう」と誤読する
キチガイなだけでは?

746 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 16:45:37 ]
#!/usr/bin/python

にすればいいじゃん?

747 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:06:46 ]
python2.6.2/python3.1.1 ○バッファされない ×バッファされる
× py2 sys.stdin
○ py2 sys.iter(stdin.readline, None)
○ py3 sys.stdin
○ py3 sys.iter(stdin.readline, None)

ファイルのf.next()は効率のために先読みするんだけど、それが原因かな。
py3でどこが変更されたかはよくわからなかった

748 名前:747 mailto:sage [2009/09/09(水) 17:07:36 ]
訂正。
× py2 sys.stdin
○ py2 iter(sys.stdin.readline, None)
○ py3 sys.stdin
○ py3 iter(sys.stdin.readline, None)

749 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:08:49 ]
出力がバッファリングされてるんじゃなくて、

> for line in sys.stdin:

これのために、入力が終わるまで実行が止まってる。

for line in iter(sys.stdin.readline, ""):

こうする。



750 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:21:07 ]
ああpy3kのf.__next__は単純にf.readlineを呼び出すだけみたいだ。
ドキュメントには先読みすると書いてあるけど、たぶんこれはドキュメントのバグ。

751 名前:742 mailto:sage [2009/09/09(水) 17:36:41 ]
>>744 ありがとうございます、勉強になります!
>>747-750
ありがとうございます、出来ました!
バッファリングの問題じゃなかったんですね、お恥ずかしい。

752 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 17:49:21 ]
>>745
変態のくせにプライドだけ高いなんてどんだけひとりぼっち君。

753 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 18:00:03 ]
>>752
今度の設定はプライドか。ってか俺は>>741ではないし。
なんか君のキャラ設定って、鏡に映った君自身っぽい。

754 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:31:14 ]
>>753
>なんか君のキャラ設定って、鏡に映った君自身っぽい。


755 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 19:52:00 ]
自分のキャラ設定は鏡に映った自分自身という、再帰的新感覚キャラ「なんか君」

756 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:06:07 ]
てっきりスルーされると思ったらそうでもなかった。
env の話はこのへん分かりやすかったです。
ya.maya.st/d/200606c.html#d20060625

757 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:23:02 ]
情けないようで逞しくもある

758 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:45:56 ]
俺はUnix系の環境持ってないから分からんけど

#!python

だとダメなの?

759 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:48:18 ]
堂々巡り開始



760 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 12:56:13 ]
>>758
#!./python

761 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 13:48:03 ]
emacsでpython編集してたら、なんか嫌になった
netbeansにしようかなあ

762 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:44:37 ]
>>760
えーと、どゆこと?
パスが必須ってこと?
それとも、そういう意味に解釈されてしまうってこと?

763 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:35:12 ]
>>761
バイナリをテキストエディタで編集しちゃダメですよ。

764 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:40:31 ]
slimeだったらタグファイル作らなくてもタグジャンプしてくれたり、
何も設定しないデフォルトでほとんど何でもできちゃうのに
python.elが貧弱すぎる

765 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:44:17 ]
うちのCentOSのPythonは
/usr/bin/python 2.3 (プレインストール)
/usr/local/bin/python 2.5 (自分でコンパイル)
が入ってる
ちなみに /usr/bin/python を 2.5 で上書きしてしまうと
yum が動かなくなるのでこうしてる
自分の shell の path は /usr/local/bin/python が先なので
#!/usr/bin/env python
と書いても大丈夫なような気がするけど
自前のスクリプトは
#!/usr/local/bin/python
で作ってるよ

766 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 17:51:22 ]
stow使ってる

767 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:05:13 ]
>>761
kondoはどうよ?emacsキーバインディングもある
www.activestate.com/komodo_edit/

768 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 03:35:09 ]
>>767
もちつけw

769 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 11:01:20 ]
こども? 近藤さん?



770 名前:デフォルトの名無しさん [2009/09/11(金) 11:35:07 ]
Python 3 シリーズを将来使うために
今 2.3 とかで動かしているスクリプトを
メンテのたびに 2.6 に移し始めてます.
以降のためのガイドライン(from future importとか)
のページってありませんか?

出来れば日本語だとうれしい・・

771 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:02:29 ]
>>770
>出来れば日本語だとうれしい・・

Rubyなら日本語の情報が盛りだくさん!

772 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 12:13:59 ]
>>761
Editraはどうよ?viキーバインディングもある
editra.org/

773 名前:デフォルトの名無しさん [2009/09/11(金) 13:21:08 ]
eggファイルってWindowsのPythonでも使える?

774 名前:デフォルトの名無しさん [2009/09/11(金) 16:07:04 ]
つかえましたすまそ

775 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:18:07 ]
eggファイルといえば、site-packageにはいったeggが
展開もされずにそのまま動いてて、どうしてコレで動くんだろ?
って思ったことはあるな。

776 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:26:28 ]
Pythonのimportは拡張することが出来て、zipファイルからimportする拡張がデフォルトで入っている。
非圧縮zipだとファイルシステムからstatする時間が要らなくなるので通常ファイルのモジュールよりも
高速にロードできる。

777 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 17:30:00 ]
777

778 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 18:16:23 ]
Windows版2.5.1で試したことあるが
python.exeとpython25.dllだけあれば
後は全部zipに入れても動くよw
zipの中身適当に絞り込んだやつと、exeとdllを、未だUSBに入れてあるわ〜

779 名前:デフォルトの名無しさん [2009/09/11(金) 18:38:46 ]
Python でメモリがつがつ使うプログラム書くと,
当然ながら仮想メモリまで食いつぶしていきますよね?
せめて自分がどれくらいメモリを使っているかくらいは
知りたいのですが,OSに依存しないメモリ使用量の
取得方法ってあるでしょうか?

メモリ上にデータをキャッシュするようなアプリを書いていて
最終的にはスラッシングが起こりだしたらキャッシュの量を
減らすというような処理を行いたいと思っています.
最終的には.



780 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 19:06:40 ]
>>OSに依存しないメモリ使用量の取得方法
ざっと探してみたけどないので君が作るといい

781 名前:デフォルトの名無しさん [2009/09/11(金) 20:26:46 ]
easy_install は便利だけど同じパッケージの新しいバージョンをインストールしても
上書きしていくだけなんだよね?古いバージョンのアンインストールをきれいにやってから
新しいバージョンのパッケージをインストールしてくれないものだろうか?

782 名前:デフォルトの名無しさん [2009/09/11(金) 20:32:06 ]
俺もピートン勉強すっかな

783 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 22:29:18 ]
>>772
日本語を入力するまでは満足してました。

784 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:09:59 ]
>>779
どれぐらいのメモリを使ったらスラッシングが始まるのかがOSに依存すると思うのですが。


785 名前:デフォルトの名無しさん mailto:sage [2009/09/11(金) 23:18:02 ]
>>784
それは別にOS依存しててもいいのでは?
大事なのはスラッシングが起こったことが検知できるかどうかでしょ。

786 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:09:53 ]
ああいえばじょうゆう。
んなことできる訳ねーダロカス

787 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 00:18:06 ]
むしろスラッシングが起こったことをアプリ側に分からないようにするのが近代的なOS設計だと思うんだが。
それに逆らってどうする。

788 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 05:36:22 ]
>>787
スラッシングがおこってもプロセスが実行しつづけられるようにするのは近代的なOSの設計だといえるけど、
スラッシングが起こったことを検出できない、検出させないのは、別に近代的でもなんでもない。
検出できるような設計にしたら近代的でなくなるのか?そんなわけない。

789 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 08:34:37 ]
今年はじょうゆう14年か



790 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:30:03 ]
>>788
で? Pythonのプログラムが書きにくいからってOSの開発者に文句を言うつもりか?

791 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 11:31:32 ]
>>788
は気にくわないことすべてに文句つけそうで怖い。

792 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:21:38 ]
788の方がまっとうな考えだな。
にちゃんは半可通が多数決で正しい答を出すから恐いw


793 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:31:19 ]
>>790
間違いを指摘されたからといって怒るなよ。
なんで
> Pythonのプログラムが書きにくいからってOSの開発者に文句を言うつもりか?
ということになるんだ?意味わかんねー。
別に間違っててもいいじゃんか。指摘されたら修正すればいいだけ。
間違いを認めようとせず、ごまかすためにキレるほうが格好悪いぞ。

794 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:39:55 ]
まぁ、かと言って、全く非の打ち所のない言語もまだないからな。
その中でPythonはかなり使いやすい部類だと思う。

795 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 13:42:47 ]
摩訶不思議なコードを書いて俺SUGEEEしてる人が少ないのが良い

796 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:02:05 ]
つか当初の質問のレベルが低すぎるだけじゃね。

797 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:04:38 ]
>>795
摩訶不思議なコードを書くのは
そうでもしないと今流行りの機能が実装できない(C++の謎なテンプレートとか)か、
変なコードのほうが高速だったり(末尾再帰とか)
ミスが起こりにくかったりする(if(0==x){〜とか)

とか、そんな事情がある。
Pythonはそもそもそういうのが起こらないように設計されてるからなー

798 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 14:06:36 ]
最初はメモリ使用量とスラッシングの話だったのに
気づかないまま別の方向に向かっているおまいらがすき

799 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 15:38:21 ]
zope.interfaceが"要らない"ことに気付くまで1年かかった



800 名前:デフォルトの名無しさん [2009/09/12(土) 17:07:43 ]
Windows で IDLE を起動してただ exit() と打つと
Python IDLE "The program is still running! Do you want to kill it?
っていうダイアログボックスがでてくるんだけどこれはバグ?

Windows Vista Business 上で Python 2.5, 2.6, 3.1 で確認しました

801 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:30:00 ]
ばかじゃないのおまえ

802 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:54:01 ]
>>792

x 半可通が多数決で正しい答を出す

o 半可通が多数決で出した答を正しいと思い込む


803 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:56:27 ]
>>792の意図するところはこっちだろう
o 半可通が多数決で「正しい」答を出す

804 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 18:56:50 ]
何をもってしてバグとするんだ?

805 名前:デフォルトの名無しさん [2009/09/12(土) 20:04:53 ]
print __builtins__ の結果と

import __main__
print __main__.__builtins__ の結果が違うのはなぜでしょうか?

たとえば __builtins__.__dict__ はありますが
__main__.__builtins__.__dict__ はありません

806 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 20:20:47 ]
>>805
処理系のソースコード調べて考えろ。

807 名前:デフォルトの名無しさん [2009/09/12(土) 20:32:48 ]
>>806
アドバイスありがとうございます
CPythonのコードはまだ読んでいませんがIDLEのコードを読んでいます。
lib\idlelib\AutoComple.py の中に

import __main__
中略
namespace = __main__.__dict__.copy()
namespace.update(__main__.__builtins__.__dict__)

というコードがあって、__main__.__builtins__.__dict__
の意味が分からず悩んでいます。

808 名前:805=807 [2009/09/12(土) 20:52:19 ]
>>806
たびたびすみません,原因が分かりました.
EclipseのPyDevで開発しているのですが,
デバッグモードで動かすと __builtins__ は dict です.
通常モードで動かすと __builtins__ は module です.
デバッグモードではこのような違いが随所にあったのが原因でした.

なお,PyDev のソースを読んだところたしかに pydevd.py で
そのような違いが表れていることが分かりました.
eclipse-pydev.sourcearchive.com/documentation/1.0.3-1ubuntu1/pydevd_8py-source.html

809 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 21:19:57 ]
なんかあさってだな



810 名前:805=807 mailto:sage [2009/09/12(土) 21:50:14 ]
>>809
スレを汚してしまってすみませんでした

811 名前:デフォルトの名無しさん mailto:sage [2009/09/12(土) 22:05:33 ]
そういう意味ではない

812 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 07:39:27 ]
python2.6でpy2exeを使いmechanizeをimportしたスクリプトをexe化したいのですが
なにやら色んな物がないといわれます。で色んなもを入れたり、パス変更したりして
対応したのですが
dummy.Processというモジュールだけ見つかりません。
(python2.6/Lib/multipurocessingの中にprocess.pyがあったので/Lib/dummy/process.py
と置いてみましたがダメでした)
easy_installを試しましたがダメでした。
対処法もしくはdummy.Processがどこにあるかわかる方いますか?


813 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:09:46 ]
/Lib/dummy/process.py
->
/Lib/dummy/Process.py

814 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 08:17:23 ]
from multiprocessing.dummy import Process

815 名前:812 mailto:sage [2009/09/13(日) 09:27:34 ]
>>813
それでやってみましたがダメでした
>>814
自作スクリプト内ではdummy.processをimportしておらず、mechanize内でもimportされていなかったので
どのスクリプトのimportをそのように書き換えるのかわかりません

で、なぜかLib/multiprocessing/dummy/processとするとdummy.processは通りました
しかし、また新たにmultiprocessingが必要(?)でて
easy_installすると
こんどはmultiprocessing._mmap25とwin32processが必要といわれ。。。
なんだかきりがないように感じられたので諦めます
すいませんでした

816 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:03:24 ]
なんでPythonはRubyの文法を盗んでるのでしょうか

817 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 14:04:32 ]
具体例を挙げてください。

818 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:00:45 ]
defなんてそうだよね

819 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:02:40 ]
Rubyのが先に世に出たのに後からでたPythonが元祖語ってるという皮肉



820 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:11:03 ]
ttp://ja.wikipedia.org/wiki/Python
登場時期 1990年
ttp://ja.wikipedia.org/wiki/Ruby
登場時期 1995年

821 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:11:18 ]
>>819
アホか。Pythonの初出が1991年でRubyが1993年だろ。調べてから言え。
それから、RubyとPythonがどっちが優れてるかなんてフレームの元なのでやめたほうがいい。
用途によって使いやすいほうを使えば十分。

822 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:14:59 ]
>>818
いまだとBooとかScalaとかあるけど
PythonやRubyの前って関数定義にdef使ってるのってないのかな

823 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:32:01 ]
Assembly
BASIC
C
...
O
Python
Q
Ruby
S
...
Z


824 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 15:36:47 ]
スルー

825 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:01:43 ]
>>822
BASIC

826 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:38:10 ]
procedure hogehoge
function hogehoge

827 名前:デフォルトの名無しさん mailto:sage [2009/09/13(日) 18:50:59 ]
>>825
DEF FN……懐かしい。

828 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:25:01 ]
Python2.5.2ですが、ユニコードって内部的には一律一文字2バイトで表現されていると思って良いのでしょうか?
C拡張でユニコードを扱う関数を作りたいんですが、Cでどのようにユニコード文字のバイト区切りを判断すれば良いのか分からなくて。


829 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 11:41:21 ]
ユニコード文字のバイト区切り?



830 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:09:04 ]
たぶん、Pythonでの扱い以前にUnicodeの基礎知識が不足していると思われ

831 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:15:39 ]
UnicodeとUTF-8の違いは?
pc12.2ch.net/test/read.cgi/tech/1177930957/

832 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:22:32 ]
欠けている部分があるので分からないわけですが、
基本知識はあると思ってるのですが...
そもそもUTF-8なんて話してません、ユニコードそのものの話です。
pythonにおいてunicode()で生成したユニコードのインスタンスをCレベルで操作したいという話です。
初期のUnicodeが16ビット固定長だった事は知っています。
しかし現在は21ビットにまで拡張されています。
ということは16ビットでは不足するケースがあるわけで、
原理的に固定長決め打ちというわけにはいかないはずです。
また、pythonのレベルからはunicode文字列の実バイト数を知るメソッドが見付けられませんでした。


833 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:23:50 ]
あ、>>832は、コードポイントをそのまま二進数で表現していると推測しています。


834 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:28:16 ]
また、BMPだけならば16ビット固定でも良いのでしょうが、
Pythonのunicodeobject.hやunicodectype.cには
UCS2、UCS4という文字列が両方とも含まれているので、
16ビット固定なのか32ビット固定なのか良く分かりません。


835 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:30:07 ]
2バイト固定や4バイト固定と知っているならそうと、どちらかなら判別方法を教えてくれればいいのに、わざわざUTF-8を持ち出して混乱させようとするなんて、ほんとににちゃんねるってのは根性悪いですね。
さようなら。


836 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 12:34:52 ]
さようなら

837 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:10:56 ]
>>> u=u'日本語'
>>> u
u'\u65e5\u672c\u8a9e'
>>> s=u.str()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'unicode' object has no attribute 'str'
>>> s=str(u)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)
>>> l=u.split()
>>> l
[u'\u65e5\u672c\u8a9e']
>>> l=u.split(u'')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: empty separator

uを
s='\x65\xe5\x67\x2c\x8a\x9e'
または
l=[0x65,0xe5,0x67,0x2c,0x8a,0x9e]
というバイト列にしたいのですが
どのような方法があるでしょうか?


838 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:16:32 ]
>>> u=u'日本語'
>>> u
u'\u65e5\u672c\u8a9e'
>>> l = []
>>> for i in u:
...      n = ord(i)
...      l.extend((n >> 8, n & 0xff))
...
>>> l
[101, 229, 103, 44, 138, 158]
>>> map(hex, l)
['0x65', '0xe5', '0x67', '0x2c', '0x8a', '0x9e']


839 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:26:59 ]
>>834
len(u'\U00010000')



840 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:49:25 ]
>>838
thx!

>>> u=u'日本語'
>>> map(hex, reduce(lambda x, y: x + [ord(y) >> 8, ord(y) & 0xff], u, []))
['0x65', '0xe5', '0x67', '0x2c', '0x8a', '0x9e']


841 名前:デフォルトの名無しさん mailto:sage [2009/09/14(月) 13:51:27 ]
おいおい。
sys.setdefaultencoding()で文字コードを再設定してやるのが先だろ?
むちゃくちゃやってやがるな……。






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

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

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