トップページtech
1002コメント300KB

Pythonのお勉強 Part50

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/10/17(金) 00:41:32.40ID:Db3yDsQb
Pythonオフィシャルサイト
http://www.python.org/
日本Pythonユーザ会 (※英語わかる人は上記のオフィシャルの方を見ることをお薦めします)
http://www.python.jp/
まとめWiki
http://python.rdy.jp/
関連スレ
http://find.2ch.net/?BBS=ALL&;TYPE=TITLE&STR=python
Pythonのお勉強 Part49
http://peace.2ch.net/test/read.cgi/tech/1387528488/

日本語の扱いで戸惑ったらこちらをどうぞ(バッドノウハウ集で笑える)
ttp://speirs.blog17.fc2.com/blog-entry-4.html
ttp://atomic.jpn.ph/prog/etc/encode.html
ttp://d.hatena.ne.jp/kakurasan/20100330/p1

ttp://pc11.2ch.net/test/read.cgi/tech/1217836194/339
339 :デフォルトの名無しさん:2008/08/23(土) 08:36:00
PythonのUnicodeEncodeErrorを知る
ttp://lab.hde.co.jp/2008/08/pythonunicodeencodeerror.html

よくまとまってた。あとで読む
0127デフォルトの名無しさん2014/11/17(月) 02:23:04.88ID:voT4yCE4
ドキュメントの翻訳は悩ましい問題だな。

そもそも、翻訳作業ができる人は、翻訳されたドキュメントを必要としない。
ここがコードそのものの開発と根本的に違う。

翻訳が欲しい人が寄付を集めて、翻訳ができる人を集めて温泉にでも無料で
行かせて缶詰で翻訳ハッカソンとか?そんなことが実現するとは思えないが。

あとは、どっかの企業がPRのために持ち出しで貢献するかだな。
日本で、Pythonサポートで食ってて、それなりに余裕ある企業ってあるかな?
0128デフォルトの名無しさん2014/11/17(月) 02:47:05.47ID:zZSkpM/5
ドキュメント原文も執筆者によっては結構駄文で中途半端な英語力の俺には(多分そんな俺でなくても)
わかりにくいのがあったりするからなあ。
ドキュメントにあるコードの例で、コードだけ書いてその出力を書かないのはマジやめて欲しいんだけど、
Pythonドキュメント(原文)の執筆ガイドラインてあるのかね?さがしてもよくわからん。
こういうメタっぽいのIssueとしてあげてもそういうガイドラインがないと浸透しにくいし、そういうのないとして、
そこまで踏み込んでやってってお願いするほどの英語力もないし。
0129デフォルトの名無しさん2014/11/17(月) 03:02:43.18ID:re+o/iO9
そんな提案に英語力なんて必要ないぞ
0130デフォルトの名無しさん2014/11/17(月) 03:16:58.42ID:zZSkpM/5
>>129
めっちゃ要るわw
英語そのものの知識だけじゃなく、それをベースとした英語でのコミュニケーション力な。
それを「英語力なんて必要ない」とさらっと言えるあなたこそPythonドキュメントの
翻訳に貢献してくださいおながいします。
0131デフォルトの名無しさん2014/11/17(月) 09:07:37.13ID:Bie68Q2E
>>127
翻訳出来るひと(もちろんpythonの知識も含めて)は
たとえ金払っても翻訳の仕事をさせるのはもったいないだろ
プログラム書かせた方が良い仕事してくれる
0132デフォルトの名無しさん2014/11/17(月) 10:35:04.06ID:FowapGmI
生産性がイマイチな人間を活用するためにはその逆だ
目先の小銭を追ってはならない
0133デフォルトの名無しさん2014/11/17(月) 10:59:44.21ID:zVrhBdcJ
python.jpの翻訳担当は生産性が低いから翻訳担当なのか
0134デフォルトの名無しさん2014/11/17(月) 11:39:23.58ID:HQeW7j2d
そりゃあ他にやることがある奴はやらねえよ
0135デフォルトの名無しさん2014/11/17(月) 12:37:47.34ID:C7tq3SGo
>>131
長期的に見れば、日本語圏でpythonが盛り上がる方がいい
0136デフォルトの名無しさん2014/11/17(月) 14:10:06.39ID:8zZNMcL6
現実逃避で翻訳してるなら
翻訳作業にも一定の需要がある訳だ
0137デフォルトの名無しさん2014/11/17(月) 22:23:52.56ID:2JrgHRvL
翻訳が終わったころには仕様が変わってるしな…
0138デフォルトの名無しさん2014/11/19(水) 00:27:02.33ID:+JOILsc/
医療プログラマーが超高難易度の免許制に / フリーソフトやオープンソースの無作為配布も全面禁止
http://fox.2ch.net/test/read.cgi/poverty/1416286592/
0139デフォルトの名無しさん2014/11/19(水) 01:14:11.05ID:/0kmKDiG
【読書】海外文学の翻訳者、印税なしで働かされていた。お前ら非英語圏の海外文学も読めよ。 [転載禁止](c)2ch.net [469534301]
ttp://fox.2ch.net/test/read.cgi/poverty/1416311016/
> 怖ろしい話を聞いた…。海外文学の翻訳は、初版1500部とか、初版印税ナシが普通になってきているという。
> 増刷はなかなかされないだろうから、初版印税ナシだと、実質、無報酬に。
> 初版1500部でも、生活はとてもできない。これでは翻訳をする人はいなくなってしまう。したくても生活できない。

