トップページ⇒tech
1001コメント275KB

くだすれPython(超初心者用) その23

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2014/05/19(月) 15:00:17.89ID:C9xN4CIo
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その22
http://toro.2ch.net/test/read.cgi/tech/1394240091/
関連スレ
Pythonのお勉強 Part49
http://toro.2ch.net/test/read.cgi/tech/1387528488/

◆関連リンク Python の Home Page
ttp://www.python.org/

◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/

◆まとめwiki
ttp://python.rdy.jp/
0758デフォルトの名無しさん2014/07/18(金) 10:29:03.15ID:/To6Ge8W
8年前にSQL周りさわったとき日本語のエスケープに問題があって
ADOだったかODBCだったを使うしか解決法がなかったのを思い出した
Win,Macの場合。
0759デフォルトの名無しさん2014/07/18(金) 10:48:21.67ID:x9tj4BSU
>>755
全角しね
0760デフォルトの名無しさん2014/07/18(金) 12:54:20.38ID:xJrLNwHb
もしかして pytz って GAE で使えない?
0761デフォルトの名無しさん2014/07/18(金) 12:57:15.04ID:P4uOsCCD
>>758
馬鹿には無理
0762デフォルトの名無しさん2014/07/18(金) 15:55:41.87ID:YdyGEEfC
cx_freezeによる実行ファイル作成でエラーが出るのですが、こちらで質問してもよいですか?
0763デフォルトの名無しさん2014/07/18(金) 15:58:23.19ID:vSuYMOCy
馬鹿には無理とか言って悦に入る馬鹿w
0764デフォルトの名無しさん2014/07/18(金) 16:25:41.55ID:VaThYG4V
アホにいちいち反応してるご新規さんがいるな
0765デフォルトの名無しさん2014/07/18(金) 20:29:49.16ID:Ru6HYcPo
>>762
どうぞ
0766デフォルトの名無しさん2014/07/19(土) 21:10:02.83ID:HMKWNwCH
sqliteの件解決して、目的のものができました。

これを作ってました。
XBMCでOculus Rift動画を3D表示する「オキュラスリフトの穴」
http://xbmc.inpane.com/main/heavy_user/script_3d.php
0767デフォルトの名無しさん2014/07/19(土) 21:22:37.55ID:8YjNGjUy
なに、くれんの?
0768デフォルトの名無しさん2014/07/19(土) 22:40:31.86ID:ptJzet3B
gem updateみたいにpip updateができないのがクソすぎる
pipを作った奴はバカ
0769デフォルトの名無しさん2014/07/20(日) 00:42:30.32ID:vmfAl47l
pipは依存関係からインストールされたのも手動でuninstallしなきゃいけないのも面倒
0770デフォルトの名無しさん2014/07/20(日) 01:18:10.78ID:UDkgi1Do
pip なんて Windows ユーザーしか使ってないからじゃね
0771デフォルトの名無しさん2014/07/20(日) 09:44:12.43ID:9FmAbioD
easy_install も pip もイケてないのは確か
0772デフォルトの名無しさん2014/07/20(日) 10:45:53.07ID:flwzMsRi
通はpipじゃなくて何を使うんですか?
0773デフォルトの名無しさん2014/07/20(日) 11:21:01.32ID:QJ9acb3G
一流のプロは他人の書いたコードなんか信用しない。全フルスクラッチが基本。
0774デフォルトの名無しさん2014/07/20(日) 11:25:12.99ID:fiEij1Ci
とかなんとか言ってる会社のプロジェクトのビルドパスにApacheCommonsが入ってて笑ったことがある
へぇ〜ApacheCommonsってお前の会社で開発してんのかよw見かけによらないねwって
0775デフォルトの名無しさん2014/07/20(日) 12:53:58.34ID:gUYbsb4B
pip 使ってないとか情弱過ぎる
0776デフォルトの名無しさん2014/07/20(日) 15:12:35.68ID:3RRRNvFX
pipのゆびをふるこうげき!
0777デフォルトの名無しさん2014/07/20(日) 18:17:11.17ID:k6VJN0Us
たまに粗相をする pip
0778デフォルトの名無しさん2014/07/20(日) 18:35:26.22ID:0bRnrjsh
pipとかeasy_installとか1度も使ったことないや
使い方よく分からないからいつも解凍して /Lib/site-packages/ へ放り込んでる
0779デフォルトの名無しさん2014/07/20(日) 21:40:56.99ID:b5v1jhHt
>>778
コマンドプロンプトに
pip install pyvisa
とかってモジュール名最後に書くだけだぜ。難しいことは考えないでいい
0780デフォルトの名無しさん2014/07/21(月) 00:36:36.64ID:P1Sn4/kQ
Linux で pip 使おうとすると逆にめんどくさい。
ただでさえ pip 使えないのに。
0781デフォルトの名無しさん2014/07/21(月) 05:08:06.25ID:s+txt3IB
d["hoge"]が存在していれば1を足し、存在していなかったら新たに1を代入する