> 海外文学を読む人が減ってきてしまったせいなのでしょうが、あまりにも悲しいことです。鎖国状態になってしまいます。

> 安直な入門書とか(私の本もそうですが)、昔は軽蔑していましたが、今はその重要性をとても感じています。きっかけはくだらなくてかまわないのですから。
0140デフォルトの名無しさん2014/11/19(水) 17:55:58.79ID:JZ2oYyd9
http://melpon.org/wandbox
0141デフォルトの名無しさん2014/11/20(木) 15:39:13.27ID:/BOXk5ak
cz_freezeでビルドで教えてください。

windows8の64bitでビルドしているのですが
AとBというプログラムがあってビルドすると
それぞれa.exeとb.exeができるのですが

python34.dll
_bz2.pyd
unicodedata.pyd

は同じなのですが

library.zip

はAとBで違うためどちらかのをコピーするとエラーになります。
できればそれぞれexeファイル1つだけにすることはできないのでしょうか?
0142デフォルトの名無しさん2014/11/20(木) 15:57:06.35ID:E/VQy6fP
一回のsetupで両方ビルドしたらいい
create_shared_zip = Trueなら共通のlibrary.zipができる
01431412014/11/20(木) 16:06:21.55ID:/BOXk5ak
両方のビルドがわからなかったのでlibrary.zipを埋め込めれるようだったので以下のように変更しました。

import sys
from cx_Freeze import setup, Executable

build_exe_options = {"packages": ["os"], "excludes": ["tkinter"], "create_shared_zip": False, "append_script_to_exe": True }

base = None

if sys.platform == "win32":
base = "Win32GUI"

setup( name = "xxxxx",
version = "0.1",
description = "xxxxx",
options = {"build_exe": build_exe_options},
executables = [Executable("xxxxx.py", base=base)])
0144デフォルトの名無しさん2014/11/20(木) 17:15:20.12ID:E/VQy6fP
executablesのリストに2つ入れるだけだよ
01451412014/11/20(木) 17:33:11.78ID:/BOXk5ak
>>144
ありがとうございます。
出来ました。
0146デフォルトの名無しさん2014/11/22(土) 09:48:59.44ID:Q3C7JEHj
最近のバージョンだと標準のインタラクティブモードでもtabで補完してくれるのね
0147デフォルトの名無しさん2014/11/30(日) 00:01:30.79ID:U56t6wGe
list = ['00','01','02']

python2.7 で、上記のような0 を埋め込んだ リストを作りたいのですが、
要素が多くなった場合(例えば要素数10万個とか)、
どのようにするのが良いでしょうか?

次のものよりコンパクトに書きたいのです。

list = []
for num in range(0, 11):
list.append(str(num).zfill(2))
# list.append(str(num).rjust(2,"0"))
# list.append("{0:0>2}".format(num))


perl では、次のように書いていました。
@list = ("00" .. "10");

宜しくお願い致します。(スレ違いでしたらごめんなさい。)
0148デフォルトの名無しさん2014/11/30(日) 00:08:51.81ID:awyRf5UB
リスト内で0が付いたデータである必要があるの?
処理速度で問題が起きないなら取り出す時に加工したら?
0149デフォルトの名無しさん2014/11/30(日) 00:17:45.83ID:HYaMRw5x
list = [str(item).zfill(3) for item in range(1, 100)]
0150デフォルトの名無しさん2014/11/30(日) 00:36:12.42ID:U56t6wGe
お返事をありがとうございます。

>>148
一昨日から python を使い始めたばかりで、
まだどうやって使うか決まっていないので、そういう解もありかも知れません。

>>149
うまくいくことが確認できました。こういう書き方もできるのですね。
0151デフォルトの名無しさん2014/11/30(日) 01:54:06.42ID:U56t6wGe
000000 から 999999 までの要素をもつリストを作成するのみのコードで、
実行時間を比較をしました。(tcsh に builtin の time にて)
(それぞれを10回ぐらい繰り返しての典型値です。)←テキトーですみません。

>>147 の3つのコードのバリエーション(cord 1,2,3 とする)と、
>>149 のコード(cord 4とする)と >>147 の perl のコード(cord 5とする)について。

code 1:
1.139u 0.054s 0:01.19 99.1% 5+170k 0+0io 0pf+0w

code 2:
1.305u 0.055s 0:01.36 99.2% 5+168k 0+0io 0pf+0w

code 3:
1.120u 0.039s 0:01.16 99.1% 5+169k 0+0io 0pf+0w

code 4:
0.995u 0.062s 0:01.05 100.0% 5+168k 0+0io 0pf+0w

code 5:
0.886u 0.110s 0:00.99 100.0% 5+165k 0+0io 0pf+0w

code 1,2,3 は大して変わりませんが、ほんのわずかに
cord 2 が遅く感じられました。

cord4, 5 の間にはほとんど差はないですが、cord 1,2,3 より
ほんのわずかに速いようです。


CPU: Intel(R) Core(TM)2 Duo CPU E7400 @ 2.80GHz
RAM: 2048 MB
OS: FreeBSD 10.1-RELEASE
0152デフォルトの名無しさん2014/11/30(日) 02:14:37.61ID:U56t6wGe
>>151
すみません。typo があったので訂正します。

s/cord/code/;
↑ perl ですみません。

re.sub('cord','code', item)
↑ python だとこんな感じでしょうか?

Python チュートリアル と Perl 言語リファレンスの目次に「正規表現」の記載がなくて、
挫折しそうになりました。 Python 標準ライブラリの目次に正規表現 をみつけて一安心。
うーむ、ライブラリなのですね。。。