ということをやりたいんですがtry文やif分岐以外にもっと簡潔な方法はありますか?
0782デフォルトの名無しさん2014/07/21(月) 05:10:42.02ID:DpfIQ25M
setdefault 0 してから
d['hoge'] += 1
0783デフォルトの名無しさん2014/07/21(月) 05:14:58.70ID:s+txt3IB
setdefaultおよびgetでいけるようですね
ググり方もわからなかったので大変助かりました
ありがとうございます
0784デフォルトの名無しさん2014/07/21(月) 13:23:29.66ID:D7E6BSW4
collections.defaultdict を使おう
0785デフォルトの名無しさん2014/07/21(月) 21:57:53.40ID:DpfIQ25M
https://developers.google.com/api-client-library/python/apis/
0786デフォルトの名無しさん2014/07/21(月) 22:23:06.53ID:C4l1ZHqn
googleはさっさとPython3へ移行しろ
0787デフォルトの名無しさん2014/07/22(火) 13:27:14.74ID:K/+Rg7cZ
>>784
こんなのもあるんですね!勉強になりました。
0788デフォルトの名無しさん2014/07/22(火) 20:37:19.42ID:gSxXJR+8
文字列中に特定の文字を、数値に置換しててpackしてバイナリデータとして出力したいです。

ex) 文字列 = あいうえお●かき★けこ
●を0x40A0に置換
★を0x41A0に置換

verは2.7、文字コードはcp932を想定しています。変換後の数値とはcp932の文字コードに存在しない2バイトの値です。

単純に、文字列.replace(u'●', 0x40A0)とするとタイプエラーになってしまいます。unichrを使用しても、packする際にcp932へデコードするタイミングでdecode errorになってしまいます。

なにか良い方法はありますでしょうか。
ご教授いただきたく思います。
0789デフォルトの名無しさん2014/07/22(火) 20:52:36.29ID:AYC+IwPV
>>788
× ご教授  ○ ご教示
decodeのerrorsを'backslashreplace'にするとか
文字列.replace(u'●', '0x%04X' % 0x40A0)
0790デフォルトの名無しさん2014/07/22(火) 20:56:48.47ID:42eiqaUk
一文字ずつ自分で変換する
unicode.encode('cp932', 'backslashreplace')で我慢する
codecs.register_errorでちょっと細工したcodecs.backslashreplace_errorsを登録する
0791デフォルトの名無しさん2014/07/22(火) 21:03:22.85ID:HdN1aY08
>>788がやりたいのはこういう事だろ
u'あ●'.encode('cp932').replace(u'●'.encode('cp932'), '\x40a0')
0792デフォルトの名無しさん2014/07/22(火) 21:19:31.22ID:AYC+IwPV
>>791
> 変換後の数値とはcp932の文字コードに存在しない2バイトの値です。
って書いてあるよ
cp932に存在しない文字を.encode('cp932')すると'?'になるから
.replace('?', '\x40a0') やってるのと同じになってしまうよ