おやすみなさい。
0153デフォルトの名無しさん2014/11/30(日) 05:17:22.58ID:b4nmdqGs
馬鹿には無理
0154デフォルトの名無しさん2014/11/30(日) 05:30:46.36ID:c9Q+Jt/4
>>151
pythonにはtimeitという計測ツールもある。
ipythonなら%timeit
0155デフォルトの名無しさん2014/12/02(火) 23:50:02.60ID:mXPAePsx
perlで、処理したものはハッシュに登録して、2回目からはやらない、
みたいなことをよくやるんだけど
if (!$done{$item}) {

同じことをpythonでやろうとすると、どうしてもtryしないといけなくなる
try:
 if(done[item]):
  pass
except KeyError:

そういうもの?
0156デフォルトの名無しさん2014/12/02(火) 23:54:44.97ID:1eIJ1xCz
if item not in done: do_something(item)
0157デフォルトの名無しさん2014/12/03(水) 00:20:47.52ID:klto8A+O
has_key が覚えられない
そもそも、EAFPでないし
0158デフォルトの名無しさん2014/12/03(水) 03:34:45.76ID:fPpGIPtv
if item in done: pass
0159デフォルトの名無しさん2014/12/03(水) 03:35:36.42ID:fPpGIPtv
has_key は deprecated
0160デフォルトの名無しさん2014/12/06(土) 09:06:25.05ID:oKYXPopG
>>155
>perlで、処理したものは
perl歴10年以上で、2年前にpythonに移行
しました。このような質問とその回答は、
とても参考になります。感謝、感謝!
0161デフォルトの名無しさん2014/12/06(土) 09:25:07.43ID:e/+1yPS4
>>155
item.getも、なければデフォルト返す。けっこう人のコードでも見かける。perlの例はこっちに近い気がする。
0162デフォルトの名無しさん2014/12/06(土) 10:06:25.40ID:BVXRqyRl
except側にメインの処理が来るのが嫌なんだよな
0163デフォルトの名無しさん2014/12/06(土) 10:17:49.65ID:e/+1yPS4
初回という例外であれば、exceptも有りとしている。
ただjavaとか例外処理のコストが気になる言語の場合はやらないな。pythonはサンプルコードでよく見かけるから使ってるけど、コストはどうなんだろうか。
0164デフォルトの名無しさん2014/12/06(土) 12:05:45.84ID:3xNo8KzC
pythonも馬鹿に出来ないと思うよ。調べてないけど
ただ内部的にexceptとかfinally,with使うのは当たり前だから気にしても仕方ない
0165デフォルトの名無しさん2014/12/06(土) 12:22:20.08ID:1MG24EwX
イテレータ1回舐めるごとにかならずStopIteration投げてるし

dict.set_defaultがvalueしか取らないのが俺は気になる
funcも取って欲しい
0166デフォルトの名無しさん2014/12/06(土) 15:37:39.38ID:bwgl3tYQ
例外処理ってどの言語でもコストが高いと予想
全ての文にif付けながら実行してるようなもんでしょあれ
0167デフォルトの名無しさん2014/12/06(土) 15:42:45.20ID:7IWME+c9
えっ
0168デフォルトの名無しさん2014/12/06(土) 15:52:30.13ID:BM1MQEaE
>>166
んなわけない

あんたが言ってるのは途中でreturnするかもしれない関数で全ての文にif付けて実行してるようなもんでしょって言ってるのと同じだよ。
0169デフォルトの名無しさん2014/12/06(土) 16:18:14.87ID:LlEDCa5Q
s = 0
for x in (1, 2, 3, "hoge"):
 s += x
return s

例えばこのfor文の中の s += x で、例外を補足するには毎回xが加算できるかをチェックする必要がある
ということを言いたいのではなかろうかと。
0170デフォルトの名無しさん2014/12/06(土) 16:18:22.30ID:BVXRqyRl
どんな言語でもエラーの判定はしながら実行してる
それで止まってしまうか例外として救えるかが違うだけで

どんな言語でもってことはないか
何も考えずにリソース破壊して終わりな言語はそれまでだけど、
それを軽くていいとは思えない
0171デフォルトの名無しさん2014/12/06(土) 16:20:34.40ID:1MG24EwX
例外処理という単語が指す対象による

例外ブロックを作ったことによる効率低下は大したことない
一部の最適化ができなくなるくらいだから

一方、実際に例外を投げたなら、どの言語でもそれなりのコストを生じる
0172デフォルトの名無しさん2014/12/06(土) 16:29:48.62ID:7IWME+c9
0除算は例外出るので有名だけど
いちいちif文なんか実行してないから
0173デフォルトの名無しさん2014/12/07(日) 02:49:25.06ID:QqVGX2+B
話の流れがわかってない子がいるみたいだね
0174デフォルトの名無しさん2014/12/07(日) 05:08:55.57ID:8OMeK6oQ
ifより例外のほうが重いイメージ
0175デフォルトの名無しさん2014/12/07(日) 10:45:35.98ID:5CT1OZvc
お前はたぶん馬鹿だから無理だろうなというイメージ
0176デフォルトの名無しさん2014/12/07(日) 10:49:56.50ID:s/qw7ugR
ぶっちゃけPythonで例外のコスト気にするようなプログラム書いたことねえよという事実
0177デフォルトの名無しさん2014/12/07(日) 12:51:19.52ID:8OMeK6oQ
まあループ最適化の脱出条件に例外使えば
最適化できるという誤解は誰もが通る道だわな
0178デフォルトの名無しさん2014/12/07(日) 12:54:25.49ID:GOj11zUj
PythonにもEffectiveJava的な本があるといいね
0179デフォルトの名無しさん2014/12/07(日) 13:12:03.36ID:8OMeK6oQ
そういった例外の使い方は例えばjvmでやると標準イデオムと比べて70倍程度は遅くなる
可読性もデバックのやりやすさも捨ててやることじゃない
10年以上前には話題に登ってて覚えてたんだが
pythonのvmは2001年時点のjvmより
おバカなのか?
0180デフォルトの名無しさん2014/12/07(日) 13:15:52.02ID:GOj11zUj
VMってかCPythonのインタプリタの実装は
かなり馬鹿正直、というか原始的なものだよ
0181デフォルトの名無しさん2014/12/07(日) 13:17:41.90ID:8OMeK6oQ
でもおじさんも計測してないや
pythonだとひょっとすると例外の方がはやいかもね
0182デフォルトの名無しさん2014/12/07(日) 13:30:04.59ID:om9D8KOg
多重ループ抜けるのにおもむろにオレオレエラー投げることはある
0183デフォルトの名無しさん2014/12/07(日) 13:32:59.51ID:GOj11zUj
PEP234でイテレータの終了判定にStopIterationを採用したことについて

> It has been questioned whether an exception to signal
> the end of the iteration isn't too expensive.

と述べられてる。
あまりコストが高くはなかったとはいえ、低いわけではない。
しかし続きを読むと分かるように、実装をシンプルに行えるメリットを彼らは選んだ。
0184デフォルトの名無しさん2014/12/07(日) 13:53:30.07ID:Mj+nApTs
コストなんざプロセッサが速くなれば屁でもなくなる
でも、コストを重視した設計やコードのツケはずっと残る
0185デフォルトの名無しさん2014/12/07(日) 14:11:22.03ID:GOj11zUj
どうかなー2倍速かったらクラスタのインスタンス数2分の1にできますよ
一概に容認されうるものじゃないと思うね
0186デフォルトの名無しさん2014/12/07(日) 14:15:51.13ID:8OMeK6oQ
http://ideone.com/MfOOfM
数値配列末尾に文字列入れて
意図的に例外で落とすようにしたらふつうのループの2倍程度遅い
でもif+型チェックよりは例外のほうが早かった

なんとも微妙な・・・
0187デフォルトの名無しさん2014/12/07(日) 17:17:03.41ID:E9NmwB+a
8おめこ
0188デフォルトの名無しさん2014/12/07(日) 18:17:38.73ID:XqgZFImA
>>186
例外が発生しなければ try/except のコストは極めて低いので、めったに発生しない例外ならば
例外を扱ったほうが良いというのFAQのどっかにあったね。
0189デフォルトの名無しさん2014/12/07(日) 19:32:02.09ID:8OMeK6oQ
try/except事態は早くてスタックフレームの巻き戻しとか重い操作は raise の時にやるんだよね
0190デフォルトの名無しさん2014/12/07(日) 22:39:07.66ID:gI6V648O
scipyのcurve_fitで、収束が悪くてある計算時間を超えたらスキップさせて次に飛びたいんですけど、どうしたら良いでしょうか?
0191デフォルトの名無しさん2014/12/08(月) 07:36:33.23ID:fTOrgTla
>>182
C# だけど、まさにそのコード書いたばかりだ w
0192デフォルトの名無しさん2014/12/08(月) 09:59:10.61ID:eZuxZoZp
今までみたPythonの例外処理で一番面白かったのはこんなの
http://atomic.jpn.ph/prog/etc/encode.html
http://speirs.blog17.fc2.com/blog-entry-4.html
http://d.hatena.ne.jp/kakurasan/20100330/p1
0193デフォルトの名無しさん2014/12/08(月) 10:14:48.98ID:moCEkmgW
>>192
エンコードが不明な文字列を片っ端からデコード試して
上手くいった奴が正解なんだよな
モヤモヤするけどね
0194デフォルトの名無しさん2014/12/08(月) 10:57:48.21ID:NGUYkyOW
エンコードが成功とか失敗とかどうやって判断してるか不思議なんだけど
人間だったら文字化けしてるの見て違うって判断できるけど
0195デフォルトの名無しさん2014/12/08(月) 11:17:03.49ID:UW8Yzuuq
もちろん例外が出ない意地悪な文字列を送り込むことは可能
あと例外出させるのにも判定の順番が微妙に影響する
どのコードで先にエンコードしてみるかっていうのが結構重要
0196デフォルトの名無しさん2014/12/08(月) 11:20:00.98ID:UW8Yzuuq
あと例えば送られてきたメールに
「ーソЫ\噂浬欺圭構蚕十申曾箪貼能表暴予・・・」
っていう文字列を発見して

「文字化けしてるっ!」て騒ぐひともいるし
「ああテストしてんだな」って暗黙の了解するひともいる
0197デフォルトの名無しさん2014/12/08(月) 11:21:52.23ID:UW8Yzuuq
>>195 の訂正
エンコードじゃなくてデコードと言うべきか
0198デフォルトの名無しさん2014/12/08(月) 12:22:31.05ID:B5d35WIQ
>>194
対応するコードがエンコード先の領域外、未定義だったら失敗でいいんじゃないか。
nkfみたいにマッピングしてるとこもあるかもだけど。
0199デフォルトの名無しさん2014/12/08(月) 21:25:30.06ID:NGUYkyOW
どうもありがとう
> 対応するコードがエンコード先の領域外、未定義だったら失敗
これだったらたしかに失敗ははっきりするね
それにあてはまらない場合もあってそのときは
けっこう微妙な判定をしてるってことかな
0200デフォルトの名無しさん2014/12/09(火) 08:02:03.59ID:8lyIelV0
ファイルを読み込む時には、バカの一つ覚えのように
decode('utf8')を行ってきましたが、正規表現の処理
をしない場合には必要ありませんよね?
0201デフォルトの名無しさん2014/12/09(火) 08:05:14.29ID:Uc1Az9NL
ああー馬鹿の一つ覚えですねそれ
0202デフォルトの名無しさん2014/12/09(火) 08:22:35.48ID:Uc1Az9NL
古来ダメ文字問題とか起こしてたのはこいつらです
0203デフォルトの名無しさん2014/12/09(火) 14:11:10.31ID:R/kYtbkl
文字コードとかpython3になったらトラブル減るからいいやと、真面目に取り組む気がしない。
そう思って数年、未だに2系…。
0204デフォルトの名無しさん2014/12/09(火) 19:17:54.02ID:6Ly9A1WV
『業務に役立つPerl』っていう本に「日本語を扱うための基本三原則」っていうのが出てたんだけど、
Pyhonも基本この考え方でいい?(ソースコードは文字コードさえちゃんと指定しとけば何でもいいという理解だけど)

・原則1:外部から入力された文字列はデコードして内部文字列に変換する
・原則2:外部へ出力する文字列はエンコードしてバイト文字列に変換する
・原則3:ソースコードはUTF-8で保存し、utfプラグマを有効にする
0205デフォルトの名無しさん2014/12/09(火) 19:37:38.16ID:ufM684Cv
>>204
バイト文字列って何だろ?
バイナリファイルのこと?
0206デフォルトの名無しさん2014/12/09(火) 19:51:55.53ID:6Ly9A1WV
>>205
当該本には

「バイト文字列」は、「バイナリ表現」「オクテット文字列」
「バイトストリーム」「バイト列」などと呼ばれることがあります。

バイト文字列はPerlから見た場合は単なるバイト列のように見えます。
知っているのはプログラマだけで、Perlはそれが文字列であるかどうかを知りません。

と書いてあります。
0207デフォルトの名無しさん2014/12/09(火) 20:03:39.61ID:0tFp5ltl
perlのそういうのが嫌で他の言語を探してpythonを試してるのに
0208デフォルトの名無しさん2014/12/09(火) 21:35:24.14ID:ufM684Cv
>>206
やっぱりテキストをバイナリデータに変換して外とやりとりすべし、という風に読めるな
だとしたら、その原則は言語に関係ないよ
メインフレームなど異質なアーキテクチャのコンピュータまで視野に入れれば、バイナリで
データをやりとりした方が無難という一般論に近い話だ
PC同士、ましてWindows同士ならば、cp932のテキストのままで何の問題もない
むしろutf-8などという後から出てきたコードに変換する方が恐い
0209デフォルトの名無しさん2014/12/09(火) 22:18:44.43ID:Z26sHvLQ
今頃何を言ってるんだ?
0210デフォルトの名無しさん2014/12/09(火) 22:24:28.18ID:ufM684Cv
>>209
今やっちゃいけない話なのか?
0211デフォルトの名無しさん2014/12/09(火) 22:54:18.19ID:kgT7s1o1
>>204
Python2ならそれと同じ

# coding: utf8
buf = open(...).read() # bufはstr(バイト文字列)
ustr = buf.decode("cp932") # CP932なバイト文字列をUNICODE文字列に変換
print ustr.encode("utf8") # UNICODE文字列をバイト文字列にして出力
0212デフォルトの名無しさん2014/12/09(火) 22:56:16.84ID:Z26sHvLQ
>>210
やってもいいけど、はたから見たら老害でしかないぞ
0213デフォルトの名無しさん2014/12/09(火) 23:44:44.11ID:ufM684Cv
>>212
そうか。>>208の回答を老害と言ってのける君は、さぞ素晴らしい回答をお持ちなのだろう
ぜひとも>>204に答えてあげてほしい
まさか批判だけして質問には答えないってことはないよね?
0214デフォルトの名無しさん2014/12/09(火) 23:51:43.65ID:wjaKv5Op
今時外とやりとりするのにCP932推奨とか老害以外の何者でもないな。
0215デフォルトの名無しさん2014/12/10(水) 00:01:59.64ID:OIninACF
>>213

>>211 に十分な答えが書いてある。
入力でデコード出力でエンコード

老害さん以外誰も「Windowsだったら中でCP932使ってるから外に出すときもそのままで問題ないUTF-8に変換なんて恐ろしい」なんて事は書いてない
0216デフォルトの名無しさん2014/12/10(水) 00:05:37.30ID:qqk3Jq5w
>>213
>>204 で問題ないだろ
何を言ってるんだよ w
0217デフォルトの名無しさん2014/12/10(水) 02:01:12.95ID:ZinxyrVV
utf8だとメモ帳て文字化けするから
cp932に全部代えてくれとか要望でたりする
0218デフォルトの名無しさん2014/12/10(水) 02:08:07.23ID:pKsr4IMo
変換するツールを作ってくれ、のがいろいろ使えて便利だと思うんだけどなぁ。
0219デフォルトの名無しさん2014/12/10(水) 02:30:51.47ID:ZinxyrVV
文字コードにある程度ルーズでもなんとかなるpython3さん流行れ
0220デフォルトの名無しさん2014/12/10(水) 02:37:11.79ID:aZsooZTQ
Python2はフォーク(ていうかごっそり移動して)して別言語になれ。
これがwin-win。
0221デフォルトの名無しさん2014/12/10(水) 03:21:24.95ID:jg27CPmW
中間コードに変換すりゃいいよ
0222デフォルトの名無しさん2014/12/10(水) 03:42:57.87ID:ZinxyrVV
よし、中間にうにこーどつかうぞー
0223デフォルトの名無しさん2014/12/10(水) 05:05:58.97ID:apQ/RdY4
Ethernet経由で流れてくるセンサデータ(パケット)を
Python 2.7 or 3以降で処理したいのですが、
丁度いいパッケージはありませんか?
.pcap形式で一旦溜めずに、逐次処理できる方法を
探してます。

当方Win7 64bit、センサはたとえば
北陽UTM-30LX-EWを想定しています。
0224デフォルトの名無しさん2014/12/10(水) 07:20:42.27ID:qqk3Jq5w
>>217
いつの時代のメモ帳だよ w
0225デフォルトの名無しさん2014/12/10(水) 07:42:08.52ID:OLff/u5a
たぶんbomがついてないのだろう
0226デフォルトの名無しさん2014/12/10(水) 08:04:12.84ID:8ny1pSA3
>>223
TCP か UDP か分かんないけど、
こんなもんでどう?

Lib/http/server.py
Lib/socket.py
Lib/socketserver.py

標準でどうでしょう?
最初は中を覗いてみるのをお勧めする。
0227デフォルトの名無しさん2014/12/10(水) 08:22:01.95ID:6oxelApi
bomつきutf8とかいみふめいなんだけど?
■ このスレッドは過去ログ倉庫に格納されています