s = u'あいうえお●かき★けこ'
d = { u'●':'0x40A0', u'★':'0x41A0'}
for k, v in d.items():
 s = s.replace(k, v)
print(s)
0793デフォルトの名無しさん2014/07/22(火) 21:30:34.28ID:ode8XeGB
"0x41A0" は 6 バイトで "\x40A0" は 3 バイトだよ

ustr = u"あいうえお●かき★けこ"
table = {u"●": "\x40\xA0", u"★": "\x41\xA0"}
"".join((table[uc] if uc in tab else uc.encode("cp932")) for uc in ust)
0794デフォルトの名無しさん2014/07/22(火) 21:37:15.48ID:HdN1aY08
>>793
そうだった>>791は間違いだった、すまん。
これが多分正解
u'あ●'.encode('cp932').replace(u'●'.encode('cp932'), '\x40\a0')

>>792
変換後がcp932に存在しないだけで、変換前は関係ないだろ。
要するにl>>788は外字処理がしたいんだと思うんだ。
0795デフォルトの名無しさん2014/07/22(火) 21:38:04.61ID:HdN1aY08
また違ってたw
'\x40\xa0'な
0796デフォルトの名無しさん2014/07/22(火) 21:42:41.23ID:HdN1aY08
>>793
つーかもっと親切なコードじゃん。
ちゃんと見てなかった、すまんw
0797デフォルトの名無しさん2014/07/23(水) 01:00:18.91ID:O5J8bVCj
pyyaml.orgが死んでるのう
0798デフォルトの名無しさん2014/07/23(水) 06:49:16.35ID:SLj4nbIO
´
0799デフォルトの名無しさん2014/07/23(水) 11:10:55.87ID:wxSylTZO
numpy.arrayによる2次行列の入れ子に関してお聞きします
py 2.7

N = np.zeros((5,5))
N[1:3,1:2]の要素をそれぞれさらに
3分割にした上で、ひとつの行列
n = np.ones((9,6))
としたいのですが、
N[1:3,1:2] = nとするとvalueerrorをはきます

どうにか上記のような入れ子を実現する方法はないでしょうか
0800デフォルトの名無しさん2014/07/23(水) 11:30:52.58ID:rdKtmwhJ
N[1:3, 1:2] = np.ones((2,1))
0801デフォルトの名無しさん2014/07/23(水) 12:47:59.79ID:wxSylTZO
>>800
いえ、N[1:3,1:2]の要素それぞれ3×3に拡張して、6×4にしたいのです
説明が下手ですみません

なお、np.ones((9,6))ではなくnp.ones((6,4))でした重ねてすみません
よろしくお願いします
0802デフォルトの名無しさん2014/07/23(水) 12:54:40.48ID:rdKtmwhJ
N[1][1] = np.ones((3, 3))
N[2][1] = np.ones((3, 3))

と思ったが
これも出来ないな・・・
0803デフォルトの名無しさん2014/07/23(水) 18:56:09.80ID:SLj4nbIO
headers, body = httplib2.Http().request(hoge)
で取得したbody中に
+
とかいう文字列が含まれているのですが
body.replace('+', '+')
で一応解決は出来るんですけど
他にも&#ほぼ無限にあるので
上の回避方法は避けたいです

urllib.unquote_plus()
とか
cgi.unescape()
とかやってもうまく変換されません><
どうするのが普通ですか?
0804デフォルトの名無しさん2014/07/23(水) 19:00:27.97ID:SLj4nbIO
ああ
復元されて意味不明になってるので訂正です


+
とかいう文字列が含まれているのですが
body.replace('+', '+')
で一応解決は出来るんですけど
0805デフォルトの名無しさん2014/07/23(水) 19:05:07.62ID:SLj4nbIO
あれれ
まだ変だ

+
とかいう文字列が含まれているのですが
body.replace('+', '+')
で一応解決は出来るんですけど

です(&は実際には半角)
0806デフォルトの名無しさん2014/07/23(水) 19:13:15.55ID:+fllwUJb
scipyがpython 3.4で使えてる人いますか?linuxで
0807デフォルトの名無しさん2014/07/23(水) 19:42:57.94ID:tPSes4wc
Python2.7を使っていて,わからないところがあるので教えてください。よろしくお願いします。

例:
a = [ [1,2,3,4], [1,3,5,7],[2,9],[0,2,9]]
b = []
のようなリストがあり,以下のルールに従いbを作成します。
1)まず,a[0]をbにappendします
2)a[1]とb[0]は1,3の二つの数を共通に持つ→bにappendしない
3)a[2]はb[0]と2だけしか共通に持たない→bにappendする
4)a[3]はb[0]と2だけしか共通に持たないが,b[1]の[2,9]とは2,9の二つの数を共通に持つ→bにappendしない

など,a[i]は,bに入っているすべてと,共通の数が1つまでならbにappendします。

このbの作成方法をPythonで書く方法をどなたか教えてください。よろしくです
0808デフォルトの名無しさん2014/07/23(水) 19:55:38.79ID:zLpOunK4
>>805
python3.3でだけど

import re
def m2s(m):
 try:
  r = chr(int(m.group(1), 10))
 except:
  r = m.group(0)
 return r
body = re.sub(r'&#(\d+);', m2s, body, flags=re.ASCII)
0809デフォルトの名無しさん2014/07/23(水) 20:19:14.22ID:zLpOunK4
>>807
たぶんこんなの

a = [[1,2,3,4], [1,3,5,7], [2,9], [0,2,9]]
b = []
s = set()
for L in a:
 if len(s & set(L)) <= 1:
  b.append(L)
  s |= set(L)
print(b)
0810デフォルトの名無しさん2014/07/23(水) 20:41:43.45ID:tPSes4wc
>>809
できました、ありがとうございます
0811デフォルトの名無しさん2014/07/23(水) 22:38:44.56ID:Nz3OijTp
>>801 いえ、N[1:3,1:2]の要素それぞれ3×3に拡張して、6×4にしたいのです

N = np.zeros((5,5)) の時点で、メモリ領域に 5x5=25 integer 領域が固定して確保さ
れ、代入処理は そのメモリ領域を変更するだけだ。scipy の行列は代入処理でダイナ
ミックに変更できない。

np.array(.. ,dtype=object) ならば、ポインタ領域が確保されるので何でも入れられ
る。でも 5x5 行列であることは代入処理では変更できない。

ダイナミックに行列サイズを変更するためには、np.r_, np.c_ などで行列を再構築するしかないと思う。
0812デフォルトの名無しさん2014/07/24(木) 04:04:39.31ID:l1kLK0hB
他のくだすれにちょっかいだしてる基地害がいるのはここですか。
0813デフォルトの名無しさん2014/07/24(木) 06:08:29.65ID:9x4xX2JT
>>808
ありがとうございます

結局テンプレートエンジンの方で HTML-safe の出力モードになっていたのが原因で
HTML-safe を無効にして出力したところ + 等の変換はされず
生データが取れるようになったので受け取り側の調整は不要になりました

後学の参考にさせて戴きます
0814デフォルトの名無しさん2014/07/24(木) 07:29:39.38ID:ebRHPxH6
intがintegerとかstdio.hがStandard I/O みたいに略称を説明しない本が多い気がする
絶対略しない英単語まで知っていたほうが理解が早いと思うんだけど
こういうのまとめた本とかサイトないかな?
0815デフォルトの名無しさん2014/07/24(木) 07:32:11.89ID:ebRHPxH6
ごめん スレ間違えた
0816デフォルトの名無しさん2014/07/24(木) 07:35:15.13ID:5ppJSI20
3って日本語ドキュメントないのかよ
0817デフォルトの名無しさん2014/07/24(木) 07:37:50.93ID:ebRHPxH6
http://docs.python.jp/3.4/index.html
0818デフォルトの名無しさん2014/07/24(木) 07:54:28.15ID:1L3jo/Hu
prep って何の略だろうと思ってたけど
prepare だった
0819デフォルトの名無しさん2014/07/24(木) 07:55:46.29ID:1L3jo/Hu
気付くのに 10 年かかった
0820デフォルトの名無しさん2014/07/24(木) 08:34:37.03ID:qhlg+fBS
略し方にもセンスが必要だよな
センスが全く感じられない代表例のはC++STLのiostreamとか
0821デフォルトの名無しさん2014/07/24(木) 10:18:08.75ID:2xZpDB05
strstream と sstream はいつも混乱する
const 付ける場所もいつも思い出すのに苦労する
0822デフォルトの名無しさん2014/07/24(木) 10:22:35.08ID:9x4xX2JT
藁人形を解して紐にすると良い
0823デフォルトの名無しさん2014/07/24(木) 10:44:36.47ID:LYKpSRnH
いつのまにか3.4の翻訳動いてたな
やればできるじゃん
0824デフォルトの名無しさん2014/07/24(木) 11:11:57.78ID:Qd1TKLhx
終わる頃には次バージョン
0825デフォルトの名無しさん2014/07/24(木) 11:35:26.79ID:QpDvRMNd
pythonで画像の連結
全て同じ高さ(縦画素数)の画像それらを横一列に並べて一つにした画像を作成
ってどうやればできますか?
0826デフォルトの名無しさん2014/07/24(木) 11:47:53.57ID:uRHH4HdS
略し方はC++使う奴らがクソ味噌を極めたせいかその後に現れた言語とかライブラリはなんとか理解できる水準を保ってるな
0827デフォルトの名無しさん2014/07/24(木) 12:12:58.21ID:Qa9ovyB3
>>825
OpenCV
0828デフォルトの名無しさん2014/07/24(木) 12:51:23.91ID:17Qsf0+v
PIL (+numpy) でもできはするとおもう
0829デフォルトの名無しさん2014/07/24(木) 12:52:30.31ID:qhlg+fBS
じゃあ俺はsubprocessでimagemagick呼びます
0830デフォルトの名無しさん2014/07/24(木) 14:11:10.24ID:YYZcRBnC
>>811
ありがとうございます理解しました
他の方法を考えようと思います
0831デフォルトの名無しさん2014/07/24(木) 20:41:54.60ID:edQn8KXE
PILに一票
0832デフォルトの名無しさん2014/07/24(木) 23:47:00.20ID:hPcihfqt
>>788です。
みなさまご回答ありがとうございました。無事packすることができました。

まだまだわからないことばかりなので、勉強頑張ります。この度は本当にありがとうございました!
0833デフォルトの名無しさん2014/07/24(木) 23:48:35.48ID:7hiyT5pr
ここ見てると案外pythonもはやってるんじゃないかって気がしてくる
0834デフォルトの名無しさん2014/07/25(金) 00:03:33.12ID:cQJQccdW
ほとんど自演なのにそんなこと書いて虚しくない?
0835デフォルトの名無しさん2014/07/25(金) 01:04:57.02ID:VwCinF7f
Pythonがスクリプト言語のマジョリティじゃないのは日本くらいじゃないの?
日本でもマジョリティになってるのかもしれんけど。
0836デフォルトの名無しさん2014/07/25(金) 01:21:36.89ID:dqbP+8b3
一般は知らんが研究職ではjavaとpythonがツートップだな
0837デフォルトの名無しさん2014/07/25(金) 06:29:05.88ID:19v+mu9O
日本には国策言語のRubyがあるから
同じ立ち位置のPythonは厳しいね
Rubyの仕事はあるけど、Pythonの仕事は見たことがないし
0838デフォルトの名無しさん2014/07/25(金) 07:32:28.51ID:+m+5tJJE
ガラパゴってます
フハハ
0839デフォルトの名無しさん2014/07/25(金) 07:36:09.39ID:6iRU1OZj
日本が駄目なのは会議があるから
0840デフォルトの名無しさん2014/07/25(金) 08:29:58.53ID:EHS7vxYy
かわりにディスカッションを。
0841デフォルトの名無しさん2014/07/25(金) 09:43:47.33ID:DtHY6YJQ
rubyとかいうperl並に汚い言語なんとかならないかなぁ…
0842デフォルトの名無しさん2014/07/25(金) 09:45:22.18ID:cQJQccdW
ruby嫌なら使わなければ良い
0843デフォルトの名無しさん2014/07/25(金) 10:37:08.83ID:0UOGck6o
rubyとかいうperl並に汚い言語(を使ってる、要求してくる奴ら)なんとかならないかなぁ…
0844デフォルトの名無しさん2014/07/25(金) 10:47:12.33ID:cQJQccdW
数年前はpythonなにそれ知りませんとか抜かしてたが今はどうなんだろ
0845デフォルトの名無しさん2014/07/25(金) 10:53:01.15ID:LKOgwVhO
10年前ならともかく数年前でそんなこと言ってる人がいたらアホだよ
0846デフォルトの名無しさん2014/07/25(金) 11:33:52.20ID:Wq/6ddtA
c,c++,php,perl,ruby,pythonと渡り歩いたけどrubyだけ存在価値がわからない。
pythonを知るまでperlと比べたら良いなと思ったけど。
0847デフォルトの名無しさん2014/07/25(金) 12:09:18.05ID:WLh8J9pC
RT >846
0848デフォルトの名無しさん2014/07/25(金) 13:09:28.56ID:Zbtf04Lx
pyconってustreamで配信とか無いの?
このへんが他の言語のカンファレンスと比べるとやっぱり営利優先な感じがするから嫌なんだよね
PHPはustreamで配信してるよ
0849デフォルトの名無しさん2014/07/25(金) 13:26:08.38ID:WLh8J9pC
youtube で見た気がする
0850デフォルトの名無しさん2014/07/25(金) 13:48:29.68ID:qwghw2Dz
PyCon 2014 Montreal
https://www.youtube.com/user/PyCon2014

PyCon APAC 2014 Taiwan
https://www.youtube.com/channel/UCHLnNgRnfGYDzPCCH8qGbQw

PyCon APAC 2013 Tokyo
https://www.youtube.com/user/PyConJP/featured
0851デフォルトの名無しさん2014/07/25(金) 13:55:54.61ID:WLh8J9pC
なぜセーラームーン
0852デフォルトの名無しさん2014/07/25(金) 14:37:15.04ID:Zbtf04Lx
ふざけんなよリアルタイムで配信しろよ
0853デフォルトの名無しさん2014/07/25(金) 15:27:00.65ID:viDSh8g8
PyConなんて大して面白い発表もないのに
わざわざ時間潰して観たいとか奇特なもんだな
0854デフォルトの名無しさん2014/07/25(金) 16:27:55.32ID:E+HIgnLl
14時前にscipyのインストール始めたけど時間かかりすぎだろ
Windowsのほうがインストール楽
0855デフォルトの名無しさん2014/07/25(金) 16:29:24.49ID:0UOGck6o
てかリアルタイム配信してるし
0856デフォルトの名無しさん2014/07/25(金) 16:58:50.94ID:E+HIgnLl
インストール失敗\(^o^)/ナンテコッタイ
0857デフォルトの名無しさん2014/07/25(金) 17:35:29.79ID:8V0dGY0g
>>853
そうだね
youtube に上がってるのいくつか見たけど
Python を既に知ってる人にとってはつまらないという気がした
Python を知らない人に Python ってこんなに良いんだよ
こっちにくればっていう発表が多いような気がした
だけど多分あれ見ても Python やろうって思わない orz
■ このスレッドは過去ログ倉庫に格納されています