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

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その21
http://toro.2ch.net/test/read.cgi/tech/1388634728/
関連スレ
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/
2デフォルトの名無しさん:2014/03/08(土) 09:57:50.20
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
3デフォルトの名無しさん:2014/03/08(土) 09:58:29.87
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
4デフォルトの名無しさん:2014/03/08(土) 09:59:20.78
5デフォルトの名無しさん:2014/03/08(土) 10:05:57.32
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
6デフォルトの名無しさん:2014/03/08(土) 10:13:02.57
【重要】
hogeは禁止です。使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
また、hogeはNGワードに追加しておくことが強く推奨されています。


--------テンプレここまで--------
7デフォルトの名無しさん:2014/03/08(土) 10:16:00.00
それじゃあ質問
今居る関数の、関数オブジェクトを表している特殊変数ありませんか?
下記のような時 __self__ みたいな特殊変数があると
this = hoge_hoge_fuga_fuga しなくて済むのだけど

def hoge_hoge_fuga_fuga():
  this = hoge_hoge_fuga_fuga
  if 'x' not in this.__dict__:
    this.__dict__['x'] = 100
  this.x += 1
  print(this.x)

hoge_hoge_fuga_fuga()
hoge_hoge_fuga_fuga()
8デフォルトの名無しさん:2014/03/08(土) 17:08:06.02
1おっぱいそん。
9デフォルトの名無しさん:2014/03/08(土) 17:36:13.07
_self
10デフォルトの名無しさん:2014/03/08(土) 18:10:52.63
getattr(__import__('__main__'), '__name__')
11デフォルトの名無しさん:2014/03/08(土) 21:36:21.87
debu hage():
12デフォルトの名無しさん:2014/03/09(日) 00:49:17.03
プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/
13デフォルトの名無しさん:2014/03/09(日) 13:02:28.26
sikuliというソフトでpythonの外部モジュールを読み込む方法を教えてください

C/Python27/Libの中にモジュール名でフォルダを作って中にinit入れたらコマンドプロントやidleではimportできるのに同じプログラムをsikuli実行すると
ImportError(No module named json)と表示されます
これはsikuliがjythonだからでしょうか?
教えてくださいお願いします
14デフォルトの名無しさん:2014/03/09(日) 13:21:32.13
色々問題があるので2つに分けるぞ

・Jythonにモジュールパスを追加する方法
何らかの方法でsys.pathにライブラリのディレクトリが入っていればいい
PYTHONPATHは効果がない
JYTHONPATHは引数で指定する
site.pyを編集するとか、sys.pathを直に弄る方法もある

・Jython2.5でPython2.7のライブラリが動くかどうか
JythonはCPython2.5+α(with構文などは使える)なのでかなり怪しい
仮に動いても誰も保証をしない
setuptools(pip)は既に2.5を切り捨てたので使えない(はず)
15デフォルトの名無しさん:2014/03/09(日) 13:26:31.63
あ、あくまでも一般的なJythonについて書いたので
そのソフトの使い方はそのソフトのスレか公式のフォーラムで聞いてください
ないor英語が読めないなら自動化なんて諦めて寝てください
16デフォルトの名無しさん:2014/03/09(日) 13:51:55.45
話の半分くらいしか理解できなかったけどforumで「python mudule」で調べましたが有益な情報がないのでsikuliは諦めます
ですがpywinautoとかいうすごいの見つけたんでsikuliの代わりに使ってみたいと思います
わざわざ長い文章でご回答いただきありがとうございました
17デフォルトの名無しさん:2014/03/09(日) 16:16:11.65
こんにちは。
qpythonの質問ってここでしていいですか?
qpythonでmathライブラリを使いたいのですけど、標準で入ってないとのこと。
http://qpython.org/question/856/qpython-math/

pythonの標準ライブラリを手動インストールする方法などありましたらご教示いただけませんか?
18デフォルトの名無しさん:2014/03/09(日) 16:46:18.22
>>17
特にインストールした覚え無いけど使えてるな
ttp://i.imgur.com/CypKwbx.png
19デフォルトの名無しさん:2014/03/09(日) 17:23:33.62
>>18
すみません、自己解決しました。
まず上のスクショの通りにmath.piが表示されているのを確認しました。
次にエラーメッセージをよく見てみたらどうやら行頭の空白部分を指し示していたので、一旦空白を削除してもう一度インデントしなおしたら動きました。
courseraの課題のプログラムをネットからコピペしたので空白がおかしくなってたのかもしれません。
ありがとうございました。
20デフォルトの名無しさん:2014/03/09(日) 17:31:43.86
>>17
質問する前にまず公式くらい読もうなファック野郎
http://qpython.org/question/62/how-to-install-3rd-part-python-modules-for-qpython/
21デフォルトの名無しさん:2014/03/09(日) 17:48:06.75
>>20
勿論読みましたよ。
その元になるmath.pyが何処にあるのかということと、math.py単体の動作チェックの仕方が分かってなくて躓いてましたから。
結局math.pyで検索して見つけたファイルをその位置に置いたら出来たので。
22デフォルトの名無しさん:2014/03/09(日) 19:33:47.71
ゴミだなコイツ
23デフォルトの名無しさん:2014/03/09(日) 20:46:03.95
さすがに別人だろ
24デフォルトの名無しさん:2014/03/09(日) 20:53:54.23
Pythonはゆとり言語だから仕方ないね
25デフォルトの名無しさん:2014/03/09(日) 21:19:32.33
pass
26デフォルトの名無しさん:2014/03/09(日) 22:00:32.08
みんなipython使ってるの?
27デフォルトの名無しさん:2014/03/09(日) 23:29:11.38
何でそんなくだらないもの使わなきゃいけないんだ?
28デフォルトの名無しさん:2014/03/09(日) 23:35:45.82
for i in res:
ac["id"].append(i[1])
ac["pw"].append(i[2])

i[1]にid, i[2]にpwが格納されています。
id = ac["id"][0]
pw = ac["pw"][0]
のように取り出したいのですが、どのように記述したらいいでしょうか?
一つのリスト?にid,pwと2つの情報を入れて、同じキー番号で取り出したいです。
素人すぎてすみませんw
29デフォルトの名無しさん:2014/03/10(月) 00:37:04.25
ac = {}
acs = []
for i in res:
ac["id"] = i[1]
ac["pw"] = i[2]
acs.append(ac)

id = acs[0]["id"]
pw = acs[0]["pw"]
30デフォルトの名無しさん:2014/03/10(月) 00:37:54.53
>>28
辞書使ったら?

for x, id, passward in res:
  account = {"id": id, "password": passward}

id = account["id"]
passward = account["passward"]
31デフォルトの名無しさん:2014/03/10(月) 02:34:47.57
あぁ、クソっ!
インフルエンザにかかって辛い
お前らも気を付けろよ
32デフォルトの名無しさん:2014/03/10(月) 05:47:39.78
>>28 namedtupleの出番

from collections import namedtuple

User = namedtuple("User", "x,id,password")

res = [(None, "id01", "pw01"), (None, "id02", "pw02")]

accounts = [User(*x) for x in res]

for user in accounts:
 print("{:2} {}".format(user.id, user.password))
33デフォルトの名無しさん:2014/03/10(月) 06:00:48.85
wxpythonで艦これ用のタイマー作ろうとしているのですが→リンクideone.com/1OjysO
時間数えるとGUIの処理を持っていかれてウインドウが使えなくなります
何か改善策ありますかね?
34デフォルトの名無しさん:2014/03/10(月) 06:22:06.78
>>28
順番気にしないなら、id を辞書のキーそのものにすればいい
ac = dict(a[1:3] for a in res)
つまり
ac = {}
for a in res:
  id, pw = a[1:1+2]
  ac[id] = pw
35デフォルトの名無しさん:2014/03/10(月) 06:41:38.21
>>33
wxpython知らんけど、
wx.Timer 使えない? sleep だとMainLoop まで固まってると思うよ
36デフォルトの名無しさん:2014/03/10(月) 07:18:58.84
>>35
おおそんな便利なものがあるんですね
ありがとうございます
37デフォルトの名無しさん:2014/03/10(月) 20:14:11.30
「リバースエンジニアリング ―Pythonによるバイナリ解析技法」って本どうなの?
Pythonそのものにはあんまり触れたこと無いんだが、読んでおくと勉強になったりするんだろうか
読み物として面白くて実用的なら買いたいな、と。
38デフォルトの名無しさん:2014/03/10(月) 20:50:16.42
>>37
ウイルスの解析とかする人は必携
pydbg とか DLLインジェクションの話しだから興味が
無い人にはつまらないかも
39デフォルトの名無しさん:2014/03/10(月) 23:50:23.99
Google Python Class Day 1 Part 1
http://www.youtube.com/watch?v=tKTZoB2Vjuk
40デフォルトの名無しさん:2014/03/11(火) 00:26:09.23
f = open("log.txt","r+")
log = int(f.read())
log += 1
f.write(str(log))
f.close()

実行するたびにカウントアップしたいんですけど、なにがいけませんか?
41デフォルトの名無しさん:2014/03/11(火) 00:34:44.76
ん?
一つのf=open()の動作内でread()とwrite()を行うサンプル見たことないな
俺は殆んどファイル操作しないから分からんけど
42デフォルトの名無しさん:2014/03/11(火) 00:39:31.94
>>40
>なにがいけませんか?
エラー文を書いてないところ

"r+"ってなにができるんだ
43デフォルトの名無しさん:2014/03/11(火) 00:51:10.65
>>40
複数のプロセスで同時に呼び出される可能性があるなら、ロックが必要。データが壊れる可能性がある。
書き込みに関しては、write前に truncateしないと前のデータが残ったまま
44デフォルトの名無しさん:2014/03/11(火) 01:10:54.64
>>40
リードでファイルのヘッドが(次の行へ)移動するからじゃね
で、移動した2行目にログをライトしてるから、カウントアップにならない
対策としては、ライトの直前でファイルの先頭へシークする
45デフォルトの名無しさん:2014/03/11(火) 01:44:57.45
>>44
そんな感じだな
つまり>>41が書いてるように、open()とclose()の中をどっちかだけにするか、
現在位置を戻すかだな

あと、r+って事はちゃんと対象のファイルは存在してるのか?
46デフォルトの名無しさん:2014/03/11(火) 03:38:58.07
ロックが必要
47デフォルトの名無しさん:2014/03/11(火) 21:10:08.21
コレでできました。ありがとうございました。

f = open("log.txt","r")
log = int(f.read())
log += 1
f.close()
f = open("log.txt","w")
f.write(str(log))
f.close()
48デフォルトの名無しさん:2014/03/11(火) 21:39:06.45
そら、できるわな・・
49デフォルトの名無しさん:2014/03/11(火) 22:06:34.12
python2.7.3
wxpython使ってイメージビュアーを作りたいんですけど、
ボタンと画像が重なってしまって、正しく動きません。

http://ideone.com/EUjMf3

どこが間違っているのか、どなたか教えてもらえませんか?
50デフォルトの名無しさん:2014/03/11(火) 23:32:04.13 ID:s+CGgq+g
>>49
今すぐに試せないけど、レイアウト self.SetSizer(root_layout) してみるとどう?
5149:2014/03/12(水) 00:45:15.13 ID:dsbQZ8Cz
>>50
出来ました!
ありがとうございます。
52デフォルトの名無しさん:2014/03/12(水) 23:46:06.54 ID:KdBh17ll
文字入力ダイアログを表示して入力された文字を返すにはどうすればいいですか?
今のコードはこんな感じですが不要なウインドウを表示させないようにしたいです

import tkinter as tk
import tkinter.simpledialog as sd
class main_window(tk.Frame):
  def askstr(self):
    return sd.askstring("test askstring", "input", initialvalue="hoge")
root = tk.Tk()
mw = main_window(root)
print(mw.askstr())
53デフォルトの名無しさん:2014/03/13(木) 00:16:02.24 ID:dvaQTbQU
root.withdraw()
54デフォルトの名無しさん:2014/03/13(木) 02:51:40.45 ID:BYFS1Mtu
>>53
ありがとうございます
55デフォルトの名無しさん:2014/03/13(木) 18:11:05.47 ID:KpZxdPF1
WindowsでPythonのパッケージをインストールするとき、
pipだとエラーが出るのでGohlkeさんのインストーラを使うことが多いんですが、
virtualenvを使っていて仮想環境の中にパッケージをインストールするときはどうしたらいいんでしょうか?
56デフォルトの名無しさん:2014/03/14(金) 18:00:52.83 ID:VIcRWG3n
3.x系より2.7系の方が入門サイトが多くてオススメだと聞いたんですが、対応しているモジュールの数など、他に利点ははありますか?
57デフォルトの名無しさん:2014/03/14(金) 19:45:56.17 ID:VIcRWG3n
>>56
>モジュールではなくeasyinatall や ipyhonのような追加機能でした
58デフォルトの名無しさん:2014/03/14(金) 20:05:34.49 ID:DLd7PKwH
>>56
ない
3系の方が標準モジュールも整理されてるし、文字コード周りで苦しむ事もない
対応しているモジュールの数にしても、未だに3に対応してないぐらい開発が停滞してるモジュール使うぐらいなら、
既に3に対応してる別のモジュールを選択したほうがいい

チュートリアル
http://docs.python.jp/3.3/tutorial/index.html

強いられてないなら3から始めた方がいい
59デフォルトの名無しさん:2014/03/14(金) 22:01:45.61 ID:VIcRWG3n
>>58
ぱっと見わからなかった。
色んなOSでの操作を同時に説明してるんですね。
を参考にpython勉強してみます
ありがとうございました!
60デフォルトの名無しさん:2014/03/14(金) 22:12:43.67 ID:DLd7PKwH
>>55
Windowsでpipとvirtualenv試したら普通に使えたよ

>>> import sys
>>> sys.path
['', 'C:\\Windows\\system32\\python33.zip', 'C:\\Users\\panmatsuri\\test_env\\DLLs', '
C:\\Users\\panmatsuri\\test_env\\lib', 'C:\\Users\\panmatsuri\\test_env\\Scripts', 'D:\\Prog
ram\\Python33\\Lib', 'D:\\Program\\Python33\\DLLs', 'C:\\Users\\panmatsuri\\test_env',
'C:\\Users\\panmatsuri\\test_env\\lib\\site-packages']

Pyramidのサンプルも動いたよ
(test_env) C:\Users\panmatsuri>python test_pyramid.py
127.0.0.1 - - [14/Mar/2014 22:11:51] "GET /hello/me HTTP/1.1" 200 9
61デフォルトの名無しさん:2014/03/14(金) 22:46:25.94 ID:04HJhvAk
そのvirtualenvの中にPILとnumpyとscipyいれてみて
62デフォルトの名無しさん:2014/03/14(金) 23:02:09.95 ID:xXHYHr6/
じゃあanacondaを入れましょう
63デフォルトの名無しさん:2014/03/15(土) 01:51:50.54 ID:2XTh0Nab
>>56
騙されるなよ
Python3はまだ早い
あと2年待て
64デフォルトの名無しさん:2014/03/15(土) 02:17:31.10 ID:Cis/z5E9
>>63
公式は、来年で保守終わる予定だよ。read PEP 373
65デフォルトの名無しさん:2014/03/15(土) 08:06:40.10 ID:4X5wGnef
mechanizeはpy3対応してないんですか?それで2係から移行できないでいます。
66デフォルトの名無しさん:2014/03/15(土) 09:03:41.03 ID:2wONVlT3
>>65
してないし、しないよ。賭けてもいい。
根拠はgithubのソースツリーが2年間全く更新されてないから。
67デフォルトの名無しさん:2014/03/15(土) 09:12:57.86 ID:2wONVlT3
無理に移行しろとは言わないが、
最終的にはそのまま心中するか、
Rubyistに転生することになるだろう。
今までご苦労だった。安らかに旅立てよ。
68デフォルトの名無しさん:2014/03/15(土) 13:07:11.35 ID:a+TS82Fo
3系ってそんなにヤバいの?
処理速度も2系より遅いとかなんとか。
69デフォルトの名無しさん:2014/03/15(土) 13:32:19.35 ID:E7qCmrfx
更新してくれたひとありがとう
http://python.rdy.jp/
70デフォルトの名無しさん:2014/03/15(土) 17:58:59.04 ID:TGPQLRMC
It's
71デフォルトの名無しさん:2014/03/15(土) 22:17:08.65 ID:v9COd3Iu
Python3系ってあんまり浸透してないの?
72デフォルトの名無しさん:2014/03/15(土) 22:37:46.21 ID:2wONVlT3
どういう状況になると浸透したと言えるのか基準がないので何とも
73デフォルトの名無しさん:2014/03/15(土) 22:48:21.66 ID:ce6c6M/L
>>71
浸透という意味をどういうレベルで捉えてるのかはわかないけど、
Pythonのメジャーなフレームワークは既に対応してる
Windows、MacではPython3ノインストーラが用意されている
unix系OSのinstall pythonでPython3が入るところまではいってない
一部のOS、ディストリビューションではinstall python3で入れられる

日本で比較的メジャーなRedHat系ディストリビューションの実験場であるFedoraprojectでは
今年の年末から来年にかけてリリースされるバージョンでPython3がデフォルトになる予定
その結果はいずれ、RHELに取り入れられ、派生ディストリビューションであるCentOSなどにも反映される

個人的な感じではinstall pythonでpython3が入るようになったらpython3浸透したなぁって感じるかな
あと、自分は制約がないなら3使う
74デフォルトの名無しさん:2014/03/15(土) 22:55:20.19 ID:2wONVlT3
俺の基準としては・・。
RHL(CentOS)とDebianにデフォルトで入ったらシェア的に浸透したと言えるかなって思う

現状としてDebianには入った
RHLは驚愕の2.4.3だ
WindowsXPよりこいつらの方が潜在的に危険だと思えてならない
75デフォルトの名無しさん:2014/03/15(土) 23:10:49.39 ID:4oHlMdiA
>>72
・2 と 3 どちらがいいの?という質問が起きない
・ごくまれに質問があっても、あえて 2 を選ぶ価値は
 どこにも無いことが住人達の共通認識なので、話題や議論にならない

こんな状況(現状は、程遠い)
76デフォルトの名無しさん:2014/03/15(土) 23:57:25.40 ID:WPMUAKy7
RHやDebianでPython3がデフォになるのはディストリの中では最後でしょ。
最大多数派のUbuntuとその派生組や、他にArchLinuxとかはとっくに3がデフォになってる。
77デフォルトの名無しさん:2014/03/16(日) 00:17:21.83 ID:/s4Ozt32
皆3使ってると思ってたんだが…
78デフォルトの名無しさん:2014/03/16(日) 00:32:42.59 ID:6lDs1CH4
ごく短い使い捨てコードしか書かないので正直どっちでもいい・・・
79デフォルトの名無しさん:2014/03/16(日) 00:36:54.10 ID:x3s7NqCl
前にもこんなこと書き込んで若干笑われた(?)けど google app engine が3未対応でちょっと不便
80デフォルトの名無しさん:2014/03/16(日) 01:24:49.46 ID:oNuhFUS2
>>76
クライアントユーザーや木っ端ディストリに何が入ってるかなんてどうでもいいよ
サーバーの覇権ディストリが大事なの
全てといってもいい
81デフォルトの名無しさん:2014/03/16(日) 01:25:00.22 ID:F9crUbv3
Fedoraはデフォルトが3じゃないってのは意外だったな
82デフォルトの名無しさん:2014/03/16(日) 08:51:10.58 ID:WDiZRd/e
Python2を使っている人がPython3を使う理由はない
面倒を背負い込むだけ
新規に始めるのならPython3でもよい
問題になる可能性は少ない

言い換えれば全くの新規プロジェクトやるのならPython3でもおk
83デフォルトの名無しさん:2014/03/16(日) 08:59:10.78 ID:pXWrRWdV
やりたいことに関する対応モジュールあるの確認してからなら3でもいいよ
84デフォルトの名無しさん:2014/03/16(日) 09:45:00.08 ID:3n7hj7pi
超初歩的な質問なんですが、こういう事がしたいからこのモジュールが必要っていう知識はどうやって身につけるんですか?
85デフォルトの名無しさん:2014/03/16(日) 09:46:24.18 ID:pXWrRWdV
ggrks
86デフォルトの名無しさん:2014/03/16(日) 09:53:15.18 ID:mx8OaDrZ
すべての答えが書いてないとダメなんだろうねこういう子
87デフォルトの名無しさん:2014/03/16(日) 10:14:00.29 ID:dno/6804
>>84
俺はpypiで単語検索して引っかかったやつのリファレンス見るけど。
初心者抜けるか抜けないかぐらいのレベルだから、日本語で使ってる人がいたら参考になるのでなおよし。
88デフォルトの名無しさん:2014/03/16(日) 10:28:51.82 ID:nRdR8dPO
そこまでくると初心者どころかこのスレ卒業のレベル
89デフォルトの名無しさん:2014/03/16(日) 11:39:15.67 ID:q86Th0e7
プログラミングはなにか?というところから始まって最終的にはPythonをほぼ完璧にできる本ってありますか?
90デフォルトの名無しさん:2014/03/16(日) 11:41:21.08 ID:zg3i1lVV
>>84
このスレで聞く
91デフォルトの名無しさん:2014/03/16(日) 11:51:03.31 ID:0Al8sGk4
何か一冊で終えたい気持ちはわかるが
それはダメだな
本の前提や目的が一見同じでも実際には顕示されないこまい前提や目的がそれぞれ異なっている。
最低三冊から五冊は読みたいところ。

ま、ファイルを読み込んで加工して書き出すとか、そんなレベルでいいなら
本なんかいらんけど。
92デフォルトの名無しさん:2014/03/16(日) 12:07:49.76 ID:ThyE+Nxo
>>89
とりあえず、チュートリアルやって
http://docs.python.jp/3.3/tutorial/index.html

標準のライブラリリファレンスみながら、何か作ってみて
http://docs.python.jp/3.3/library/index.html

どうしたらいいんだって思った時には、とりあえずFAQ読む
http://docs.python.jp/3.3/faq/index.html

プログラミング関連の本って、言語を学ぶために買うっていうより、概念とか方法論学ぶために買うってイメージだわ。買ったこと無いけど
93デフォルトの名無しさん:2014/03/16(日) 12:10:47.37 ID:ThyE+Nxo
>プログラミングはなにか?というところから始まって最終的にはPythonをほぼ完璧にできる本ってありますか?
あと、これができる本があったとしても、初めてプログラミング勉強するっていう人にわかり易いとは限らない

ほんと、仮の話だからね
94デフォルトの名無しさん:2014/03/16(日) 12:13:41.59 ID:6lDs1CH4
まず、英語を勉強します。

というか書いたり話したりはいいとしてもざっくりでも読めないと話にならない。
95デフォルトの名無しさん:2014/03/16(日) 12:14:53.08 ID:lQbZRoHX
そういや強制IDになったんだな
96デフォルトの名無しさん:2014/03/16(日) 12:28:06.38 ID:WDiZRd/e
>>94
これこれ
Pythonやる上でもっとも重要なのは英語ドキュメントが読めるか読めないかだよね

掴みの部分は日本語に翻訳されたマニュアルとかチュートリアルで十分な気がする
まったくプログラミング未経験なら話は別だけど基本書籍は不要じゃないかな
でも結局は英語力がないとPythonの蜜を享受できない
97デフォルトの名無しさん:2014/03/16(日) 13:52:23.68 ID:FakKHmGN
未だに3対応してないようなモジュールならメンテ期待できないし使わない方がいい
98デフォルトの名無しさん:2014/03/16(日) 13:56:23.56 ID:6lDs1CH4
pythonの2と3の違いってなんかPHPのマイナバージョンの違いよりもだいぶマシにみえる。
99デフォルトの名無しさん:2014/03/16(日) 14:52:24.98 ID:H5QOtwKg
PythonはHSPのような言語なんだよね。
初心者が最初に学ぶ言語として良く出来てる。
ヒエラルキーの最下層に位置するので人口も多く、情報も多くなることが期待される。
こういった良いこと尽くめの言語なんだけど、所詮は入門言語なので、
いつまでもこれに縛られるのは間違いだと思うよ。
特に世界を変えるような力を秘めた人にとっては。
たかが言語のために、力を正しく使うことなく一生を終えるのだとしたら、
世界にとっても損失です。
100デフォルトの名無しさん:2014/03/16(日) 15:13:41.81 ID:MFEQK1M1
世界を変えるような力を秘めた人()
101デフォルトの名無しさん:2014/03/16(日) 15:16:30.53 ID:zg3i1lVV
>>99
どういうところが縛られてるって感じるの?
102デフォルトの名無しさん:2014/03/16(日) 15:28:56.18 ID:6lDs1CH4
HSPと同列にしちゃうのはどうなんだろ
103デフォルトの名無しさん:2014/03/16(日) 15:35:30.78 ID:nRdR8dPO
いまどきの BASIC と言われることもあるのでそんなに間違ってないかも
ただ縦を仕込まないのはいただけない
104デフォルトの名無しさん:2014/03/16(日) 15:38:21.33 ID:ThPC1gUr
python学ぶと自分の生活は便利になります。
でもお金を稼ぐならScalaとJavaを勉強した方が良いかもよ。
105デフォルトの名無しさん:2014/03/16(日) 16:22:03.01 ID:1gXwUEhj
こんなことを効くのもアレなんだけど
Pythonってどんな用途に向いてる?
逆にどんなことができる?
106デフォルトの名無しさん:2014/03/16(日) 16:30:54.48 ID:0Al8sGk4
小さなツールをパパっと作るにはいいんじゃない?
俺だとテキストファイルの加工とか
webスペースへのアップロードやそのurl取得やら
107デフォルトの名無しさん:2014/03/16(日) 19:06:03.26 ID:H5QOtwKg
あなたのような優秀な人がいつまでもPythonを使っていてはいけない。
108デフォルトの名無しさん:2014/03/16(日) 19:31:34.57 ID:q86Th0e7
>>92
結構道のりはながいね
109デフォルトの名無しさん:2014/03/16(日) 19:32:55.21 ID:x0sWcvYB
エキスパートパイソン買ってきたー
110デフォルトの名無しさん:2014/03/16(日) 19:35:06.25 ID:ThPC1gUr
Sageはpython使いまくり
世間のフリーの数学アプリかき集めて
pythonで駆動してノートも作れる。
111デフォルトの名無しさん:2014/03/16(日) 20:19:46.56 ID:q86Th0e7
pythonだけ勉強してもGoogle入れんよな、C言語も勉強しないとな
112デフォルトの名無しさん:2014/03/16(日) 21:21:54.25 ID:6lDs1CH4
更にいうとプログラム言語だけ勉強してもGoogleには入れないよ。
113デフォルトの名無しさん:2014/03/16(日) 22:52:01.40 ID:PPbZ0xUO
何でスレが進んでんのかと思ったら...
くだらん議論でスレ無駄にするなよ
114デフォルトの名無しさん:2014/03/16(日) 22:58:34.91 ID:dno/6804
ほんと細かい仕事やるときに便利だわ。
おれはメーカーの開発なんだけど、最近はpyvisa使って機器制御してる。
データはxlwtで書き出してる。
veeやらlabviewなんかより手軽にできるし、すげー便利。

簡単なシミュレーションはscipyやらnumpyで計算してmatplotで書き出したり。

pythonはメインで使うよりも、他の仕事を簡便にするツールとして使うとすごい捗るんだよ
115デフォルトの名無しさん:2014/03/16(日) 23:24:12.79 ID:3n7hj7pi
ここはくだスレなのでは…?
116デフォルトの名無しさん:2014/03/17(月) 01:38:32.16 ID:bcMygZBw
PyPy3なんて作ってたんだな
知らなかった
117デフォルトの名無しさん:2014/03/17(月) 16:57:07.17 ID:FaJ3OVKT
      | ̄ ̄ ̄ ̄ ̄ ̄ llヽ
      | ┏───┓ ‖|
      | │読むんだ│ ‖|
      | ┗───┛ ‖|
      |            ‖|
      |            ‖|
      |            ‖|
      |______‖|
       ) ≡≡≡≡≡≡)
       ̄ ̄ ̄ ̄ ̄ ̄ ̄


118デフォルトの名無しさん:2014/03/17(月) 17:31:23.80 ID:htH3+S84
3.4.0 がリリースされたね。
https://www.python.org/downloads/release/python-340/
119デフォルトの名無しさん:2014/03/17(月) 18:36:51.27 ID:wtf9R8ct
メモ帳からvimへ移行しようと思うのだが、最低限やっとく設定やダウンロードってある?
120デフォルトの名無しさん:2014/03/17(月) 19:09:40.99 ID:DC4xYjcz
ない!
メモ帳からなら、ない!
たかがメモ帳からvimクラスに移行しようとする奴が
メモ帳とは別世界を求めるなら
1.その差異に感動し
2.どう実現し得るか?
くらい調べながら移行するだろ

そういう希望もやいなら
なにもすることはない!
そもそもメモ帳から移行しなくてよし

素晴らしいメモ帳で書いていきましょう
121デフォルトの名無しさん:2014/03/17(月) 19:45:54.80 ID:pLvPbkRu
>>92
これ難しいな、ドットインストールじゃだめですかね?
122デフォルトの名無しさん:2014/03/17(月) 19:47:10.72 ID:pLvPbkRu
>>92
これ難しいね、どっとインストールじゃだめですかね?
123デフォルトの名無しさん:2014/03/17(月) 21:57:06.22 ID:s4y1IRNR
month = ['JAN', 'FEB', 'MAR']
というリストが存在する場合
['2014_JAN', '2014_FEB', '2014_MAR']
という結果を得たいのですが,どうすればよいでしょうか?
['2014_' x for x in month]
で一応得られるのですが,例えば関数等で同様の結果を得ることはできますか?
124デフォルトの名無しさん:2014/03/17(月) 22:07:08.66 ID:nddCznSC
map(lambda e: '2014_' + e, month)
でも >>123 のほうがいいかと
125デフォルトの名無しさん:2014/03/17(月) 22:43:45.00 ID:stkWIQ8K
['2014_' + x for x in month]
だよねたぶん
126デフォルトの名無しさん:2014/03/17(月) 22:47:42.49 ID:phCKAFNW
>>123
同じく。内包表記の方が柔軟※なので、それでいいと思うけど。使い所あるかもしれないので、一応、他の方法も挙げてみる。
# 例えば、monthは小文字にしたいとなった時の、コード変更の手間。mapだと入れ子になってしまう。

map("2014_{}".format, month)

map("2014_".__add__, month) # 非推奨
127デフォルトの名無しさん:2014/03/17(月) 22:48:05.16 ID:OGKb8YmC
pythonは複数のテキストやバイナリのシーケンスを与えるとくっつけてくれるからいいよね。
128123:2014/03/17(月) 23:16:21.76 ID:s4y1IRNR
ご指摘の通り
['2014_' + x for x in month]
です.

なるほどmap関数を利用するのですね.
内包表記は可読性という意味で若干抵抗があるのですが,
こちらのほうがいいのですね.
map関数も参考になりました.

ありがとうございました.
129デフォルトの名無しさん:2014/03/18(火) 17:27:36.93 ID:q1puF+Y3
str='日本商店    東京菓子店前'
のような、連続した全角空白文字を半角空白文字に置換したいのですが、どのようにすればいいのでしょうか?
reg = re.compile('\s+')や
reg = re.compile(' +') <-全角空白を入れています
とした後に、print reg.sub(' ', str)としましたが、全角空白が取り除かれていませんでした

自分の参考しているcsvファイルには、連続した全角空白だけでなく、半角空白も混ざっているかもしれません
このようなものを全て、一つの半角空白文字へ置換したいのですが、どのようにすればいいでしょうか?
宜しくお願いします
130デフォルトの名無しさん:2014/03/18(火) 17:46:07.78 ID:bmDKd/3b
>>129
re.sub(r'\s+', ' ', str)

原因が文字エンコーディングだったら今どきpython2とか使ってるお前が悪い。
131デフォルトの名無しさん:2014/03/18(火) 17:49:51.63 ID:vp/oYBnh
時代はパイズリ
パイ2じゃー気持ちよくない
132デフォルトの名無しさん:2014/03/18(火) 18:15:34.25 ID:q1puF+Y3
>>130
すみませんが、出来ませんでした

>原因が文字エンコーディングだったら
ここが良く分かりませんが、文字コードはUTF-8です
133デフォルトの名無しさん:2014/03/18(火) 18:38:48.81 ID:SGm+Hw2x
Python2使ってるだろ?
すぐ止めて
134デフォルトの名無しさん:2014/03/18(火) 18:53:27.49 ID:SxY9E2cm
>>129
import re
target = u'日本商店    東京菓子店前'
re.sub(ur'[  ]+', u' ', target)

target が UNICODE 文字列でない場合は UNICODE 文字列への変換が必要
135デフォルトの名無しさん:2014/03/18(火) 20:10:27.03 ID:q1puF+Y3
>>134
ありがとうございました
非常に参考になりました
136デフォルトの名無しさん:2014/03/18(火) 23:17:16.72 ID:pLXgt70C
絶対意味分かってないだろこいつ
137デフォルトの名無しさん:2014/03/19(水) 00:11:34.82 ID:fS9ZAZS3
>>129
スペースをまとめる前の正規化(全角スペース・記号・数字=>半角や機種依存文字の置換)
は、標準ライブラリの unicodedata.normalize が手軽で便利。

import re
import unicodedata
from functools import partial

unicode_normalize = partial(unicodedata.normalize, "NFKC")
reduce_whitespaces = partial(re.compile(ur"\s+").sub, u" ")
normalize = lambda x: reduce_whitespaces(unicode_normalize(x))

print(normalize(u"12−3  ")) # => 12-3 (株)
138デフォルトの名無しさん:2014/03/19(水) 00:15:21.47 ID:vyItzuTF
ライブラリが対応してるしてない云々の「前に」絶対詰まるんだから
ライブラリを理由にPython2を薦めないで欲しい
そんなの後からやればいい
139デフォルトの名無しさん:2014/03/19(水) 00:31:44.48 ID:pgTJKr0l
>>138
Pythonを知らないゴミは黙ってください
140デフォルトの名無しさん:2014/03/19(水) 00:33:27.20 ID:vyItzuTF
>>139
お前はC#スレにいろチンカス野郎
141デフォルトの名無しさん:2014/03/19(水) 00:53:53.17 ID:swO6rrOw
2を使いこなせない人が必死ですね
142デフォルトの名無しさん:2014/03/19(水) 00:57:13.90 ID:pgTJKr0l
ほらみろ
新しいものを使いこなせない頭の凝り固まった向上心のない人のレスが
これほどまでの不快感を生む
143デフォルトの名無しさん:2014/03/19(水) 01:09:18.76 ID:+MyuchWZ
日本語を使うなら、2一択。
3はまだ無理すぎ。
Hello World!レベルなら3でもOK。
実用はまだ無理。
144デフォルトの名無しさん:2014/03/19(水) 01:18:46.16 ID:pgTJKr0l
pythonに限らずム板の盛り上がってるスレはみんな初心者スレだよね
この初心者スレというのは馬鹿な質問者とカス知識で語りたがる自己顕示欲野郎が入り浸るム板の癌
もうこの板には上級者がいなくなっちゃったね
145デフォルトの名無しさん:2014/03/19(水) 08:29:12.04 ID:+fq48j6D
>>144
そういう
お馬鹿で不愉快な仲間たちのいるスレ来なければいいのに。
どうして書き込み続けるの?
「俺なんか凄いんだぞ、お前らなんか、チンカス野朗だもん」
と言いたいのかな


君も頭良いとも思えない書き込みだけどね
ていうか精神病かなあ
何故って固執が激しいようだから
146デフォルトの名無しさん:2014/03/19(水) 08:38:50.27 ID:pgTJKr0l
>>145
そうやって図星つかれて発狂してるから初心者スレは糞のまま
時間をかけてゆっくり糞化していったんだよ
スレ全体の雰囲気を考えない奴がじっくりとスレを荒廃させていった
147デフォルトの名無しさん:2014/03/19(水) 08:39:41.26 ID:G3F++Ifs
くだらない質問スレ(超初心者用)なんだから、くだらない内容で当然
148デフォルトの名無しさん:2014/03/19(水) 08:53:46.83 ID:Q/IJUyZ2
>>146
わはは、きみ精神病だろ
図星も何も俺はプログラミング教本書いてるし市販アプリも出してきたし
講演もしてきたし
君、精神病ならではの勘違い思いこみ激しすぎ
いやぁ、笑わせてもらいました
149デフォルトの名無しさん:2014/03/19(水) 08:56:28.47 ID:swO6rrOw
>>146
上級者のあなたが上級な答えでどんどん回答していけばこのスレも上級なスレになりますぞー!
150デフォルトの名無しさん:2014/03/19(水) 09:33:24.27 ID:pgTJKr0l
>>147
Python関係で息してるスレなんてここぐらいだろ馬鹿
しかも超初心者用とか謳ってるし、この板ではPython使いはこの程度の馬鹿しかいないってことだろ
こういう糞スレしか勢いがないことに恥を感じろよ
151デフォルトの名無しさん:2014/03/19(水) 10:05:05.57 ID:G3F++Ifs
>>150
中上級者用の新しいスレを立ててそっちを盛り立てようと改善の努力をせず
超初心者スレでお前らは馬鹿だの自己顕示欲野郎だの、何の役にも立たない
罵倒をしている方が恥ずかしいと思うけど
自分では何も出来ないし、するつもりもないくせに
文句ばかり言ってる新入社員みたいで痛い
152デフォルトの名無しさん:2014/03/19(水) 10:16:57.65 ID:swO6rrOw
>>150
あーい!恥ずかしくてすみまてぇーん!
153デフォルトの名無しさん:2014/03/19(水) 10:20:21.29 ID:Q/IJUyZ2
パイソンって
オッパイしか触れなくて損するんてすか?
俺、マンコも触りたいから迷ってます
154デフォルトの名無しさん:2014/03/19(水) 10:20:52.09 ID:Q/IJUyZ2
わははは
155デフォルトの名無しさん:2014/03/19(水) 10:26:59.79 ID:pgTJKr0l
>>152-154
こういう奴を大量に抱え込んでるのがPythonスレ
今大量にあぶりでちゃったね
高尚な話をしたいんなら別スレだね、ここにはアホしかいないことを自覚して続けるべき
156デフォルトの名無しさん:2014/03/19(水) 10:34:56.64 ID:pgTJKr0l
まずこのスレを読んで糞初心者とろくに回答できない初心者がなんか言ってるレベルの傷の舐めあい程度のスレだということは明らか
こういうスレで大真面目に何が得られると期待している輩のほうがよほどおかしい
157デフォルトの名無しさん:2014/03/19(水) 10:38:14.42 ID:wMu611r4
だったらさっさと出ていきなよ。
158デフォルトの名無しさん:2014/03/19(水) 10:38:38.62 ID:Q/IJUyZ2
>>155
あらら、精神病君、まだいたんだ
精神病の奴は精神病かどうかについて答えんのが特徴。

さあて、パイソンしないでマンコグリグリするぞぉ
159デフォルトの名無しさん:2014/03/19(水) 10:41:25.56 ID:Q/IJUyZ2
無論、言語は馬鹿には使えないScheme
Lispやると東大女とやれると最近もっぱらの噂だぞ?
どうだ?羨ましいか?

よし、オッパイだけで満足できない奴はLispやれ
ただし、バカならやめろ
オッパイで満足してろ
160デフォルトの名無しさん:2014/03/19(水) 10:51:22.34 ID:wMu611r4
やっぱID付いてると解り易くていいな。
161デフォルトの名無しさん:2014/03/19(水) 10:58:50.20 ID:pgTJKr0l
ID:wMu611r4みたな何の生産性もないレスを投下していくだけにアホは
出て行ったほうがいいよ
162デフォルトの名無しさん:2014/03/19(水) 11:11:49.40 ID:Q/IJUyZ2
それは同意だ
俺のように役に立つ書き込みをしろ
今ならLispの基礎のための書籍を原著でも邦訳でもネットからダウンロードできるぞ。
ただだぞ!
無料で東大女とやれる基礎をつけられるんだぞ
The little Schemer
On Lisp
SICP
の順書でやれ
これでおまえも俺と穴兄弟だな
163デフォルトの名無しさん:2014/03/20(木) 11:52:09.12 ID:G34tGlIy
import numpy as np
arr = np.array([
[1,2,3],
[4,5,6],
[7,8,9]
])

このarから[
[1,2],
[4,5],
[7,8]
]
とスライスするにはどうしたらいいでしょうか
164デフォルトの名無しさん:2014/03/20(木) 12:02:33.72 ID:noBkfRX0
>>163
Python以前の問題
本を読むことも出来ない池沼が着ていいスレじゃない、
お前の頭の悪さをどう改善するかが最重要課題
165デフォルトの名無しさん:2014/03/20(木) 12:05:44.02 ID:noBkfRX0
こいつに回答する人間が同程度のレベルだということを自覚しろよ
遥か上をいくプログラマはこんな馬鹿に相手するだけの価値はないんだからよ
166デフォルトの名無しさん:2014/03/20(木) 12:14:58.86 ID:dZthByrU
>>163
arr[:, :2]
167デフォルトの名無しさん:2014/03/20(木) 12:17:25.93 ID:noBkfRX0
↑ほらな、こんなゴミ回答しか出てこないだろ
これが>>163が理解できるのか知らんが
再質問なんかしてスレを汚すことだけは許されんな
168デフォルトの名無しさん:2014/03/20(木) 12:18:15.31 ID:G34tGlIy
>>166
うまくいきました!ありがとうございます
169デフォルトの名無しさん:2014/03/20(木) 12:28:07.19 ID:noBkfRX0
うまくいきました(笑)
とりあえず回答もらったからって感謝する馬鹿回答者
うまくいくはずもない嘘回答で結局解決できず馬鹿を見る
再質問するのだけは止めようね、みっともないから
170デフォルトの名無しさん:2014/03/20(木) 12:40:50.63 ID:G34tGlIy
なんか強烈な人がいらっしゃるようですけど
ちゃんとできたので大丈夫ですよ
http://i.imgur.com/H5Htn8N.jpg
171デフォルトの名無しさん:2014/03/20(木) 12:47:39.21 ID:noBkfRX0
こんなゴミ回答で出来たってことが恥ずかしくない?
これだからPython信者て思われても仕方ないね
ゴミだからしょうがない
172デフォルトの名無しさん:2014/03/20(木) 12:50:27.56 ID:G34tGlIy
>うまくいくはずもない嘘回答
>こんなゴミ回答で出来た
論点変わってるんですがそれは大丈夫なんですかね
173デフォルトの名無しさん:2014/03/20(木) 12:51:29.46 ID:noBkfRX0
>>172
あっさりと解決してもらったはずの用無し質問者がまだうろついてる
174デフォルトの名無しさん:2014/03/20(木) 12:52:39.00 ID:G34tGlIy
ほら何も言い返せない
175デフォルトの名無しさん:2014/03/20(木) 12:54:00.40 ID:noBkfRX0
へー質問しにきたと思ったら実は荒らしに来たの?
この馬鹿質問者低レベルな質問しといと嫌がらせに変身したよ
理解不能です
176デフォルトの名無しさん:2014/03/20(木) 12:56:31.51 ID:dIZh3UND
>>171←これ、かなり劣等感まみれ人間みたいだな
超初心者用スレで何言ってんだか
ひょっとして既に精神病?
どう?精神病ですか?違いますか?
177デフォルトの名無しさん:2014/03/20(木) 12:57:51.61 ID:noBkfRX0
悔しくてID変えちゃったの?ww
用が済んだら早く出てけば?
178デフォルトの名無しさん:2014/03/20(木) 12:57:54.53 ID:G34tGlIy
スレタイに超初心者用ってあるんですがそれは…
自分からつっかかってきといて
言い返せなくなったら荒らし認定ですかそうですか
179デフォルトの名無しさん:2014/03/20(木) 12:58:51.22 ID:klDTLxpB
>>175
あらら、なんだもろに精神病なんだ
背伸びするから劣等感激しくなり、それを偽装しようとするから精神病になったんだろ?
180デフォルトの名無しさん:2014/03/20(木) 12:59:09.61 ID:noBkfRX0
このスレはね、自己顕示欲したいがために勝手に馬鹿が立てたスレなんだよ
まんまと自己顕示欲を満たしてしまったね、このスレの常駐回答キチガイに
181デフォルトの名無しさん:2014/03/20(木) 13:00:33.94 ID:G34tGlIy
仮にそうだったとしても質問者は回答がもらえて
回答者は自己顕示欲を満たせる
誰も損してないんだよなぁ…
182デフォルトの名無しさん:2014/03/20(木) 13:01:21.84 ID:noBkfRX0
ム板を汚し続けてるんだよ、お前らが好き勝手にスレをぐちゃぐちゃにするから
そして上級者がいなくなった
183デフォルトの名無しさん:2014/03/20(木) 13:01:47.05 ID:klDTLxpB
>>177
おーい、精神病はメンヘルスレに行くか
交番襲撃して刑務所入ってな、カス
俺がお前に似合った襲撃法を教えてやるから、
いいか、チンチンおったてて
(肉棒かかげ、国後に上陸せよ、組み伏せ金髪ロシア女)
と叫びながら交番の中でしごけ、ドンドンしごけ

どうだ?お前にでもできる簡単な襲撃だろ

さあ、いってこいカス
184デフォルトの名無しさん:2014/03/20(木) 13:03:46.93 ID:noBkfRX0
また自己顕示欲回答を阻害されてイライラしてる常駐回答マンか?
精神病はお前のほうじゃねえの?スレにへばり付いて回答しまくるとか考えられん
上級者は愛想尽かして消えちゃったんだよ
185デフォルトの名無しさん:2014/03/20(木) 13:04:48.32 ID:G34tGlIy
歴史的経緯はしらないけど
今こうして超初心者用スレがあるんだから住み分けできてるでしょ
質問したい超初心者でもなく回答したい訳でもなく
何がしたくてこのスレ見てるんですかね…
186デフォルトの名無しさん:2014/03/20(木) 13:07:01.94 ID:noBkfRX0
超初心者スレしか重要がないほどPythonも信者も廃れたって事だよ
少なくともこのム板ではね、あるだけ無駄だからこのスレは削除すべき
187デフォルトの名無しさん:2014/03/20(木) 13:07:48.03 ID:G34tGlIy
だめだ話が通じない
188デフォルトの名無しさん:2014/03/20(木) 13:08:04.41 ID:kBPotTsg
この季節はどこの板にもこんなのが湧くので
絡まずにスルーしてればいいですよ
189デフォルトの名無しさん:2014/03/20(木) 13:09:47.67 ID:noBkfRX0
今のほかのPythonスレ見てみ、みんな死んでるスレだよ
勢いがあるのかこういう糞質問と糞回答をするだけのスレ
ム板のPythonはこの程度
190デフォルトの名無しさん:2014/03/20(木) 13:17:05.59 ID:dZthByrU
荒らしに構ってはいけない
191デフォルトの名無しさん:2014/03/20(木) 13:18:16.88 ID:8dWNNfj8
春休みなのか知らないけど
相手しちゃ駄目

今日のID
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
192デフォルトの名無しさん:2014/03/20(木) 13:19:33.63 ID:noBkfRX0
さんざんわけのわからない弁解しておいて今更荒らしに構うなですか
これはもう私の自動的な勝利ですね
193デフォルトの名無しさん:2014/03/20(木) 13:24:44.95 ID:4cqWGiXB
>>184
おやおや、どうして答えない?
精神病なのかどうか?
ほら、答えな

それと誰かと俺を混同しているようだが文体などからの判断力がかなり低いようだな。
ようするに馬鹿だろ?
偏差値どのくらいだった?
無論、計測した機関名込みで言ってご覧?

はい、精神病ですか?
さて、偏差値はいくつでしたか?
(バカで測ったことなかったり?)

さあ、答えてみな、カス君
194デフォルトの名無しさん:2014/03/20(木) 13:33:02.10 ID:noBkfRX0
俺と混同してるとか言っておきながらIDが単発なのはなぜでしょうね
195デフォルトの名無しさん:2014/03/20(木) 13:48:45.37 ID:dIZh3UND
>>194
うわっ!
精神病かどうか答えないな、
それは精神病の実は特徴なんだよ

偏差値にも触れないな
 それは劣等感の現れなんだよ

さて、Idがコロコロ変わることについてなんのの知見もないんだな。
ググレカス
(バカ向け検索ヒント
emobile id被り idが変わる)

さてさて、精神病で低偏差値で無知で
よく生きてるな?!
わはは!!!
196デフォルトの名無しさん:2014/03/20(木) 13:54:57.49 ID:G34tGlIy
>>191
うわぁこんなの相手にしてたのかと思うと恥ずかしい…
197デフォルトの名無しさん:2014/03/20(木) 13:56:16.96 ID:noBkfRX0
精神病じゃねえよ
どうせスマホでIP変えまくってんだろーが
198デフォルトの名無しさん:2014/03/20(木) 13:57:21.44 ID:noBkfRX0
意図的にIP変えまくりのキチガイが人を精神病呼ばわりスンナ
199デフォルトの名無しさん:2014/03/20(木) 14:25:33.41 ID:YYkkDc7U
必死を貼られまいと3回線用意しても無駄ですねこれでは
200デフォルトの名無しさん:2014/03/20(木) 15:02:08.12 ID:dJtAx16S
ttp://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html

こういう奴って生きてて何が楽しいんだろう?
201デフォルトの名無しさん:2014/03/20(木) 16:00:45.90 ID:4cqWGiXB
>>197
わはは
低偏差値で馬鹿だけど精神病ではないってか?

おまえ、ほんとにわかりやすい馬鹿丸出しだな
ひょっとして高校中退?
202デフォルトの名無しさん:2014/03/20(木) 16:04:32.44 ID:4cqWGiXB
>>198
おお、教えてやったのに精神病だからわからなかったな。
ヤッパリ精神病しゃないか!
自覚がないのか?
精神科言ってこい。
idを意図的に買えるのではなく、
idは割り当ての関係でコロコロ勝手に変わるもの

もう、精神病だと一度思い込むとそここら離れられない症状がもろでてるな、君

病院いってこい
頭悪いのは諦めろ、な!
低偏差値君
203デフォルトの名無しさん:2014/03/20(木) 17:47:15.65 ID:jX7CIeWF
芽吹いとるがな
204デフォルトの名無しさん:2014/03/20(木) 18:31:00.73 ID:ROJkfH/r
なんで日本の情報系って無能で協調性無いやつが沸くのかね
205デフォルトの名無しさん:2014/03/20(木) 21:03:02.04 ID:YYkkDc7U
愚問〜どちらか当てはまらないなら他に行き場があるw
206デフォルトの名無しさん:2014/03/21(金) 01:27:27.48 ID:Acj2Tqat
207デフォルトの名無しさん:2014/03/21(金) 02:38:24.75 ID:JRSSC6YG
ここ数日暖かいからな
変なのが湧いてきたな
208デフォルトの名無しさん:2014/03/21(金) 05:00:12.71 ID:cquHSgcT
君たちが頭悪いだけじゃないか?
209デフォルトの名無しさん:2014/03/21(金) 08:13:41.77 ID:/llxx+Fl
210デフォルトの名無しさん:2014/03/21(金) 10:45:04.38 ID:cquHSgcT
>>209
こういうことをする人って大概、精神病だろ?
わざわざ粘着して調査公表

ねえねえ、どういう病名?
入院歴は?
211デフォルトの名無しさん:2014/03/21(金) 10:49:33.45 ID:X9FAScz3
いなくなるまで毎日貼っといて
212デフォルトの名無しさん:2014/03/21(金) 10:50:23.96 ID:b7iVFJmQ
精神病の人が他人を精神病扱いして騒いでるな。わざわざID変えて。
213デフォルトの名無しさん:2014/03/21(金) 10:55:37.37 ID:C4zm/UMW
メンヘラvsメンヘラか
いいぞ争え
214デフォルトの名無しさん:2014/03/21(金) 11:56:45.46 ID:Q/GGBYV0
import calmness
215デフォルトの名無しさん:2014/03/21(金) 12:50:13.61 ID:Z82+z0lX
ここにいるPython馬鹿はインポート寄生虫だろ
脳に寄生虫が巣食っててるから支離滅裂な回答してくる
216デフォルトの名無しさん:2014/03/21(金) 12:57:09.36 ID:eibr9P7Y
よほど慌ててんだな
217デフォルトの名無しさん:2014/03/21(金) 17:39:52.10 ID:KG37XIJe
pythonエキスパート読んでて
appendって使わないんですか?
218デフォルトの名無しさん:2014/03/21(金) 17:43:16.09 ID:Z82+z0lX
少なくとも馬鹿は使わない
>>217みたいな
219デフォルトの名無しさん:2014/03/21(金) 17:45:44.54 ID:+gzihxYI
>>212
でたでた、お前、毎回同じこと言ってる精神病だろ?

id変化の仕組みも理解できず
可能の必然化を恣意と無能によってしてしまうお馬鹿ちゃん

馬鹿だから言われていることを理解できずに
「だって、自演だもん!」
としか言えないクズ

しねよクズ
220デフォルトの名無しさん:2014/03/21(金) 18:16:29.21 ID:Z82+z0lX
ID変えさえすればこういう↑精神病の粘着荒らしは問題視されないのかね?
221デフォルトの名無しさん:2014/03/21(金) 18:27:14.32 ID:nMEoDYxt
>>220
俺が精神病?笑わせてくれるな
よほど三流校出身者だろ?
判断が酷すぎる
バカは黙って引きこもってろ
222デフォルトの名無しさん:2014/03/21(金) 19:47:59.79 ID:Z82+z0lX
すくなくとも文体から同一人物であることは自明
223デフォルトの名無しさん:2014/03/21(金) 23:55:30.92 ID:EHbxCFF7
python3.x系のを一つのexeにまとめる方法はまだ無いの?
PyInstallerは対応してないしPy2exeは一つにまとまらないし
224デフォルトの名無しさん:2014/03/22(土) 00:11:44.74 ID:Mt3jN67W
自分が知らなければ「まだ」なのか
225デフォルトの名無しさん:2014/03/22(土) 00:15:21.69 ID:+2B6OEdX
ほらPython馬鹿はこれだ
226デフォルトの名無しさん:2014/03/22(土) 06:27:50.15 ID:5gx6vbDt
>>222
自明のいう言葉を安易に使うあたり
きみ、精神病だろ
227デフォルトの名無しさん:2014/03/22(土) 06:29:22.84 ID:5gx6vbDt
ここ、精神病でかつ無能なのご徘徊してるな
所詮、バカでも挑戦できる言語スレだな
228デフォルトの名無しさん:2014/03/22(土) 07:50:14.24 ID:fto4Ouyf
>>226
> 自明のいう言葉

かみかみやん (w
229デフォルトの名無しさん:2014/03/22(土) 10:35:15.56 ID:KNAyFIgT
http://pastebin.com/1jUzW8qx
これを実行すると下のエラーが出ます
>File "1.py", line 198, in <moduke>
> print "%d: %s" % (i, volumekeys[key]["title"])
>UnicodeEncodeError: 'cp932' codec can't encode character u '\2014' in position 1
>5: illegal multibyte sequence

具体的にどうすればいいのか教えて下さい。
230デフォルトの名無しさん:2014/03/22(土) 11:26:34.24 ID:5oW3ItWU
ヤフーのトップから以下の要素を取得したいんですが、htmlの要素に日本語がある場合どうやって取得できますか?
以下のソースだとNoneになります。。
<em><span title="動画" class="iconVideo">動画</span>Vimeo</em>

import urllib
from BeautifulSoup import BeautifulSoup
source = urllib.urlopen('http://yahoo.co.jp/').read()
soup = BeautifulSoup(source)
print soup.find("span",{"title":u"動画"})
231デフォルトの名無しさん:2014/03/22(土) 11:44:14.33 ID:kLUXl+hG
エンコード指定しろ
euc-jpとかutf-8とか
232デフォルトの名無しさん:2014/03/22(土) 11:51:12.90 ID:ojADl8Uz
日本語扱いたければ"u"つけろとかいう
断片的なことしか理解してないんだなこれは
233デフォルトの名無しさん:2014/03/22(土) 12:16:48.70 ID:h4m0yMGm
>>230
source の中に目的の要素が入ってるか確認してみて
open("index.html", "w").write(source) とかで
234デフォルトの名無しさん:2014/03/22(土) 12:19:16.08 ID:5oW3ItWU
soup = soup.decode('utf-8', 'replace')
soup = BeautifulSoup(source, fromEncoding='utf-8')

色々試したんですけどうまくいかないので削ってました。

>>233
要素は間違いなくありました。
日本語要素でなければ取得できましたので、エンコードの関係だと思います。
235デフォルトの名無しさん:2014/03/22(土) 12:29:13.41 ID:q0Uao2gL
236デフォルトの名無しさん:2014/03/22(土) 12:33:23.24 ID:h4m0yMGm
>>234
試してみたけど soup.findAll("img", {"alt": u"写真"}) は取れる

> 要素は間違いなくありました。
ブラウザで開いてソース閲覧とかしてない?
もしそうなら >>233 で保存したソースについて確認してみて
237デフォルトの名無しさん:2014/03/22(土) 12:40:09.41 ID:Nsic/UJL
javascriptで生成してるっぽいね
Seleniumの出番か
238デフォルトの名無しさん:2014/03/22(土) 13:03:57.87 ID:5oW3ItWU
>>236
本当ですね。
保存したら古い感じのYAHOOが表示されました。
UA指定してないからとかじゃなくてjavascriptですか・・
>>237
Selenium調べてみます!ありがとうございます。
239デフォルトの名無しさん:2014/03/23(日) 00:00:45.04 ID:AY0ttai1
3/19 ID:pgTJKr0l 86レス1位
http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html
3/20 ID:noBkfRX0 69レス1位
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
3/21 ID:Z82+z0lX 55レス1位
http://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html
3/22 ID:+2B6OEdX 39レス1位
http://hissi.org/read.php/tech/20140322/KzJCNk9FZFg.html

完 全 に 病 気
240デフォルトの名無しさん:2014/03/23(日) 00:06:11.91 ID:hZ1zX5Vz
書き込み時間が完全にニート
241デフォルトの名無しさん:2014/03/23(日) 00:11:06.09 ID:Zo8uS5e/
つまり完全無欠ってことだな
242デフォルトの名無しさん:2014/03/23(日) 00:26:32.41 ID:MIluuzdu
おそろしい
243デフォルトの名無しさん:2014/03/23(日) 01:31:21.55 ID:BoG2P7C1
つまり読むんだ
244デフォルトの名無しさん:2014/03/23(日) 08:58:04.95 ID:qMTToUJW
classを定義するとき、Javaみたいにprivateやprotectedなスコープの設定はできますか?

モジュールの中からでしか使えないclassを定義したいです
245デフォルトの名無しさん:2014/03/23(日) 09:24:20.03 ID:qMTToUJW
ついでに、classだけじゃなくてモジュールに定義する関数も、モジュール外からアクセスさせたくないです。
246デフォルトの名無しさん:2014/03/23(日) 10:13:09.62 ID:vQe6VsWb
アンスコ、アンスコ!
247デフォルトの名無しさん:2014/03/23(日) 10:23:11.87 ID:qMTToUJW
アンスコってclassにも有効かしらん?
248デフォルトの名無しさん:2014/03/23(日) 11:30:19.10 ID:Zo8uS5e/
アクセスすると例外が起きるような機能を想像してるなら、そういう機能はない
249デフォルトの名無しさん:2014/03/23(日) 11:35:57.69 ID:aZEDGIiQ
アンスコついてたらアクセスするの控えてねってだけ
250デフォルトの名無しさん:2014/03/23(日) 13:44:41.73 ID:LwVxNWuC
ゴミPythonはじだいおくれだからさっさと移行
質問禁止
251デフォルトの名無しさん:2014/03/23(日) 13:48:00.82 ID:qMTToUJW
なるほど
紳士協定っすね

>>250
何に移行すりゃいいんです?ま、まさかRubyとか言わないよね?ガクガク
252デフォルトの名無しさん:2014/03/23(日) 19:00:20.59 ID:0p+ZCgI9
GAEとdjangoに関連した質問なのですが、どなたか教えてください。

今、http://engineer-intern.jp/archives/8627のチュートリアルをやっているのですが最後で躓いています
プロジェクトのフォルダで python manage.py runserver を実行しても、
”Exception:Couldn't get applid. Is your app.yaml file missing? Error was: cannnot import name dev_appsrver”
というエラーが出ます。
ちなみに、GAEのLauncherから”Run"すればブラウザでlocalhostに接続できます。
このままではdjangoの開発が進まないと思うのですが、どうすればよいでしょうか。

どうかよろしくお願いします。
253デフォルトの名無しさん:2014/03/23(日) 19:14:42.71 ID:LwVxNWuC
>>252
馬鹿には無理すぎる言語なので
このスレで質問する前にまず勉強しろ
回答がついても、そいつは馬鹿な質問に答えられるだけしか能力をもたないクズだから
254デフォルトの名無しさん:2014/03/23(日) 19:23:46.84 ID:Zo8uS5e/
255デフォルトの名無しさん:2014/03/23(日) 19:27:28.61 ID:syO46+Zy
この手のスレで質問していいレベルの質問ってどんなんだろうな
いい機会だからお前例示してみてよ
256デフォルトの名無しさん:2014/03/23(日) 19:30:40.61 ID:LwVxNWuC
>255
お前こそ糞回答しかできないかじりつきPythonグラマー
ゴミうんこ糞糞クズカスが
257デフォルトの名無しさん:2014/03/23(日) 19:31:21.16 ID:Zo8uS5e/
う〜ん語彙に乏しい感じがなあんとも
258デフォルトの名無しさん:2014/03/23(日) 19:32:03.70 ID:LwVxNWuC
ゴミPythonマンはこの程度
いいから本を読め、情弱
259デフォルトの名無しさん:2014/03/23(日) 19:37:05.02 ID:0mR+ECdw
>>258
どの本を読めばいいんですか?
アフィリエイト付きのリンクでいいんで紹介してください
260デフォルトの名無しさん:2014/03/23(日) 19:45:10.09 ID:LwVxNWuC
とにかく片っ端からPython本を読み漁れ
そしてコードを書きまくれ
そしたらこのスレは全然いらなくなる
261デフォルトの名無しさん:2014/03/23(日) 19:47:09.36 ID:hZ1zX5Vz
>>259
あらゆる言語スレで噛み付いてるニートなので触らないでください。
>>254
262252:2014/03/24(月) 03:36:00.54 ID:yrWGnhR/
自己解決したので一応報告します。
チュートリアルが古すぎてダウンロードさせるファイル同士のバージョンが合ってなかったようです。
http://django-nonrel.org/でインストールの手引を読みそこのリンクからダウンロードしなおしたところ動きました
スレ汚し失礼しました。
263デフォルトの名無しさん:2014/03/24(月) 11:20:49.41 ID:xSwd0cOh
知ってたよ
264デフォルトの名無しさん:2014/03/24(月) 12:13:01.70 ID:iN+OyuMJ
自己解決したので=このスレは必要なかった
つまりここにいるのはゴミばかりで役に立たない
265デフォルトの名無しさん:2014/03/24(月) 12:54:09.00 ID:BAuNFOlG
266デフォルトの名無しさん:2014/03/24(月) 15:08:48.41 ID:i6BIeOy/
すごい執念だ
267デフォルトの名無しさん:2014/03/24(月) 15:49:31.69 ID:BAuNFOlG
煽りだけで具体的なのが何一つ無いのがすごいよな
268デフォルトの名無しさん:2014/03/24(月) 17:12:15.98 ID:A26SCJHG
どうだおそれいったか
269デフォルトの名無しさん:2014/03/24(月) 22:59:49.15 ID:mMxAuWzq
すみません、エラーについて教えてください。
職場にコードを書ける人間が皆無の職場で一人、先週より業務の自動化を進めようとしています。
が、エラーの原因を調べられず、困っています。

環境(バージョン2.7.6.0/IDE Spyder 2.2.5)
Python(x,y) をインストールして使っています。

下記エラーがコンソールに表示されます。

>>> runfile('C:/test/lineprofilev0.1a.py', wdir=r'C:/test')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
execfile(filename, namespace)
File "C:/test/lineprofilev0.1a.py", line 35, in <module>
second = strip(re.split('\t', inline)[1])
IndexError: list index out of range
>>>

必要になるかわかりませんが、このようなコードを書いています。
http://ideone.com/qsefJy

作成中のゴミコードで恥ずかしいですが・・・エラー対応の他のアドバイスもいただけると嬉しいです。。
270デフォルトの名無しさん:2014/03/24(月) 23:06:59.59 ID:A26SCJHG
>File "C:/test/lineprofilev0.1a.py", line 35, in <module>
 ↑のファイルの35行目の

>second = strip(re.split('\t', inline)[1])
 ↑のコードで

>IndexError: list index out of range
 ↑リストを範囲外のインデックスで参照してる

例えばリストの中に値が2個しか入ってないのに
100番目を取ろうとしても駄目なことは理解できんだろ
後は頑張ってね
271デフォルトの名無しさん:2014/03/24(月) 23:09:57.11 ID:PtDfnD0y
>>269
あんま詳しく見てないけど、空の行を読んでsplitしてるから結果のリストが参照の範囲から外れてる、とかじゃない?
272デフォルトの名無しさん:2014/03/24(月) 23:14:04.77 ID:mMxAuWzq
>>270
ありがとうございます。
もう1つエラーがあるのですが、こちらはどういう意味かわかりますでしょうか。

File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\spyderlib\widgets\externalshell\sitecustomize.py", line 540, in runfile
execfile(filename, namespace)

このエラーのせいで、リストに値が入らず、教えっていただいた2つめのエラーが出ているような気がするのですが・・・。

1つめのエラーの原因が見当もつかず、切り分けもできずにいる状態です

273デフォルトの名無しさん:2014/03/24(月) 23:14:28.56 ID:iN+OyuMJ
馬鹿には無理
274269:2014/03/24(月) 23:17:07.86 ID:mMxAuWzq
読み込むテキストファイルは以下のような数値の組が5000行ほどです。

0 204.3333
1 216.3333
2 230.6667
3 237.3333
275デフォルトの名無しさん:2014/03/24(月) 23:17:23.88 ID:3YMAtZN+
何かの記録に挑戦してるのか知らんがちょっと単調だな
276デフォルトの名無しさん:2014/03/24(月) 23:19:51.53 ID:PtDfnD0y
>>272
それはIDEの何かでエラーになってる
そのエラーのせいで二つ目のエラーが起きてるようには思えない
277デフォルトの名無しさん:2014/03/24(月) 23:21:56.94 ID:iN+OyuMJ
馬鹿には無理すぎる言語なので諦めてください
278269:2014/03/24(月) 23:27:40.84 ID:mMxAuWzq
>>276
ありがとうございます!
思い込みで1つめのエラーばかり調べていました。

読み込み対象フォルダ内に.txtがつくショートカットファイルが1つあり、
それを読み込んでいたかも知れません。

もう少し調べてみますが、また進めそうです。
279デフォルトの名無しさん:2014/03/24(月) 23:28:25.97 ID:iN+OyuMJ
>>278
お前には一生かかっても無理
プログラミングなんかやめろ
ドカタの運命だから
280デフォルトの名無しさん:2014/03/24(月) 23:30:13.53 ID:62qhDG+k
>>272
見当違いだったら申し訳ないが、新しくファイル作って、全文コピーして改めて動かして見て。

俺もspyder使ってて同じようなエラーが出て困った記憶がある。
その時おれはwinpythonに付属のspyder使ってた。winpythonはUSBメモリとかで持ち運びできるポータブル形式のpythonなんだけども、編集中にUSBから抜いたりするとそんなことになった気が…

その時は改めてファイル作ってコピペしたら動いたんだがどうだろう。
281デフォルトの名無しさん:2014/03/24(月) 23:33:06.41 ID:iN+OyuMJ
>>280
Pythonを知らないゴミが回答してんじゃねーよクズ
消えろチョウセン人、スレを汚すなクズ野郎
お前はさっさとオナニーコード書いてバグだして糞して寝ろ
282デフォルトの名無しさん:2014/03/24(月) 23:42:09.00 ID:UzrSJmvl
関係ないけど .txt で終わるかどうか判定だけなら file.endswith(".txt") がいい(たぶん)
283デフォルトの名無しさん:2014/03/24(月) 23:47:17.30 ID:iN+OyuMJ
>>282
たぶんじゃねえよ馬鹿、じゃあ答えるな
回答にもなってないし、知識のないアホは来るな
284デフォルトの名無しさん:2014/03/24(月) 23:49:44.21 ID:3YMAtZN+
そろそろアク禁発動しそうだな。
コイツが俺と同じプロバイダでありませんように・・・
285デフォルトの名無しさん:2014/03/24(月) 23:51:33.49 ID:iN+OyuMJ
>>284
知識のない馬鹿は来るなって言ってるだろうが!
マジ迷惑なんだよ、お前みたいな横やり野郎は
うざいだけ、自覚のない荒らしだろお前
286デフォルトの名無しさん:2014/03/24(月) 23:52:05.65 ID:HS2n3CGr
>>283
コテつけることも出来ないゴミ屑がしゃしゃり出るんじゃねーよ
そんなに叩かれるのが怖いの?
人のことボロクソ言うくせに自分が叩かれるのは嫌とかなめてんじゃねーぞ糞ニート働けや屑
287デフォルトの名無しさん:2014/03/24(月) 23:56:52.89 ID:UzrSJmvl
>>283
敢えて相手する(以降は一切相手しない)けど、
混乱を避けて関係ないけどと前書きしてちょっと役立つかも知れない情報を足すことを非難される謂れはないし、
たぶんの但し書きにしても不必要な断定よりはよほど誠実な上他の人が訂正してくれる可能性だって開いてると僕は思う。
そして一切建設的な話をせずにそういうこと言ってるだけの貴方が口を出す資格もない。
僕のことをアホって言うならそれはいいけど、僕や彼のために間違ってるなら訂正してよ
288デフォルトの名無しさん:2014/03/25(火) 00:00:58.48 ID:iN+OyuMJ
>>287
ふざけんな、糞みたいな嘘情報を吐いておいて
正義面すんな、スレを汚しておいて酷い言葉だな
289デフォルトの名無しさん:2014/03/25(火) 00:01:53.27 ID:9Vi74SGG
290デフォルトの名無しさん:2014/03/25(火) 00:03:04.09 ID:9Vi74SGG
働けゴミ屑ニート
291269:2014/03/25(火) 00:15:40.04 ID:ZcEuDk3W
アドバイスをありがとうございます。
煽りの人は非表示にしたので、IDも確認できなくなっています。

>>280
.pyファイルを新規作成してみましたが、エラーは継続して表示されました。
ただ、>>276 の方のいうように、このエラーが出ていても処理は進んでいる
ようなので、今回は無視しようかと思っていましたが、まずいでしょうか。

>>282
ありがとうございます。調べてみます。
ちなみに glob.glob('*.txt') とでは、どちらがオススメというのはありますでしょうか。
別のエラー対策のために調べているとこれが目について、これに変えようかと思っていたのですが・・・。
292デフォルトの名無しさん:2014/03/25(火) 00:18:09.50 ID:bvFcvrs8
>>201
おいチョーセンヒトモドキ調子に乗るなよ!
てめーみたいなクズがいるからゴミ質問者を呼び寄せてるんだろうが
マジで低能さを自覚しろよな、それが出来ないからこのスレにいるんだろ?
293デフォルトの名無しさん:2014/03/25(火) 02:57:12.91 ID:RstUBxh7
>>291
単純に入力ファイルのフォーマットがきちんとしてないだけじゃね?
タブ区切りじゃない行があるんだよきっと

スマホなんでスペース区切りになってるけど
ttp://ideone.com/xgjFQR
294269:2014/03/25(火) 07:58:26.87 ID:ZcEuDk3W
>>293
2つめのエラーは、目的とは別のファイルを意図せず読み込んでいたことが原因でした。

1つめのエラー(IDEのエラー?)は、原因は不明ですが、動作に影響を及ぼさないように見えるので、放置しようかと思っています。
295デフォルトの名無しさん:2014/03/25(火) 12:26:22.00 ID:bvFcvrs8
>>294
ゴミチョーセン人入りましたー
Pythonやってるゴミはこんなかんじの質問をする馬鹿野郎です^^;
296デフォルトの名無しさん:2014/03/25(火) 12:30:57.05 ID:QQ/VYTXH
レイシストが人のことゴミって言ってますね・・・
297デフォルトの名無しさん:2014/03/25(火) 12:43:27.80 ID:iaFhKYFb
レイシストなんていませんよ
ゴミは人間じゃありませんから
298デフォルトの名無しさん:2014/03/25(火) 19:16:26.11 ID:/Po8Mpe4
https://github.com/evernote/evernote-sdk-python3

これを使いたくてgithubのクライアント使ってダウンロードしてコマンドプロンプトでsetup.py install と打ち込みました
すると新しいファイルをC\:Python33\lib以下じゃなくてsetup.pyのあるディレクトリにコピーしてくれましたが、これだとインストールできてないですよね
正しくインストールするにはどうしたらいいでしょうか
299デフォルトの名無しさん:2014/03/25(火) 19:24:42.89 ID:nZeFpifq
>>298
c:\Python33\python.exe setup.py とか
py -3 setup.py とか。
300デフォルトの名無しさん:2014/03/25(火) 19:31:30.36 ID:/Po8Mpe4
インストールできてないと思ったのは勘違いでした
すみません><
301デフォルトの名無しさん:2014/03/25(火) 23:24:04.90 ID:kzK0jd5T
教えて下さい。
nameという多数項目があるリストに共通の変数を指定したいんですが、
以下のようにすることってできますか?

abc = '共通ワード'
name = ['%sあああ',
'%sいいい',
'%sううう',
'%sえええ',
'%sおおお'] % abc
302デフォルトの名無しさん:2014/03/25(火) 23:41:36.52 ID:LnHxQXcr
word = '共通ワード'
names = ['%sあああ', '%sいいい', '%sううう', '%sえええ', '%sおおお']
[name % word for name in names]
303デフォルトの名無しさん:2014/03/25(火) 23:54:56.86 ID:kzK0jd5T
>>302
すみません、よくわかりません・・
names[0]はどうやって取り出せますか?
304デフォルトの名無しさん:2014/03/26(水) 00:07:01.27 ID:ntkBkCsU
[name % word for name in names][0]

names = [name % word for name in names]
names[0]
305デフォルトの名無しさん:2014/03/26(水) 00:10:45.27 ID:R/As+Elj
>>304
ありがとうございます!理解できるようにがんばります
306デフォルトの名無しさん:2014/03/26(水) 18:37:18.95 ID:f/bZCXoV
辞書型について、値からその値に対応するキーを取り出す方法はありますか??

どうぞよろしくお願いします。
307デフォルトの名無しさん:2014/03/26(水) 18:56:51.80 ID:ntkBkCsU
dic = {'a':1,'e':2,'v':3,'k':4,'d':5}
print [k for k, v in dic.iteritems() if v == 2]
308デフォルトの名無しさん:2014/03/26(水) 19:35:57.87 ID:3ZsDRAvZ
値がユニークだと保証されてるなら、
逆引き用に 値=>キーの辞書を準備する。

全部の値を調べるのは、効率よくない。
309デフォルトの名無しさん:2014/03/26(水) 21:17:13.09 ID:f/bZCXoV
>>307
>>308
ありがとうございます!
310デフォルトの名無しさん:2014/03/28(金) 09:39:37.44 ID:mS7OAMes
datetime.datetimeにメソッドnowが含まれているか判定する方法を教えてください
以下コードではエラーがでてダメでした

import datetime
print("now" in datetime.datetime)
311デフォルトの名無しさん:2014/03/28(金) 10:10:10.08 ID:RG6zDzQP
>>> import datetime
>>> hasattr(datetime.datetime, "now")
True
312デフォルトの名無しさん:2014/03/28(金) 11:58:12.25 ID:uNNog8Xc
GUIをxmlとかで定義して書くフレームワークってあります?
pyqtとかはできないですよね
313デフォルトの名無しさん:2014/03/28(金) 17:49:49.76 ID:6R0nhY/g
>>312
Qt の UIファイルも XML だよ
314デフォルトの名無しさん:2014/03/28(金) 18:50:56.63 ID:GeibCDDV
GUIアプリ作ったことないんですけど
デザインの細かい微調整はcssで書くんですか?
315デフォルトの名無しさん:2014/03/28(金) 18:53:20.87 ID:xiFoJHqm
mxmlとかじゃないの
316デフォルトの名無しさん:2014/03/28(金) 19:50:55.78 ID:6R0nhY/g
>>314
Qt だったら、スタイルシートをサポートしてるので cssで書けます

微調整では、調整したい部分がスタイルのサポート外の項目だったりすると
独自にレンダリングする事になる場合もある。HTML/CSSと比べると若干限定的。
317デフォルトの名無しさん:2014/03/28(金) 21:09:06.83 ID:GeibCDDV
>>316
おお、cssで書けちゃうんですね
挑戦してみたくなってきましたありがとうございます
318デフォルトの名無しさん:2014/03/29(土) 17:15:57.51 ID:HKwZs3/Z
あるサイト用にruby、phpのスクリプトからも呼び出されるpythonスクリプトを書いています。
pythonスクリプト内でsys.path(インクルードパス)を追加し
自作モジュールを読み込んでいるのですが
Rubyからの呼び出しでは正常に動作するものの
PHPからはImportError(モジュール読み込み失敗)が発生します。
呼び出し側の言語によって挙動が異なる理由がわからず困っています。

# python(common.py - python2.6.6)
sys.path[:0] = ["my/libraries"]
import my.mod
# from my.mod import MyMod

# rubyスクリプト(CGI - ruby1.8.7)
IO.popen("python common.py","r") do |io|
 while line = io.readline do
  print line
 end
end

# phpスクリプト(PHP - php5.4.5)
# ImportErrorが発生 No module named mod
$handle = popen("python common.py","r");
while ( $line = fgets($handle) ) {
 echo $line;
}
pclose($handle);
319デフォルトの名無しさん:2014/03/29(土) 17:44:21.80 ID:kMhv0CS2
見た感じsys.pathに相対パスぶっこんでるけどos.getcwdはちゃんとそのPythonScriptのディレクトリにいるのか?
320318:2014/03/29(土) 17:52:19.70 ID:HKwZs3/Z
>>319
スミマセン!実際のスクリプトでは絶対パスを指定しています。
申し訳ないですm(_ _)m
popenに渡すコマンドもcommon.pyの絶対パスを渡しています
321318:2014/03/30(日) 19:28:15.56 ID:5IXyOJ76
解決しました。原因はファイルのパーミッションでした。
自作ライブラリ(python)はCGIを意識したパーミッションにしてたのですが、
PHPに合ってなかったと思われます。
例外メッセージだけじゃなく、最初から詳細なトレースを見てれば・・・orz

それにしてもPIPEでつないだ別スクリプトが
呼び出し側の言語のその種の影響を受けるとは思いもしなかったです。
サーバ移転後の調整だったんですが、移動前は問題なかったので、
なんらかのサーバ設定が影響してるのかもしれません。
322デフォルトの名無しさん:2014/03/30(日) 21:39:15.10 ID:E0lDtgpr
●すぺっく
環境:Win7 Python3.3
本人:情報系ではなくバイオでプログラム歴ほぼなし
●やりたいこと
Setuptoolsインストール→Pillow インストール

pypi.python.org/pypi/setuptools#downloads (レベル不足でリンク不能)
からez_setup.pyをダウンロードして
ウインドウズコマンドラインから実行
→python33\Scripts のなかにeasy_install.exeなどができる
まではできたのですが
python3.3上で

  >>>easy_install pillow
   File "<Stdin>" line 1
easy_install pillow
^
とエラーがでてインストールされてないっぽいです
ぐぐったりはしたつもりですが、何でエラーがでてるかわかりません
ひどく初歩で申し訳ないのですがたすけてくださいm(> <)m
323322:2014/03/30(日) 21:41:20.91 ID:E0lDtgpr
すみませんずれました
エラーメッセージの^はpillowの下でした
324デフォルトの名無しさん:2014/03/30(日) 21:59:08.26 ID:dj4/IrM6
コマンドプロンプトから python3.3 を起動して easy_install pillow するんじゃなくて
コマンドプロンプトで easy_install pillow するんだお

もし easy_instal が見つからないとか言われたら PATH 環境変数に easy_install のある場所を記述する
やり方わからなかったらぐぐって
325デフォルトの名無しさん:2014/03/30(日) 23:04:49.77 ID:objtytT6
>322
http://pillow.readthedocs.org/en/latest/installation.html#windows-installation

(test_env) C:\Users\fox>python -V
Python 3.3.3

(test_env) C:\Users\fox>pip install Pillow==2.3.0
Downloading/unpacking Pillow==2.3.0
Installing collected packages: Pillow
Successfully installed Pillow
Cleaning up...
326デフォルトの名無しさん:2014/03/30(日) 23:17:20.29 ID:6RO/tmV/
Pythonがはやらないのは日本人にとって卑猥に感じるからだろ
327デフォルトの名無しさん:2014/03/30(日) 23:19:23.49 ID:stNcjo4d
いや英語が・・・そうですその通りですはい。
328デフォルトの名無しさん:2014/03/30(日) 23:45:51.68 ID:UzyQXOYA
It's
329322:2014/03/31(月) 00:08:13.87 ID:qgORhrHF
>>324
ちょっと進んだっぽいーーちょーありがとおおー
しかし先が思いやられるよー

現状を報告

コマンドプロンプトでeasy_install pillow
ダウンロード、展開まではできるがインストールの時に
→error: Unable to find vcvarsall.bat
これを回避するためにVisual C++ 2008 Express Edition をインストールする(vcvarsall.batをげっと)
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VCにPATHを通す
vcvarsall.batをVS90COMNTOOLSの指してる場所にコピペ
などやってますが未解決
330デフォルトの名無しさん:2014/03/31(月) 00:13:25.45 ID:6HAWnxGB
WindowsだとZIPやインストーラ付きが早い気がする。
331デフォルトの名無しさん:2014/03/31(月) 00:14:53.23 ID:G6rvMnNu
Python3は2010だよん

まあ>>330が言うように大人しくインストーラ付きを使うべき
332デフォルトの名無しさん:2014/03/31(月) 00:33:47.87 ID:y+1N86iA
ビルド環境か用意するとか大変すぎる。かわいそうに
Windows でインストーラ付きというとこのへん?
http://www.lfd.uci.edu/~gohlke/pythonlibs/
333デフォルトの名無しさん:2014/03/31(月) 00:49:39.07 ID:u+KzIncY
俺はpip試して、だめだったらeasy_install.最後にバイナリ使ってるわ
334322:2014/03/31(月) 01:14:00.71 ID:qgORhrHF
結局

pypi.python.org/pypi/Pillow/2.0.0から
Pillow-2.0.0.win-amd64-py3.3.exe (md5) をDL→インストール
で出来たっぽいです。みなさんほんとにありがとうございます><
Winつかうのがまちがってるのか??
335デフォルトの名無しさん:2014/03/31(月) 01:23:48.09 ID:6HAWnxGB
別に間違ってはいないと思うけどプログラミング環境だけで
みたら何かと面倒なのは確か。Mingwとかもっと成果でて欲しい。
336デフォルトの名無しさん:2014/03/31(月) 01:24:32.78 ID:Pu6KWQGV
>>334
>>325みたいにpipじゃだめなん?
337デフォルトの名無しさん:2014/03/31(月) 01:30:03.98 ID:ZZGoN0RA
winならcygwin検討するといいよ
338322:2014/03/31(月) 01:48:22.69 ID:qgORhrHF
pillowのインストールはpipサポートしてないみたいでした
cygwinみてみます unixは10年以上前にちょっとだけさわって忘れたけど・・・
339デフォルトの名無しさん:2014/03/31(月) 10:07:45.68 ID:G6rvMnNu
eggsは駄目だけどwheelなら行けるよ
コンパイラ入ってないと駄目なのは変わらんが
340デフォルトの名無しさん:2014/04/01(火) 14:20:18.36 ID:PHZiz/BC
Python 3でNOPに相当する文ってあるのかな?
一つのソースから、複数のリリースソースを自動生成しているんだけど、
不要な行を出力しないようにすると、行番号が変わってしまうし、
空行やコメントに置き換えると後工程の最適化処理で消えてしまう。
正直、このやり方自体よくないと思うんだが、権限なくてどうにもならん。
C系の言語で言うところの下のような文が書けると助かるんだけど
何かいい方法とか教えてもらえれば凄く助かる。

if (foo)
;
else
bar;
341デフォルトの名無しさん:2014/04/01(火) 14:29:00.51 ID:Vx4bzGi5
pass
342340:2014/04/01(火) 14:33:37.05 ID:PHZiz/BC
>>341
おお、感動するほど早いレスありがとう。
Simple statementsなんて項目あったのか。
完全にドキュメントの読み落しで恥ずかしい限り。
勉強することはいくらでもあって楽しみは尽きんね。
343デフォルトの名無しさん:2014/04/02(水) 01:29:10.67 ID:GGoraSqn
リスト(タプル)の要素が全部Noneかどうか(None以外の要素が1個でもあるかどうか)を調べるには、

a = [None, None, None]
not [x for x in a if x]

とかくらいですかね?
344デフォルトの名無しさん:2014/04/02(水) 01:47:20.88 ID:KaQqEXPe
>>343
すんげーダサいけど
set(a) == {None}
345デフォルトの名無しさん:2014/04/02(水) 01:49:11.22 ID:dJIwdhJE
Noneだとあとはall(n is None for n in a)とか

Falseや0でもいいならnot any(a)でいいと思うが
346デフォルトの名無しさん:2014/04/02(水) 01:59:29.45 ID:GGoraSqn
>>344,345
ありがとうございます。
any() は見落としてました。
re.search() の結果のチェックだけなので not any() で行けそうですありがとうございました。
347デフォルトの名無しさん:2014/04/02(水) 23:27:14.84 ID:UvZlR9+v
found_coins = 20
magic_coins = 70
stolen_coins = 3
coins = found_coins
for week in range(1,53):
coins = coins + magic_coins - stolen_coins
print('Week %s = %s' % (week,coins))

これは、python for kidsという洋書のプログラムです
子供用のものと思って見くびっていたら、ここでつまづきました。多分英語が読めてないから理解できないのだと思いますが
found_coinsは、20枚のコインを見つけたこと
magic_coinsは、週に70枚コインが増えること
stolen_coinsは、週に3枚コインが盗まれることを表します
質問なのですが
@coins = found_coinsの意図、
A coins = coins + magic_coins - stolen_coinsで、なんでcoinsを両辺に持ってくるのか
というか、全体的に理解できないです。宜しくお願いします。
348347:2014/04/02(水) 23:34:22.35 ID:UvZlR9+v
書き忘れましたが、このプログラムの意図は
週ごとのコインの枚数を、52週分求めようということです
一週間目は20+70*1-3*1=87枚のコインがある
二週間目は20+70*2-3*2=154枚のコインがあるということです
349デフォルトの名無しさん:2014/04/02(水) 23:37:15.06 ID:OWc61VjV
>>347
1
coinsを初期化してるだけ
found_coinsがcoinsの初期値ってことじゃろ

2
coinsが一週間で67(magic_coins-stolen_coins)増えるって意味
coins+=magic_coins-stolen_coins
と同じ
350デフォルトの名無しさん:2014/04/03(木) 00:01:58.53 ID:qL+1iK2f
>>347
>A coins = coins + magic_coins - stolen_coinsで、なんでcoinsを両辺に持ってくるのか

Python に限らず手続き型プログラミング言語における記号「=」の意味は、
一般的な数学の「等しい」ではなくて、「右辺の式を評価した結果で左辺を書き換える」になる
いいかえると、この文は等式(あるいは方程式)とは、まったく関係ない

数学の世界だと、変数は一度初期化されれば二度と値が変化することなんてありえないけど、
プログラミングの世界だと、変数とは黒板みたいなもので、いくらでも書き換えできる
この文は、coinsその他変数の値を読み出し、計算し、黒板上に書かれたcoinsの欄を
黒板消しで消してから、その計算結果の値をチョークで書き込みなさい!!という
手順(=命令の並び)を表現している
351デフォルトの名無しさん:2014/04/03(木) 00:16:28.04 ID:vXbvxLOe
>>347
coins = coins + magic_coins - stolen_coins

1:coins + magic_coinsを計算する
2:1の結果-stole_coinsを計算する
3:左辺のcoinsを2の結果に入れ替える
みたいな感じになる
352347:2014/04/03(木) 00:19:28.63 ID:XZtGZD8Z
すみませんもうひとつ
なぜ、このようにプログラムを組むと、coinsの値は変わらず、magic_coinsとstolen_coinsの値は変わるのですか?
353デフォルトの名無しさん:2014/04/03(木) 00:25:56.83 ID:23c/Tj4/
Pascalじゃ代入式は:=だったね。
354デフォルトの名無しさん:2014/04/03(木) 00:47:07.43 ID:uY8VKLbg
>>352
> なぜ、このようにプログラムを組むと、coinsの値は変わらず、magic_coinsとstolen_coinsの値は変わるのですか?
ん?magic_coinsとstolen_coinsはまったく変わってないが?
coinsとweek以外は全部定数だよ
355347:2014/04/03(木) 01:04:05.30 ID:XZtGZD8Z
magic_coinsは一週間に70増え、stolen_coinsは一週間に3減るのですから、変わっているのではないですか?
逆にcoins = found_coinsは、20で不変なのではないですか?
356デフォルトの名無しさん:2014/04/03(木) 01:04:05.58 ID:ehwkpBqS
既出だったら申し訳ありません
現在PyScripterを使用しコードを書いているのですが
print("こんにちは世界")と書くとインプリンタの出力画面?実行画面で文字化けを起こします

現在
先頭行# -*- coding: utf-8 -*-
エディタのフォントをMSゴシックに設定
インプリンタオプションを選択、ここでまたフォントをMSゴシック

等対策をとっているのですが一向に改善されず困り果てています
なにか解決策などを指南していただけないでしょうか
357デフォルトの名無しさん:2014/04/03(木) 01:19:29.31 ID:QcFLxHFw
print(u'こんにちは世界'.encode('shift-jis'))
かな
358デフォルトの名無しさん:2014/04/03(木) 01:35:47.64 ID:hnpj0u0+
>>355
まず、その英語のPython for Kidsより先に、日本語のプログラミング入門書を読んで。
359デフォルトの名無しさん:2014/04/03(木) 01:36:45.54 ID:PJ3rnam6
>>355
んん?

まず最初にコインを20枚見つけた
found_coins = 20
一週毎に増えるコインの枚数は70
magic_coins = 70
一週毎に盗まれるコインの枚数は3
stolen_coins = 3
コインの枚数の初期値は最初に見つけた20
coins = found_coins
52週後までのコインの枚数を一週毎に求める
for week in range(1,53):
その週に増えたコイン枚数の合計は、現在のコイン枚数+一週毎に増える70枚-一週毎に盗まれる3枚
 coins = coins + magic_coins - stolen_coins
何週目かとコインの合計を表示
 print('Week %s = %s' % (week,coins))

増えるのはcoinsとweekだけだよ?
360デフォルトの名無しさん:2014/04/03(木) 01:43:07.64 ID:ehwkpBqS
>>357
ありがとうございました
マルチバイト文字を使用する場合はユニコードに変換する必要があったんですね
361デフォルトの名無しさん:2014/04/03(木) 01:44:34.85 ID:hnpj0u0+
>>360
それはちょっと違うと思うがw
362デフォルトの名無しさん:2014/04/03(木) 02:08:15.34 ID:QcFLxHFw
>>360
#先頭に'-*- coding:utf-8 -*-'を記述,
#ファイルをutf-8で保存した上で

print(u'こんにちは世界'.encode('shift-jis'))
print('こんにちは世界'.decode('utf-8').encode('shift-jis'))

どっちも「こんにちは世界」と出力される
この違いを考えてみるといいよ
363デフォルトの名無しさん:2014/04/03(木) 02:19:33.38 ID:xLDtsOGn
windowsのコマンドプロンプトがshift-jis(CP932)なのが悪い
364デフォルトの名無しさん:2014/04/03(木) 04:56:53.84 ID:4dHMMlMM
いや、標準エンコードをOSに合わせないPythonが悪いと思う
365デフォルトの名無しさん:2014/04/03(木) 07:33:49.61 ID:9rp45yLz
どちらも違うわ
暗黙に処理されることを期待するのが馬鹿
366デフォルトの名無しさん:2014/04/03(木) 07:45:08.27 ID:DXg21ULv
いや、Python3の標準出力は、コマンドプロンプトに合わせたエンコードに初期化されるから
print("こんにちは世界")だけでCP932出力してくれる
ソースファイルの保存エンコードを理解してない>>356が悪い
367デフォルトの名無しさん:2014/04/03(木) 09:29:37.34 ID:CP8BnsY7
setdefaultencoding
368デフォルトの名無しさん:2014/04/03(木) 09:30:27.01 ID:CP8BnsY7
>>363
その通り

mintty使うがよい
369347:2014/04/03(木) 11:38:15.25 ID:XZtGZD8Z
>>359
朝起きてよく見返して見てやっと分かりました
3000円くらいで買った本なのでここで挫折したくなかったので助かりました
英語の練習も兼ねてもう少し頑張ってみようと思います
ありがとうございます。
他の方もありがとうございました。
370デフォルトの名無しさん:2014/04/03(木) 15:59:04.23 ID:sTSI5mzl
www.binarytides.com/python-packet-sniffer-code-linux/
このページ見てパケットキャプチャ作ろうとしているのですが
IPヘッダを人が見て分かるように変換する方法がわかりません
前から4ビット読み込んでversionとかだと思うんですけど
文字列なのか整数なのかわからないです
371デフォルトの名無しさん:2014/04/03(木) 16:07:11.38 ID:CP8BnsY7
馬鹿には無理
372デフォルトの名無しさん:2014/04/03(木) 17:54:36.05 ID:Eq5358oB
flask使って簡単なブログを作ったのですがレンタルサーバー上で動かすときは
どうするのが主流なんでしょうか?
今はレンタルサーバー上で python app.py として動かしているのですが
これで何か問題はありますか?
373デフォルトの名無しさん:2014/04/03(木) 18:26:32.13 ID:joA71GZI
>>355
Python for kidsは日本語訳版出てるから、そっち読んだほうがいい
http://www.amazon.co.jp/dp/4274069443
374デフォルトの名無しさん:2014/04/03(木) 20:32:01.61 ID:u+JhYDX/
彼の課題はpythonでも英語でもないでしょ
375372:2014/04/03(木) 20:35:55.20 ID:QUZ4kSS9
webprog板で聞いてきます
376デフォルトの名無しさん:2014/04/04(金) 01:51:58.78 ID:O3lvlP11
>2.7で日本語出力

端末に出力する時は、unicodeで出力し、
setdefaultencoding は使わず、実行環境側で環境変数 PYTHONIOENCODING を設定しよう。

encode/decodeが至る所に書かれてるようなコードは、保守性悪くなるし、
3.xへの移植の際に手間になります。
377デフォルトの名無しさん:2014/04/04(金) 23:23:44.83 ID:KFfZUTsF
>>370
すいません自己解決しました
378デフォルトの名無しさん:2014/04/05(土) 09:48:33.68 ID:TeJAeAYQ
WEB+DB PRESSの特集や関連書籍がほとんどRubyばかりでまるでPythonが存在しないかのような扱いなんですが、何か圧力でもかかっているのですか?バックナンバーを見ると昔は平等に扱われていたようですが…。
379デフォルトの名無しさん:2014/04/05(土) 10:13:01.27 ID:WZplTJZw
君は反響の少ない記事を平等に扱わなければならないという思想なのですか?
それも営利企業が

馬鹿なこと言ってないでRubyを書くのです
380デフォルトの名無しさん:2014/04/05(土) 10:51:18.19 ID:XfiRYzuO
>>378
圧力も何も、単純な市場原理だよ。
大きめの書店でRubyとPythonの書籍の数を比べてみな。
381デフォルトの名無しさん:2014/04/05(土) 11:06:25.42 ID:Ieizjxs7
3DCGの組み込みスクリプトとか海外のオープンソースのセットアップスクリプトは大抵がPythonで、
今まで自分が触れた範囲でRubyが必要になったことはないなぁ。
市場原理という点では最近のRuby推しは自分には理解できないなぁ。
382デフォルトの名無しさん:2014/04/05(土) 11:14:21.97 ID:2CjHSx4q
世界を相手にしたいならPython、鳥取界隈を相手にしたいなら断然Ruby!!
383デフォルトの名無しさん:2014/04/05(土) 11:16:04.73 ID:2CjHSx4q
あ、島根県松江市界隈だったw
384デフォルトの名無しさん:2014/04/05(土) 11:30:44.27 ID:WZplTJZw
世界から孤立した言語圏の猿がなに言ってんの?
こんなとこでまでセカイセカイ願望を聞くと思わなかったよw
よほど現実に疎いらしいな
385デフォルトの名無しさん:2014/04/05(土) 11:35:24.16 ID:WZplTJZw
だいたい今まで自分が触れた範囲でって
手前のセセコマシイ世界の話なんて聞いてねえんだよ
見識がせまいですって自慢するのがPythonicなんですかねHAHAHA
386デフォルトの名無しさん:2014/04/05(土) 11:52:00.72 ID:m9Ov5TWt
>>384
> 世界から孤立した言語圏の猿がなに言ってんの?
その理論だと世界から孤立した言語圏の猿が開発した言語なんてもっての他ですね
387デフォルトの名無しさん:2014/04/05(土) 12:14:18.00 ID:XfiRYzuO
>>381
理解できないんじゃなくて、現実を認めたくない君の脳みそが
自己崩壊を防ぐために理解を拒んでいるんだよ。
現実を素直な目で見、受け入れること。
これができれば、何でもドンと来いと言える素敵な人間になれるよ。
388デフォルトの名無しさん:2014/04/05(土) 12:47:48.62 ID:j3AVkMKy
あとはこっちでやってね
http://toro.2ch.net/test/read.cgi/tech/1396153182/
389デフォルトの名無しさん:2014/04/05(土) 13:16:25.61 ID:WZplTJZw
わざわざ
そこから出張してやってんだよ
誰が戻るか
390デフォルトの名無しさん:2014/04/05(土) 23:23:56.31 ID:TFFtPHBU
unicode表現を文字として表示したいのですが、ファイルから読み込むとうまくいきません どうすればいいですか?

コード
print("\u304b")
with open("test.txt", 'r') as f:
  for line in f:
    print(line)

実行結果

\u304b

使うファイル
http://www1.axfc.net/u/3215521.txt
391デフォルトの名無しさん:2014/04/06(日) 00:31:21.40 ID:3b5b87v3
line.decode('unicode-escape').encode('shift-jis')
392デフォルトの名無しさん:2014/04/06(日) 00:38:48.53 ID:Gk3ZXLUh
>>> with open("test.txt", "w") as fp:
... fp.write("か")
...
1
>>> with open("test.txt", "r") as fp:
... print(fp.read())
...


のtest.txtは"か"、http://www1.axfc.net/u/3215521.txtは"\u304b"
393390:2014/04/06(日) 01:24:21.21 ID:nZKlftef
b=bytes(line,'utf-8')
print(b.decode('unicode-escape'))

これでできました
ありがとうございました
394デフォルトの名無しさん:2014/04/06(日) 01:39:10.22 ID:gYSiARiX
やってることはほぼ同じだろうけど
print( line.encode().decode('unicode_escape') )
でもいける
395デフォルトの名無しさん:2014/04/06(日) 01:55:33.30 ID:gYSiARiX
あと open関数のmodeオプション "r" を "br"にすれば
print( line.decode('unicode_escape') )
だけでよい
396デフォルトの名無しさん:2014/04/06(日) 03:53:52.87 ID:5J1lYPyf
引数がlistでlen(list)の数だけsetを作りたいんだけど
どうすればきれいな実装になる?
お願いします〜
397デフォルトの名無しさん:2014/04/06(日) 07:45:40.45 ID:wQyP8lyU
>>396
a = [1,2,3]
[set(a) for i in range(len(a))]

解釈が違ったら具体例だして
398デフォルトの名無しさん:2014/04/06(日) 09:39:13.45 ID:5J1lYPyf
>>397
ありがとう解決した
おれがしたかったことは
[set([]) for i in range(len(a))]だったよ
399デフォルトの名無しさん:2014/04/06(日) 09:59:28.36 ID:oPgrbBb6
スレ建てるまでもない質問スレとマルチポストかよ。
400デフォルトの名無しさん:2014/04/06(日) 23:55:52.84 ID:W/jk3jto
python で書いてるアプリケーションで、 API key みたいなのを使う必要があって、
もちろん完全に隠せるともそうしたいとも思ってないものの、
普通のテキストファイルに平文でそのまま書く (consumer_key='ajg1j4ao41er')
のってちょっと気持ち悪いかなっていう気がしています。
なにか標準的な方法がありますか、
あるいは気にするべきでない(平文でそのまま書くのが良い)でしょうか?
どうせ大々的に使われるようなものではないので、本気でセキュリティ頑張るようなたぐいではないです
401デフォルトの名無しさん:2014/04/07(月) 00:33:08.41 ID:2Dx0rEhF
>>400
スクリプトのコードを直接読まれる時点でサーバが脆弱性を抱えてる事になるのと、
パスワードの暗号化は複合化するのが難しい事が求められるので
質問自体がちょっと的外れになってる

ただ、WebAPIの認証に必要な情報は当然隠さないといけないから、スクリプトの中に含めるべきではない
設定ファイルをURIでアクセスできないところにおいて、configparserモジュール使ってよみこむようにする
バージョン管理ツールには実際の設定ファイルを登録しないで、サンプルの設定ファイルを登録する
402デフォルトの名無しさん:2014/04/07(月) 00:41:32.54 ID:axHHuueI
>>401
ふむふむありがとうございます.そういう感じでやってみます
403デフォルトの名無しさん:2014/04/07(月) 12:18:42.51 ID:7LBFjO6B
昔このスレで4つの文字の組み合わせを求めるコードが貼り付けられてたと思うんですけど何番目のスレかわかる人いませんか
404デフォルトの名無しさん:2014/04/07(月) 12:26:31.55 ID:KhripvKN
そんなもの探すよりitertoolsのドキュメントでも見たら
405デフォルトの名無しさん:2014/04/07(月) 12:41:10.04 ID:oKRDb4uG
406デフォルトの名無しさん:2014/04/07(月) 13:45:27.92 ID:2RriIU54
なんだったかなどっかの求人ページの問題
これが解ければ年収1000万ってやつ
CDFGみたいなアルファベット4つの組み合わせのやつ
407デフォルトの名無しさん:2014/04/07(月) 13:55:18.06 ID:KhripvKN
組み合わせを求めたいんじゃなくて
問題を思い出したいのか
そりゃ失礼した
408デフォルトの名無しさん:2014/04/07(月) 14:06:39.67 ID:ktMnCtsu
409デフォルトの名無しさん:2014/04/07(月) 14:10:50.49 ID:ktMnCtsu
文字候補'python'からn文字の文字列を生成する(重複なしの場合)

def perm(n, m):
... if m<1:
... yield()
... else:
... for r in perm(n, m-1):
... for x in xrange(n):
... if x not in r:
... yield r + (x,)

def create_word_list_p(n, s):
... return [''.join(s[i] for i in t) for t in perm(len(s), n)]

create_word_list_p(3, 'python') ['pyt', 'pyh', 'pyo', 'pyn', 'pty', 'pth', 'pto', 'ptn', 'phy', 'pht', 'pho', 'phn', 'poy', 'pot', 'poh', 'pon', 'pny', 'pnt', 'pnh', 'pno',
(省略)
'npy', 'npt', 'nph', 'npo', 'nyp', 'nyt', 'nyh', 'nyo', 'ntp', 'nty', 'nth', 'nto', 'nhp', 'nhy', 'nht', 'nho', 'nop', 'noy', 'not', 'noh']
410デフォルトの名無しさん:2014/04/07(月) 14:13:14.64 ID:ktMnCtsu
文字候補'python'からn文字の文字列を生成する(重複ありの場合)

def combi(a, b):
... if isinstance(a[0], tuple):
... return [x + (y,) for x in a for y in b]
... else:
... return [(x, y) for x in a for y in b]

def combination(*l):
... return reduce(combi, l)

def create_word_list(n, s):
... return [''.join(s[i] for i in t) for t in combination(*[xrange(len(s)) for j in xrange(n)])]

create_word_list(3, 'python')
['ppp', 'ppy', 'ppt', 'pph', 'ppo', 'ppn', 'pyp', 'pyy', 'pyt', 'pyh', 'pyo', 'pyn', 'ptp', 'pty', 'ptt', 'pth', 'pto', 'ptn', 'php', 'phy', 'pht', 'phh', 'pho', 'phn', 'pop', 'poy', 'pot', 'poh', 'poo', 'pon', 'pnp', 'pny', 'pnt', 'pnh', 'pno', 'pnn',
(省略)
'npp', 'npy', 'npt', 'nph', 'npo', 'npn', 'nyp', 'nyy', 'nyt', 'nyh', 'nyo', 'nyn', 'ntp', 'nty', 'ntt', 'nth', 'nto', 'ntn', 'nhp', 'nhy', 'nht', 'nhh', 'nho', 'nhn', 'nop', 'noy', 'not', 'noh', 'noo', 'non', 'nnp', 'nny', 'nnt', 'nnh', 'nno', 'nnn']
411デフォルトの名無しさん:2014/04/07(月) 14:14:01.56 ID:ktMnCtsu
文字候補'python'からn文字の文字列を生成する(重複なしの場合)

def perm(n, m):
... if m<1:
... yield()
... else:
... for r in perm(n, m-1):
... for x in xrange(n):
... if x not in r:
... yield r + (x,)

def create_word_list_p(n, s):
... return [''.join(s[i] for i in t) for t in perm(len(s), n)]

create_word_list_p(3, 'python')
['pyt', 'pyh', 'pyo', 'pyn', 'pty', 'pth', 'pto', 'ptn', 'phy', 'pht', 'pho', 'phn', 'poy', 'pot', 'poh', 'pon', 'pny', 'pnt', 'pnh', 'pno',
(省略)
'npy', 'npt', 'nph', 'npo', 'nyp', 'nyt', 'nyh', 'nyo', 'ntp', 'nty', 'nth', 'nto', 'nhp', 'nhy', 'nht', 'nho', 'nop', 'noy', 'not', 'noh']
412デフォルトの名無しさん:2014/04/07(月) 15:55:52.44 ID:J5/BeX+j
すいません見つけました
cgios.com/recruit/index.html

これのコードをこのスレの何番目か忘れましたがcodepadだかideoneだかURLを書き込みしたんですよ
おれが書いたコードなんですがどこで貼ったか忘れたので知ってる方いませんかね
413デフォルトの名無しさん:2014/04/07(月) 16:53:26.89 ID:9yyss9BF
以後、スルーの方向でよろしく
414デフォルトの名無しさん:2014/04/07(月) 17:35:50.06 ID:J5/BeX+j
それは各各個人が決めるべきである別に呼びかけなくてもいいよ
掲示板なんだからさ
415デフォルトの名無しさん:2014/04/07(月) 18:22:22.82 ID:h3y43UyD
嫁「お爺ちゃん、さっきご飯食べたでしょ」
爺「そうじゃったかのう…」
416デフォルトの名無しさん:2014/04/07(月) 20:41:22.32 ID:X16BwzyE
スルー了解
417デフォルトの名無しさん:2014/04/07(月) 20:44:41.93 ID:cPHU7Y9F
>>412
スレを全部見て確認。それでも思い出せないならあきらめろ
418デフォルトの名無しさん:2014/04/07(月) 21:56:40.20 ID:Rnm3AbPS
なんでここ過去スレのリンク貼ってないの
419デフォルトの名無しさん:2014/04/07(月) 22:03:06.70 ID:h3y43UyD
>>1の まとめwiki にあるからじゃね
420デフォルトの名無しさん:2014/04/07(月) 22:33:06.18 ID:5wZ1j6dN
嫁さん居るんだ…
421デフォルトの名無しさん:2014/04/07(月) 23:19:35.29 ID:q+HemARZ
数字と文字が入っているcsvファイルを読み込んで、半角全角変換をしてprintで結果を出したいのですが、unicodedata.normalizeを使う場合どう書けばいいのでしょうか?

全角の数字は半角にすると仮定

python2.7.5
Mac OS 10.9です
422デフォルトの名無しさん:2014/04/07(月) 23:26:35.95 ID:vR3IoiGJ
丸投げ君わろた
423デフォルトの名無しさん:2014/04/07(月) 23:49:01.91 ID:q+HemARZ
>422
ごめんね。最近はじめたばかりなもんで。


unicodedata.normalizeは

import unicodedata

s = 'フガホゲ-%*@ABC'.decode('euc-jp')
n = unicodedata.normalize('NFKC', s)
print s.encode('euc-jp')

csvは
import csv

csvfile = open('hoge.csv', 'r')
reader = csv.reader(csvfile)
header = next(reader)

for row in reader:
print row

csvfile.close()

とか?
シンプルなサンプルコードはググればでるし
なんとなく理解できるだけど、二つを組み合わせようと思うとさっぱりわからんのさ。
424デフォルトの名無しさん:2014/04/08(火) 00:04:59.16 ID:lLYfakzY
425424:2014/04/08(火) 00:10:32.80 ID:lLYfakzY
426デフォルトの名無しさん:2014/04/08(火) 11:35:58.62 ID:fr68/BJc
421です。

>>424
ありがとう。質問のしかたすらよくわかってないかも
unicodedata.east_asian_widthは全角半角を調べるものだよね?

自分のやりたい処理の流れはこんな感じです。

1.CSVを読み込む
2.ノーマライズ(正規化)する
3.printする

print unicodedata.normalize('NFKC',data)

とかすると
TypeError: must be unicode, not listで怒られるし。
文法がおかしいんだろうけど。どうやっていいか分からない
427デフォルトの名無しさん:2014/04/08(火) 11:44:40.39 ID:L7hFyRuv
dataに何を入れてるのかも書かないと
428デフォルトの名無しさん:2014/04/08(火) 11:49:06.03 ID:fr68/BJc
>>427

こんな感じです。

# coding: utf-8
import csv
import unicodedata
f = open('hoge.csv', 'rb')
reader = csv.reader(f)
for data in reader:
print unicodedata.normalize('NFKC',data)
429デフォルトの名無しさん:2014/04/08(火) 12:03:57.69 ID:26VivQWC
>>428
unicodedata.normalize が取る引数は unicode型の文字列
そのコードでは、(unicode型でない)文字列のリストを渡してる

* リストの要素毎にnormalizeを適用する
* 各要素の文字列は decode して unicode型に変換
430デフォルトの名無しさん:2014/04/08(火) 12:34:40.32 ID:fr68/BJc
>>429
ありがとう。何でだめなのか分かった。

でもレスしてもらった事をコードにする知識がまだないから出直してきます...
できないのがもどかしいけど、がんばります。ありがとう
431デフォルトの名無しさん:2014/04/08(火) 17:04:51.24 ID:1uiyPTpc
list1 = [
[3, 1],
[2, 3],
[1, 2],
]
これを
1番目を基準にソートする方法
list1 = [
[1, 2],
[2, 3],
[3, 1],
]
2番目を基準にソートする方法
list1 = [
[3, 1],
[1, 2],
[2, 3],
]

forとifで複数行に書かないコードを教えてください
432デフォルトの名無しさん:2014/04/08(火) 17:09:18.39 ID:zuIQgCzz
433デフォルトの名無しさん:2014/04/08(火) 17:47:38.57 ID:ziREpSsJ
こいういやつって超初心者だからわからないとかじゃなくて
初心者だけどググッて調べるのがメンドクサイからオレ様に教えろくださいってやつか、
ただの質問厨だろ

まず、自分のpythonの環境や、どこまで調べて何が分からなかったか書いてから質問しろよ
434デフォルトの名無しさん:2014/04/08(火) 17:54:30.49 ID:zuIQgCzz
虫の居所が悪そうだぬ
435デフォルトの名無しさん:2014/04/08(火) 19:41:38.76 ID:MyudluU2
DJangoの翻訳って1.4が終わるまで続けるんですか?
日本の公式サイト?は全然進んでないし古すぎるし存在する意味があるのでしょうか?
436デフォルトの名無しさん:2014/04/08(火) 20:02:18.23 ID:Mbk16lr4
馬鹿鹿無理
437デフォルトの名無しさん:2014/04/08(火) 21:12:11.87 ID:Qh3mpzXa
>>> "あ".encode("cp932")
b'\x82\xa0'
>>> b"\x82\xa0".decode("cp932")
'あ'
となりますが82という数値から"\x82"をつくるにはどうすればいいのでしょうか
438デフォルトの名無しさん:2014/04/08(火) 21:40:36.21 ID:lzqz/lWb
>>437
b = bytes([0x82, 0xA0])
print(b)
print(b.decode('cp932'))
439デフォルトの名無しさん:2014/04/08(火) 21:45:17.40 ID:Qh3mpzXa
>>438
ありがとうございます!
bytesってリストも引数にとれたんですね
440デフォルトの名無しさん:2014/04/08(火) 21:47:57.78 ID:rqqHIIZN
chr(82) # R
441デフォルトの名無しさん:2014/04/09(水) 07:53:21.44 ID:oVNr0DOE
print '\\x' + '82'
442デフォルトの名無しさん:2014/04/09(水) 14:07:51.72 ID:gj8rQfUA
NHKで会見やってるよ
443デフォルトの名無しさん:2014/04/09(水) 14:16:56.95 ID:zyxn12EM
会場から記念パピコ
444デフォルトの名無しさん:2014/04/09(水) 14:18:24.37 ID:gj8rQfUA
読むんだ
445デフォルトの名無しさん:2014/04/09(水) 14:22:58.58 ID:qA8ouB3T
おぼちゃんの会見?
446デフォルトの名無しさん:2014/04/09(水) 14:33:15.86 ID:rnlf/mPK
必死で真実を訴えるか平気で嘘を付けるかが量子もつれな顔
447デフォルトの名無しさん:2014/04/10(木) 00:49:29.03 ID:GmndHch1
PythonではCMSで王道な選択肢を教えてください

PHPならWordPress,Drupal,MediaWiki,Dokuwiki,joomlaなど
448デフォルトの名無しさん:2014/04/10(木) 01:06:37.83 ID:QISZ32jk
不自由なヤツ増えたなー
449デフォルトの名無しさん:2014/04/10(木) 01:11:29.41 ID:2cJgY0lS
http://www.lleess.com/2013/05/python-content-management-system-cms.html#.U0VwqdsZW1E
pythonは既に終わった.Rubyも...。node.jsかPHPで探せ
450デフォルトの名無しさん:2014/04/10(木) 01:23:49.83 ID:h7PIzVk2
てか本当にCMSが必要なのか微妙な雰囲気が漂う
451デフォルトの名無しさん:2014/04/10(木) 10:19:27.96 ID:b9ngN5Kh
昔 DB+HTML
最近 DB→固定HTMLを静的に生成
今 CMS

元に戻ってるだけなんだけどな
webクリエーター(ω)が
プログラマからデザイナになってまたプログラマに戻って来た感じ
452デフォルトの名無しさん:2014/04/10(木) 12:31:13.17 ID:Ia8pA1h1
どうしてもpythonでやるならploneじゃない?
まあ何でやるかはサーバー環境次第な気がする。
453デフォルトの名無しさん:2014/04/10(木) 12:56:10.96 ID:Oeu7Bhph
PYTHONがWEB制作で使われる機会が少ないのは良いCMSがないから
PHPを選択する人にはWEB CREATORがたくさんいるからCMSがたくさんあるし良質なCMSが生まれるのはあたりまえ
PYTHONを選択する人にWEB CREATORが少ないし、PYTHONを触る人はPROGRAMMERだらけだからCMSの需要もないしCMSを作ろうと思う人がいないだけ
文化の違いだよ
454デフォルトの名無しさん:2014/04/10(木) 13:06:56.30 ID:Ia8pA1h1
ツールプログラミングではいい言語なんだけどね。
ちょっとした変換や整形で
PHPはコンソールでは使いにくいからPython使ってる。
455デフォルトの名無しさん:2014/04/10(木) 13:38:29.65 ID:9KdDCKXV
>>453
つ tornado
456デフォルトの名無しさん:2014/04/10(木) 14:53:43.35 ID:N3vuTs56
フレームワークはCMSじゃない
457デフォルトの名無しさん:2014/04/10(木) 17:04:01.58 ID:b9ngN5Kh
おppy
458デフォルトの名無しさん:2014/04/10(木) 20:35:43.34 ID:1wauUDTZ
cksだよなあ
459デフォルトの名無しさん:2014/04/10(木) 20:43:16.89 ID:2cJgY0lS
>>453
時代的に後手に回っただけ
pythonのコミュニティのWebサイトの方がPHP製よりレスポンシブなもの多い
PHPが何処でnode.jsとシェアが逆転するかは見もの。とりあえず、まだ、PHPで大丈夫。
460デフォルトの名無しさん:2014/04/12(土) 16:29:34.97 ID:9BvNkPAf
---------------------------
import re

s = 'abcdefg'
p1 = re.compile('file')

def henkan(data):
  s = p1.search(data)
  if s is not None:
    return data

lists = []
lists.append(henkan(s))
print(lists)
---------------------------

上記のスクリプトを実行すると、listsに[None]がセットされてしまいます。
dataが正規表現に該当しない場合は、listsに何も追加したくないのですが
どこを直せばよいでしょうか。
461デフォルトの名無しさん:2014/04/12(土) 16:54:35.80 ID:VQjl7ezR
質問する時は

ワンライナーで!スマートな感じでオナシャス!

って付け加えておくといいぞ
462デフォルトの名無しさん:2014/04/12(土) 17:16:19.93 ID:12W5Y+Qh
12,13c12,14
< lists = []
< lists.append(henkan(s))
---
> lists = [henkan(x) for x in [s] if henkan(x)]
> #lists = []
> #lists.append(henkan(s))
お礼なら、橋本環奈の画像でいいぞ
463デフォルトの名無しさん:2014/04/12(土) 17:25:05.15 ID:12W5Y+Qh
あ、どっかにあるリストに追加する場合は、lists += [henkan(x) ...]だな
464デフォルトの名無しさん:2014/04/12(土) 17:28:20.54 ID:kX21J11Q
print filter(lambda a: re.search('file', a), ['abcdefg'])
465デフォルトの名無しさん:2014/04/12(土) 19:10:59.25 ID:iNxrw8O2
> lists = [henkan(x) for x in [s] if henkan(x)]

henkan(x) で副作用ですね判ります
466デフォルトの名無しさん:2014/04/12(土) 19:29:36.93 ID:bI+YYxdC
[x for x in [s] if re.search(r"file", x)]

filter(re.compile(r"file").search, [s])
467デフォルトの名無しさん:2014/04/12(土) 19:30:16.39 ID:CfvLnu77
そのメールアドレスがRFCに適応しているか確認するパッケージをおしえて
468デフォルトの名無しさん:2014/04/12(土) 19:49:16.70 ID:12W5Y+Qh
あれ?henkan(x)を先に評価するんじゃないのか?ゴメン
469デフォルトの名無しさん:2014/04/12(土) 21:11:51.23 ID:DhQ3iHBt
既存のCookie を読み取って、書き換える方法教えて。
470デフォルトの名無しさん:2014/04/12(土) 21:13:47.38 ID:rzyqPrtx
root とれや
471デフォルトの名無しさん:2014/04/12(土) 21:21:33.21 ID:VQjl7ezR
パッケージは見つからないが、Mercurialの中でRFC5322のメールアドレスをパースしてるコードがあるらしい
コピーしてくれば使えるかも
472デフォルトの名無しさん:2014/04/12(土) 21:50:20.69 ID:it5LcB+x
473デフォルトの名無しさん:2014/04/12(土) 22:06:31.81 ID:DhQ3iHBt
>>472
HTTPサーバーを書けってことですか?
474デフォルトの名無しさん:2014/04/12(土) 22:10:56.63 ID:VQjl7ezR
そのcookieを扱ってるのが誰なのか知らないが
仮にブラウザーならproxyを書けばいいですよ
とどのつまりはHTTPサーバーなんだけど
475デフォルトの名無しさん:2014/04/12(土) 22:23:09.29 ID:ymSFHhsj
476デフォルトの名無しさん:2014/04/14(月) 15:00:59.29 ID:xS4sEbVl
2.7が2020年までサポートされるのは何故ですか?
何でPythonって古いのがすきなんですか?
Pythonって日本で老人を優遇して若者を切り捨てるようなところが似てますね
だからPythonは日本で流行らないんではないのですか?
477デフォルトの名無しさん:2014/04/14(月) 15:09:50.80 ID:a6eUEmJs
pythonでさくっとアプリのプロトタイプ書いて
後でCとかで書き直す場合
2系の方が良い?それとも3で問題無し?
478デフォルトの名無しさん:2014/04/14(月) 16:19:52.65 ID:L1qK4Yv9
その程度のリサーチすらできない奴が何を作るって?
479デフォルトの名無しさん:2014/04/14(月) 16:54:22.82 ID:HEj1UG9r
馬鹿には無理
480デフォルトの名無しさん:2014/04/14(月) 17:07:16.74 ID:h3zVplbS
>>479
自己紹介乙
481デフォルトの名無しさん:2014/04/14(月) 17:10:30.31 ID:qFq6vkYD
>>477
いきなりCで書けばいいじゃないか
どうせCで書くことがわかっているなら

書き直してもいいくらいのみじかいものなら、ますます、最初からCで書けば良い

書き直すのが大変なほど長いものなら、無論、はじめからCで書けば良い
482デフォルトの名無しさん:2014/04/14(月) 17:31:16.56 ID:zz8UlIHg
プロトタイプってわかってます?
483デフォルトの名無しさん:2014/04/14(月) 17:33:22.41 ID:qFq6vkYD
どうしてプロトをオッパイなめなきゃ損損で書くんだ?
頭悪すぎるの?
484デフォルトの名無しさん:2014/04/14(月) 17:44:21.83 ID:zz8UlIHg
GUIツールキット次第じゃね?
まあPythonバインディングは大抵両方揃ってるでしょ。
485デフォルトの名無しさん:2014/04/14(月) 18:11:35.40 ID:zz8UlIHg
・・・と思ったらwxPythonとかpyGTKってwindowsバイナリは2.x系しかないのな
486デフォルトの名無しさん:2014/04/14(月) 18:50:48.42 ID:gCs3v3ib
PyGTKはPyGObjectに切り替わってっから。
487デフォルトの名無しさん:2014/04/14(月) 21:33:04.37 ID:rLRpFQlz
Windows Mac Linuxで動くGUIを作るならpyQtかpySideだと思ってたんですがここの先輩は何を使いますか?
488デフォルトの名無しさん:2014/04/14(月) 21:45:37.16 ID:2/dcBiw+
>>486
それでポーカーのアプリとか作ってみたい
489デフォルトの名無しさん:2014/04/14(月) 22:05:52.35 ID:VFcs39e0
pythonでcsvを読み込んで1列だけ書き換えたいんですが
一旦csvすべてをリストに格納して、加工したあとでまたリストで書き出すという手順がふつうなんでしょうか?
490デフォルトの名無しさん:2014/04/14(月) 22:19:28.74 ID:h8gOxJKf
>>483
無能はレスするなよw
491デフォルトの名無しさん:2014/04/14(月) 22:34:44.77 ID:t8FejxEk
>>489
よほどファイルが巨大でない限りそれが手っ取り早いんじゃね?
492デフォルトの名無しさん:2014/04/14(月) 22:47:42.96 ID:VFcs39e0
>>491
そういうものなんですねありがとうございます!!
493デフォルトの名無しさん:2014/04/14(月) 22:48:19.81 ID:SDjC82p3
>>489
書き換えて別ファイルに書き出してった方がメモリ食わなくて良いよ。
494デフォルトの名無しさん:2014/04/15(火) 00:34:37.92 ID:B5Kcw3DR
>>490
ぶふぁふぁ
いきなりCで書けないヘタレが俺を無能呼ばわり!!
ブファファ
495デフォルトの名無しさん:2014/04/15(火) 09:32:10.42 ID:emdW7oMD
>>494
頭悪そう
496デフォルトの名無しさん:2014/04/15(火) 09:51:46.88 ID:b3iAuu/a
精神病なんだろ
ここの所多いよな
春だからか?
497デフォルトの名無しさん:2014/04/15(火) 10:22:19.84 ID:6CXwLHVY
初心者スレにいる奴が何言ってんだか
笑止
498デフォルトの名無しさん:2014/04/16(水) 23:37:01.36 ID:kEIXDBLd
Python3.4 から readline の仕様が変わってインタラクティブシェルでTABキーが補完に変わって
面倒なので$PYTHONSTARTUPに以下を実行するファイルを指定してみたのですが、

import rlcompleter, readline
readline.parse_and_bind('tab: tab-insert')
readline.parse_and_bind('M-tab: complete')

TABキーは補完のままで変わりません。
シェル起動後に上記コマンドを入力するとちゃんとTABキーでTAB入力になります。
何が悪いんですかね?

試しに$PYTHONSTARTUPで指定してるファイルに

a = 'PYTHONSTARTUP is applied'

てのを追加して起動したら変数 a にはちゃんと文字列が代入されています。
499デフォルトの名無しさん:2014/04/17(木) 03:24:35.15 ID:ErQHAS8S
>>498
kubuntu 14.04b2 標準の Python3.4.0 で同じ現象を確認。これかな bugs.python.org/issue5845
PYTHONSTARTUP 後に読み込まれる site.py で補完が有効になっるみたい

* site.py を読み込まないように、Python -S で起動する
* 端末なら C-v C-i のタブ入力で凌ぐ
* ipython を使う (smart indent)
500デフォルトの名無しさん:2014/04/17(木) 12:00:56.74 ID:ErQHAS8S
What's Newや、マニュアルのsiteモジュールの所に、変更の通知と対策方法が書いてあった。
3.4から、デフォルトで補完と履歴が有効になるみたいです。

訂正: PYTHONSTARTUP 後に読み込まれる site.py は、間違いでした。

ソース追いかけたところ、正確には

* site.py が読み込まれるのは、STARTUPの前
* site.py 内で、sys.__interactivehook__ が設定される
* STARTUPファイルが実行された直後に, sys.__interactivehook__ に設定された関数が呼び出される
501デフォルトの名無しさん:2014/04/17(木) 12:26:06.52 ID:fOb0+olh
インタラクティブシェルで文字を打つと補完できますが
その補完候補をpythonスクリプトの中から取得する方法ってありませんか?
502デフォルトの名無しさん:2014/04/17(木) 14:43:05.03 ID:Ywmytdrh
>>499,500
いろいろ調べてくださってありがとうございます。
sys.__interactivehook__ のデフォルト register_readline は履歴以外大したことしてないので、
>>498 を関数にして sys.__interactivehook__ に設定したらうまく行きました。
履歴は端末の履歴で十分なのでこれで満足です。
ありがとうございました。

>>501
http://docs.python.jp/3/library/rlcompleter.html#completer-objects
候補の順位を数値で指定しなければならないのがちょっとめんどい。
イテレータにしてほしい。

>>> import rlcompleter
>>> from itertools import count
>>> c = rlcompleter.Completer()
>>> for i in count(0):
...    cand = c.complete('a', i)
...    if cand:
...      print(cand)
...    else:
...      break
...
and
as
assert
all(
abs(
any(
ascii(
503デフォルトの名無しさん:2014/04/17(木) 23:22:53.59 ID:YGl2/sA9
Pythonでブラウザ上で編集できるwikiで一番メジャーなのってなんでしょうか?
504デフォルトの名無しさん:2014/04/18(金) 02:28:16.16 ID:oooZYs7C
moin?
505デフォルトの名無しさん:2014/04/18(金) 21:06:16.41 ID:tcldn7kl
toro.2ch.net/test/read.cgi/tech/1387528488/391-392
誘導されました

python で2chの書き込みツールを作っているのですが
xxxx.2ch.net/test/bbs.cgi へurlopenでRequestした後
書き込みの成功、失敗を判断する為、Response を読もうとするのですが
文字化けしてしまいます。
(「上記全てに承諾して書き込む」の後の画面)
HTTPヘッダでcharset が shift-jis なので、
   body = response.read()
   #body.decode('shift-jis') #こっちはエラー     
   body.decode('shift-jis','ignore') #こっち文字化け
で良さそうな気がしますが、何がダメなんでしょうか?

エラーは以下の通り
UnicodeDecodeError: 'shift_jis' codec can't decode bytes in position 1-2: illega
l multibyte sequence
506デフォルトの名無しさん:2014/04/18(金) 21:43:00.16 ID:8KmkbQh1
>>505
ethereal でパケットの中身見たらいいんじゃね?
507デフォルトの名無しさん:2014/04/18(金) 22:10:43.23 ID:ohPGXVFi
response.read() を 変更するなど、
>>505さんの方で多少の修正が必要になりますが、
以下を実行して、b64の中身を教えてくれたら、
debug 手伝おうと思います。

私の実行環境は以下の通りです。
version = 3.3.2 (default, Nov 10 2013, 22:26:55)
[GCC 4.8.1]

import sys
import base64

if __name__ == "__main__":
print("version =", sys.version)
path = sys.argv[1]
f = open(path, "rb")
bin = f.read()
body = bin.decode("sjis")
body = bin.decode("sjis", errors="ignore")
f.close()

print("type(bin) =", type(bin))
print("type(body) =", type(body))
print("bin =")
print(bin)
print("body =")
print(body)
print()

print("b64 =")
b64 = base64.encodebytes(bin)
print(b64)
508デフォルトの名無しさん:2014/04/18(金) 22:27:58.52 ID:+dZHBcPJ
>>505
取り敢えずレスポンスをファイルに保存してじっくり解析したら?
509505:2014/04/18(金) 23:30:19.78 ID:tcldn7kl
Context-Encoding が gzip っていうのを考慮できていなかったのが原因でした
body = gzip.decompress(body)
print(body.decode('shift_jis'))
とすれば解決しました。
510デフォルトの名無しさん:2014/04/19(土) 01:17:21.06 ID:AZrUcl7s
>>509
urllib じゃなくて httplib2 使いな。
くわしくは Dive into Python3 「HTTPウェブサービス」参照。
511デフォルトの名無しさん:2014/04/19(土) 02:00:08.18 ID:b0ELQeOM
httpならrequestsが人間向けだ
512デフォルトの名無しさん:2014/04/19(土) 12:46:36.67 ID:wssCKxB6
いずれにせよあのゴミみたいなurllibを標準に置き続けている理由が全然分からない
513デフォルトの名無しさん:2014/04/19(土) 13:01:36.39 ID:26Op87pw
Requests の方が好き
514デフォルトの名無しさん:2014/04/19(土) 14:05:52.03 ID:GQBbmsZA
urllibってそこまで面倒みる必要あるのかよ
ゴミだな
515デフォルトの名無しさん:2014/04/19(土) 15:09:01.72 ID:7EPIcXRA
さっさとpytzを標準ライブラリにいれろよ
516デフォルトの名無しさん:2014/04/19(土) 15:13:51.80 ID:wssCKxB6
tzは保守したくないんだろ
どこぞから権利問題で訴えられたりするからな
517デフォルトの名無しさん:2014/04/19(土) 16:04:09.99 ID:aAVP1M1o
>>509
GodJob
518デフォルトの名無しさん:2014/04/19(土) 16:11:47.81 ID:aNHEzIKZ
やり方は1つでいいってコンセプトのパイパイなのに、
どうしてMySQL操作するドライバはちょっと探したら2個も3個も出てくるんだぜ?
519デフォルトの名無しさん:2014/04/19(土) 16:16:24.34 ID:wssCKxB6
コンセプトを特に強制していないからですね
プログラムってのは開発者の思想表現の面もありますから
強制するだけ無駄です
520デフォルトの名無しさん:2014/04/19(土) 17:01:52.17 ID:7EPIcXRA
Pythonは日時関係の扱いがものすごく面倒くさい
日付の足し算もコーディング量はPHPのほうが少ない
521デフォルトの名無しさん:2014/04/19(土) 17:18:04.49 ID:wssCKxB6
全くだな
dateutil for humansが必要
522デフォルトの名無しさん:2014/04/19(土) 18:20:42.40 ID:n4cS9knU
気でも狂ったか
523デフォルトの名無しさん:2014/04/19(土) 21:03:04.02 ID:BsMcE1G9
pythonで書いたものをcgiにしてサーバーにアップした所
ImportError: No module named jsonとなりました。
レンサバなんですがモジュールはどう対処したらいいんでしょうか?
524デフォルトの名無しさん:2014/04/19(土) 21:12:16.54 ID:Z/EuslA2
そのサーバーのQ&Aに無ければ問い合わせてみれば?
525デフォルトの名無しさん:2014/04/19(土) 21:18:13.62 ID:Z/EuslA2
例えばさくらだとこう書かれてる。
ttp://www.emptypage.jp/notes/pymods-on-sakura.html
526デフォルトの名無しさん:2014/04/19(土) 21:26:52.13 ID:EcRD/M4f
>>525
jsonは標準モジュールだろ
527デフォルトの名無しさん:2014/04/19(土) 21:32:34.50 ID:wssCKxB6
2.5未満だとjson入ってねえんだよ
CentOSの少し古い奴だとPythonが2.4なんだ

考えたくないが、その可能性は結構高い
528デフォルトの名無しさん:2014/04/19(土) 21:46:44.07 ID:wssCKxB6
何にせよまずバージョンを正確に確認した方がいい
with使えねぇよぉ・・・ってなるぞ
529デフォルトの名無しさん:2014/04/20(日) 01:18:04.55 ID:36+Zfvxl
とりあえずcgi.test()
530デフォルトの名無しさん:2014/04/20(日) 05:17:24.12 ID:c9knyKmK
ありがとうございます。
xreaなんですけど、確認したら2.4.3だったので入っていないようでした・・
SSHでezsetup.pyなどをダウンロードしてインストールすればいいんでしょうか?
この場合vertual pythonというのを使うんでしょうか?
http://php-sql-gdgd.jugem.jp/?eid=24
531デフォルトの名無しさん:2014/04/20(日) 11:51:12.45 ID:MMsuWwDZ
今から2.4を使うってのは超初心者がやることじゃないです

ez_setup.pyはPyPiで配ってる2.4専用の奴しか使えないとか
virtualenvは2年前のしか使えないとか
一手順ごとに質問しないと何一つ成し得ないよ

まだ金払ってないなら別の鯖探した方がいい
532デフォルトの名無しさん:2014/04/20(日) 12:05:28.24 ID:MMsuWwDZ
ちなみにその記事に書いてあるdjangoもとうに動かない
その記事の日付2007年だからな
無理もない
533デフォルトの名無しさん:2014/04/20(日) 14:49:41.62 ID:c9knyKmK
>>531
わかりました。サーバー変えてみます!ありがとうございます。
534501:2014/04/20(日) 14:58:51.76 ID:vv1MGqjg
>>502
先輩、ありがとうございます
535デフォルトの名無しさん:2014/04/20(日) 14:59:56.57 ID:vv1MGqjg
>>530
Google App Engineとか他にも探せば無料のクラウドがあるからxreaはやめとけ
536デフォルトの名無しさん:2014/04/20(日) 17:51:44.45 ID:iz5ZbLAl
数字が入っている変数aについて、一の位の数字が
1であるかどうかを判断する手法として

if str(a).endswith('1'):
または
if a % 10 == 1:

の二通りがあると思いますが、どちらを使っても構わないですか?
どちらかに落とし穴やまずい点がありましたら教えてください
537デフォルトの名無しさん:2014/04/20(日) 18:16:31.42 ID:9t2QMCvM
>>536
>>> str(12.1).endswith("1")
True
>>> 11.2 % 10 == 1
False
538デフォルトの名無しさん:2014/04/20(日) 18:22:14.18 ID:aTuYs0CD
なんでLingrのほう過疎ってるの?
539デフォルトの名無しさん:2014/04/20(日) 19:31:50.39 ID:MMsuWwDZ
あんなものやってる人いたんですねえ
540デフォルトの名無しさん:2014/04/20(日) 19:34:31.00 ID:MMsuWwDZ
いや、いないから過疎ってんのか
541デフォルトの名無しさん:2014/04/21(月) 01:36:51.55 ID:JnZQYt2G
staticmethodの使いどころで悩んでいます。
インスタンス変数にアクセスする必要がないものは
全部staticmethodでいいだろうという認識なんですか間違ってますか?
542デフォルトの名無しさん:2014/04/21(月) 07:57:00.90 ID:ghdPIUck
>>541
インスタンス変数にアクセスしないが、クラス変数にアクセスする場合は classmethod
インスタンス変数に加え、クラス変数にもアクセスしない場合に staticmethod
staticmethod の場合は、普通の関数にも出来るので、そもそもクラスに所属する必要があるかどうかも要検討。

静的解析ツールの pylint 使うと、通常のインスタンス・メソッド内で参照されてる変数を調べ、
どのメソッドにすべきか等の情報を指摘してくれます。
543デフォルトの名無しさん:2014/04/22(火) 12:20:36.61 ID:IhHvRISr
プロジェクトで共通の処理を行いたいんですがこういうのってどうやるんですか?
phpでいうphp.iniでincludeするパスをしていしたらどこからでもそのパスに通ったファイルにアクセスできる設定っていうのはpythonでありませんか?
544デフォルトの名無しさん:2014/04/22(火) 15:08:36.98 ID:QveWaMVI
site.py
545デフォルトの名無しさん:2014/04/22(火) 19:07:23.74 ID:yPJ3bUkb
Pythonにおける引数は参照渡しなので、ミュータブルなオブジェクトを渡してその内容に変更を加えると、
呼び出し元にも影響を与える副作用が発生しますが、それなのにわざわざ return で変更したオブジェクトを
返すというコードを書くと、
わざわざ返す必要もないものを返しててバカっぽく見えますか?
それとも明示することで人にやさしいコードだと思われますか?

それともミュータブルなオブジェクトを渡してそれを変更するようなコードを書くことがバカっぽく見えますか?
546デフォルトの名無しさん:2014/04/22(火) 19:15:07.91 ID:LQIWVMxG
流れるようなインターフェースというのが昔流行った
Androidのapiはそれを多用してる

まあビルダーパターンの応用なんですがね
547デフォルトの名無しさん:2014/04/22(火) 19:28:07.94 ID:TGIyXoBO
>>545
>ミュータブルなオブジェクトを渡してそれを変更するようなコード
checkioでは文句言われる。標準ライブラリでは、そういうのはあまり
見掛けない。heapqはそういうインターフェイスになってるケド…
548545:2014/04/22(火) 23:29:44.65 ID:yPJ3bUkb
>>546
軽く調べただけだといまいちピンとこないのでもっと調べてみます。

>>547
標準ライブラリでは見た記憶がないなとは思っていましたがやはりよくあるというわけではないんですね。
例えばファイルを読み込んで既存の辞書に追加とかやろうとすると一気に全部読み込んでやりたくなるので
辞書を渡してそれに追加という関数書いてる時にくだんの参照渡しのこと思い出したので聞いてみました。

とすると、関数内で返り値用の辞書を作成して返し、呼び出し元で返り値を追加する、というやり方がマシと
いうことになりますかね?
549デフォルトの名無しさん:2014/04/23(水) 03:22:11.53 ID:83TeUg73
ジェネレータとして実装して、呼び出し元で追加する方が良いよ。

副作用はテストが面倒になるので、可能なら避ける。
550デフォルトの名無しさん:2014/04/23(水) 08:16:43.79 ID:5vldvyzp
python 2 系です

a = [
0x06, 0x7A, 0x7B, 0x6A, 0x04, 0x05, 0x06, 0x07,
0x08, 0x00, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x6A]

みたいなバイト数値のリストがあるとき
バイト列(文字列?)に変換するには?
551デフォルトの名無しさん:2014/04/23(水) 09:40:26.05 ID:T4x0zu0j
import cursesでimport errorになるのはなんでですか?
libncursesとreadlineはいれてます
552デフォルトの名無しさん:2014/04/23(水) 09:58:40.26 ID:cc+8j0TX
>>550
3系を使えば以下の通り出来ますよ。
b"".join([int.to_bytes(x, 1, "big") for x in a])

>>551
import error の内容全てを貼って下さい。
553デフォルトの名無しさん:2014/04/23(水) 10:15:17.97 ID:eGodEcam
>>550
>>> bytes(bytearray(a))
'\x06z{j\x04\x05\x06\x07\x08\x00\n\x0b\x0c\r\x0ej'
>>> "".join(map(chr, a))
'\x06z{j\x04\x05\x06\x07\x08\x00\n\x0b\x0c\r\x0ej'
>>> import array
>>> array.array("B", a).tostring()
'\x06z{j\x04\x05\x06\x07\x08\x00\n\x0b\x0c\r\x0ej'
554デフォルトの名無しさん:2014/04/23(水) 10:22:31.13 ID:83TeUg73
>>550

bytes(bytearray(a)) や "".join(map(chr, a))

python3だと bytes(a)
555デフォルトの名無しさん:2014/04/23(水) 10:52:18.07 ID:Zk8CkSwd
>>502先生のipython版をやろうと思ったんですがググっても情報がなくて厳しいです
import IPython
ret = IPython.core.completer.IPCompleter.all_completions("pri")
print(ret)
をやっても
TypeError: all_completions() missing 1 required positional argument: 'text'
になってしまいます
どう書いたらipythonが補完してくれる文字列を取得できますか?
556551:2014/04/23(水) 12:15:07.16 ID:x0vRXS3n
エラーはこれです

Traceback (most recent call last):
File "test.py", line 1, in <module>
import curses
File "/home/kidotoyohiko/.pyenv/versions/3.4.0/lib/python3.4/curses/__init__.py", line 13, in <module>
from _curses import *
ImportError: No module named '_curses'
557デフォルトの名無しさん:2014/04/23(水) 12:28:04.47 ID:4Y/TGEFr
ImportError: No module named '_curses'でぐぐれ
558デフォルトの名無しさん:2014/04/23(水) 12:28:57.34 ID:2MvsKB65
Python を自前ビルドしたときに curses のヘッダファイルがインスコされてなかったせいで
_curses がビルドされなかったとか?
もしそうなら Debian なら libncurses5-dev 入れて Python のビルドし直しとか
559デフォルトの名無しさん:2014/04/23(水) 12:37:01.16 ID:cc+8j0TX
>>556
C拡張の_curses moduleがないって言ってる。

ImportError: No module named '_curses'
これはよく見ると、

"_" + "curses"

がないって言ってるよね
_ が先頭に付いたmoduleは慣例としてC拡張moduleを意味するんだ。

おそらく、ncursesやreadlineのheaderが存在しないために、
make しても _curses を作ってくれなかったんでしょう。

何のdistriを使っているか知らないけれど、
以下を実行した後に再度Python3.4を入れてみたら?
$ apt-get install libncurses5-dev libreadline-dev
or
$ yum install libncurses5-dev libreadline-dev

どうやってPython installしたの?
560デフォルトの名無しさん:2014/04/23(水) 12:43:42.31 ID:x0vRXS3n
Debianです
両方共はいっています
aptitude showで確認しました
でもエラーが出るので困りましたorz
ググってもこのふたつのパッケージを入れろっていうのしか見つからなくてお手上げです
561デフォルトの名無しさん:2014/04/23(水) 12:44:12.39 ID:x0vRXS3n
pyenv install 3.4.0で入れました
562デフォルトの名無しさん:2014/04/23(水) 12:51:30.84 ID:x0vRXS3n
pythonをインストールしなおしたら治りました(汗
お騒がせしました
563デフォルトの名無しさん:2014/04/23(水) 14:57:42.28 ID:7aM6c74C
暗号・複合するライブラリってさ、どれもこれもbyte長を調整しなきゃならんのだが、
暗号化する文字と暗号化キーの長さ関係なくポンってやってくれるやつないの?

見つからなくてすごくイライラしています。
564デフォルトの名無しさん:2014/04/23(水) 15:13:19.12 ID:83TeUg73
>>555
IPCompleterのインスタンスを作らずにメソッド呼び出してる.

get_ipython().complete("pri")
565デフォルトの名無しさん:2014/04/23(水) 16:21:38.85 ID:Cg/J0z31
get_ipythonのcompleteを使うと"import "で補完できるライブラリが出て来ませんでした
566デフォルトの名無しさん:2014/04/23(水) 18:37:33.51 ID:B15hE1J5
>>563
simple-cryptって見つけたけどこれはどうですか

python crypt simpleでくぐったら出てきました
たぶん10秒強だと思います
567545:2014/04/23(水) 20:09:38.22 ID:AXbtitX6
>>549
ありがとうございます。ジェネレータってこういう時に使えばいいんですね勉強になります。
複数種類あるデータの取り込みを全部ジェネレータやイテラブルにしたら呼び出し元のコードもスッキリしました。
自分のPythonレベルが1あがったのを実感してます。
どうもありがとうございました!
568デフォルトの名無しさん:2014/04/23(水) 22:29:54.63 ID:83TeUg73
>>566
import や %cd の補完は、それぞれ別の関数に別れてるみたい。

from IPython.core.completerlib import module_completion

他のは、ソース (IPython/core/interactiveshell.py) 読んで
569デフォルトの名無しさん:2014/04/23(水) 22:31:54.16 ID:B15hE1J5
ふええ
570デフォルトの名無しさん:2014/04/24(木) 20:18:01.71 ID:GL+Jj+fH
たのしいプログラミング Pythonではじめよう!
http://www.amazon.co.jp/dp/4274069443/

こんな本出てた。
571デフォルトの名無しさん:2014/04/25(金) 01:33:12.54 ID:sQaSn0qf
>>570
amazon.comの方の評価もなかなか高いみたいだし、期待できそう
572デフォルトの名無しさん:2014/04/25(金) 10:25:06.77 ID:foRzXOyh
著者さん宣伝ごくろうさまです
573デフォルトの名無しさん:2014/04/25(金) 10:38:10.44 ID:U1CUcQTm
業者なんかいねーよw
574デフォルトの名無しさん:2014/04/25(金) 11:14:44.14 ID:zhMbF1rR
本の話題が出る度にステマ扱いしてたら初心者向けのスレとして成り立たないと思う。
575デフォルトの名無しさん:2014/04/25(金) 11:15:18.36 ID:TtkNide3
業者雇う暇があったらphpの本書くよね
576デフォルトの名無しさん:2014/04/25(金) 11:35:16.70 ID:MeVawPgZ
著者と業者くらい見分けろよそれでも日本人か
577デフォルトの名無しさん:2014/04/25(金) 12:14:32.51 ID:IMABWYJa
>>571
amazon.comの方の評価 ってどこで見れるの?
578デフォルトの名無しさん:2014/04/25(金) 12:27:56.12 ID:xA8gnquP
579デフォルトの名無しさん:2014/04/25(金) 12:49:55.35 ID:foRzXOyh
誰も本を探してる質問してないのに一方的に宣伝タイ〜〜〜〜〜ムwwwwwwwwwwwwwwww
580デフォルトの名無しさん:2014/04/25(金) 12:52:41.32 ID:jPmvuOB6
草刈機の実演販売も誰も求めてない
581デフォルトの名無しさん:2014/04/25(金) 12:58:44.18 ID:TtkNide3
皮肉のバーゲン会場はこちら
582デフォルトの名無しさん:2014/04/25(金) 13:16:03.98 ID:aHKuD/MU
とりあえず >>570 はなんか言うことないのか
583デフォルトの名無しさん:2014/04/25(金) 18:27:00.19 ID:RdjQOdo4
ここは真摯な方が多いと聞いています。初心者の私(女)に教えてください。
wxpythonで、任意のpanelに乗っているチェックボックスなんかを全部なめたいんですが、どうすればよいですか?
584デフォルトの名無しさん:2014/04/25(金) 18:36:53.28 ID:3JzI94aW
え?舐めたい?
585デフォルトの名無しさん:2014/04/25(金) 18:53:26.48 ID:N1wjd4Qq
とりあえず考えた方法だが、パネルに乗せているウィジェットをlistに入れておくのはどうかな
586デフォルトの名無しさん:2014/04/25(金) 18:56:18.96 ID:uTNXJi7n
wxpythonって旬なの?3.3でも動かないのに
時代はpyqtかpysideさ
587デフォルトの名無しさん:2014/04/25(金) 19:57:23.89 ID:+cZx5GYM
ぱいそん女子だ
588デフォルトの名無しさん:2014/04/25(金) 20:49:33.88 ID:PenQPx71
>>586
旬は知らないが 3.4/3.4 でも動くphoenix ってプロジェクトがある

>>583
[x for x in panel.GetChildren() if isinstance(x, wx.CheckBox)]
589デフォルトの名無しさん:2014/04/25(金) 20:54:23.54 ID:PenQPx71
孫要素以下も辿るなら、再帰させるかスタックを使って走査 例: ideone.com/73Siby
GetChildrenで子要素を走査する場合は、レイアウトの都合で構造が変わったりする際の注意が必要です

動的にウィジェットを追加・削除したりしないなら >>585の方法が簡単。嵌りそうなケースを一点補足すると
親要素が削除された後に list に参照が残ってるとまずい場合があるので、直接listへ入れずに 弱参照(weakref) を使うといい
590デフォルトの名無しさん:2014/04/26(土) 01:11:16.14 ID:1o60mw72
お前ら優しすぎw
591デフォルトの名無しさん:2014/04/26(土) 11:57:11.65 ID:ciZFgagp
ここはRubyスレじゃないから優しくていいんだよ
592デフォルトの名無しさん:2014/04/26(土) 12:31:33.45 ID:Qdi0GyvQ
真摯な方と紳士な方で大分違って聞こえる
世間一般的には似た意味だろうけど
593デフォルトの名無しさん:2014/04/26(土) 13:57:17.70 ID:iEtSJYGQ
WindowsでPythonの実行環境を別のPCに移行するにはどうするんですか?
Python3.3を新しいPCにインストールしてC:\Python33を上書きコピーだと新しくインストールしたモジュールが認識されないようなのです
594デフォルトの名無しさん:2014/04/26(土) 14:19:04.16 ID:ruklCRJG
$ python3.3-config --prefix

を実行して表示される directory 以下を全部持って行ったら?
新しい方でも同じ directory 構成にしてやってさ。

駄目だったらごめんなさい。
windows 持ってないから勘で言ってみました。
595デフォルトの名無しさん:2014/04/26(土) 14:23:38.72 ID:ruklCRJG
度々ですいません。

>>> import sys
>>> import argparse
>>> sys.modules["argparse"]
<module 'argparse' from '/usr/lib/python3.3/argparse.py'>

ってやると>>593さんのお目当てのmoduleがどこにいるか分かるでしょ?
古い方の実行環境で argparse を適当に変えてやるといいよ。
596デフォルトの名無しさん:2014/04/26(土) 15:25:31.98 ID:iEtSJYGQ
>>595
やってみます
ありがとうございます
597デフォルトの名無しさん:2014/04/26(土) 17:19:14.75 ID:nbOBlRDB
以下コードで、arrayに日本語がまじっている為エラーになります。
array = [u"あ","2","b"]
このようにuをつければdbに出力できるんですが、リストはかなりの数ある為一つ一つつける事もできません。
このような場合どうすればいいでしょうか?

#-*-coding: utf-8 -*-
import sqlite3
key = "tablename"
array = ["あ","2","b"]


con = sqlite3.connect("data.sqlite")
con.text_factory = str
try:
con.execute('''create table %s
(key varchar(200))''' % key)
except sqlite3.OperationalError, msg:
pass

con.executemany(u"insert into %s values(?)" % key, array)
con.commit()
con.close()
598デフォルトの名無しさん:2014/04/26(土) 17:59:53.61 ID:Qdi0GyvQ
どうもしないです
それがPython2のリスクですから
全部付けるんですよ無理やり
599デフォルトの名無しさん:2014/04/26(土) 18:48:58.21 ID:pOq6nB/h
>>597
エラーを再現できるスクリプトを貼ってほしい
あと OS と Python のバージョンも
600デフォルトの名無しさん:2014/04/26(土) 18:52:02.57 ID:Ig+FOWFu
偽エラーってなに?
真エラーもあるの?
601デフォルトの名無しさん:2014/04/26(土) 19:08:21.45 ID:Qdi0GyvQ
>>599
executemanyのsqlがunicodeになってるだろ
utf8の「あ」は 0xE3 0x81 0x82 だから、自動変換に任せるとデフォルトエンコーディングで解釈する
ここでデフォルトエンコーデイングがasciiだと、待望のUnicodeError様とご対面だ

デフォルトエンコーデイングは環境によって違うから、
君のようにエラーが再現しないこともある

で、これは初心者が十分理解できることか?
俺は無理があるように思う
602デフォルトの名無しさん:2014/04/26(土) 19:22:34.63 ID:pOq6nB/h
>>601
よくわかんないけどこれでいい?

% python2 -c 'import sys; print sys.getdefaultencoding()
ascii
% python2 hoge.py
Traceback (most recent call last):
File "hoge.py", line 15, in <module>
con.executemany(u"insert into %s values(?)" % key, array)
sqlite3.ProgrammingError: Incorrect number of bindings supplied.
The current statement uses 1, and there are 3 supplied.
603デフォルトの名無しさん:2014/04/26(土) 19:24:49.86 ID:pOq6nB/h
というかエラーが出たならそのエラーをそのまま貼ってって言うの忘れた
604デフォルトの名無しさん:2014/04/26(土) 19:40:09.88 ID:wOzSsX9a
>>597
状況解らないけど、文字列がソース中にリテラルとして表記されてるなら

from __future__ import unicode_literals
605デフォルトの名無しさん:2014/04/26(土) 20:18:56.42 ID:ruklCRJG
>>597さんへ。

vim なら、

:%s:\( \|\[\)":\1u":g

とか。

sed 使えるんなら、

$ echo '["あ", "い", "う"]' | sed -e 's/\(\[\| \)"/\1u"/g'

とか。

python2 で頑張ろうとするんじゃなくて、
editor や command で頑張るところですね。
606デフォルトの名無しさん:2014/04/26(土) 20:44:57.23 ID:nbOBlRDB
すみません、web上でパースした値をlistに入れてdb格納ってのをしてたんですがコレでとりあえず動きました。
for k in range(0,len(array)):
con.execute(u"insert into %s values(?)" % key, (str(array[k]),))
607デフォルトの名無しさん:2014/04/26(土) 21:08:26.50 ID:pq0IYiMf
>>606
for文の使い方だけとりあえずつっこんでおく、Pythonでは下のように書いてほしい
for item in array:
 con.execute(u'insert into %s values(?)' % key, (str(item),))
608デフォルトの名無しさん:2014/04/26(土) 22:10:24.20 ID:/AQZrpM3
pythonとか見にくすぎ でもPerlを抜いたんだよな
609デフォルトの名無しさん:2014/04/27(日) 14:24:37.71 ID:YlDj6z0z
自分自身が実行もし、他のスクリプトからimportされもするスクリプトがあります。
で、他からimportされた場合最初に1回だけ実行したい処理(ファイルの読み込み)があるのですが、
どういうふうにやらせるのがいいでしょうか?

ためしに変数の定義しないで、

if 'valiable' not in locals():
 valiable = load_data()

としてみたのですが、呼び出す度に毎回実行されるようです。

このためだけにクラス用意して __init__() つけるとかになるでしょうか?
610デフォルトの名無しさん:2014/04/27(日) 14:29:02.51 ID:t+MJ1nRe
馬鹿には無理
611デフォルトの名無しさん:2014/04/27(日) 15:09:20.79 ID:hzlsg62q
下のようにnameからlist(キー名)を引くにはどうしたらいいでしょうか?

name = ["abc","cde","fgh","ijk","banana","ringo","lmn"]
list = ["4","5"]
612デフォルトの名無しさん:2014/04/27(日) 15:17:57.39 ID:6kmnG/6w
何でPythonって遅いの?paizaの競技プログラミングの結果見てもPythonだけ遅すぎる
613デフォルトの名無しさん:2014/04/27(日) 15:42:02.38 ID:Gk7OlrEC
>>611
["4", "5"] を使って ["abc","cde","fgh","ijk","banana","ringo","lmn"] から
["apple", "banana"] を取得したいってこと? だとしたら

>>> names = ['abc', 'cde', 'fgh', 'ijk', 'banana', 'ringo', 'lmn']
>>> indices = ["4", "5"]
>>> [names[int(i)] for i in indices]
['banana', 'ringo']

ちなみに変数名に list を使うのはやめたほうがいい。同名の組み込み関数がある
614デフォルトの名無しさん:2014/04/27(日) 16:01:51.21 ID:hzlsg62q
>>613
ありがとうございます。
あと説明不足ですみません。
nameというリストから"banana","ringo"を削除したいんです。
delで削除しようとしても、一つを削除した時点でnameのインデックスが変わってしまう為、二つ目を削除する際にずれてしまいます。
kekka = ['abc', 'cde', 'fgh', 'ijk', 'lmn']
615デフォルトの名無しさん:2014/04/27(日) 16:19:50.03 ID:Gk7OlrEC
>>614
>>> indices = [int(e) for e in ["4", "5"]]
>>> indices
[4, 5]
>>> [e for i, e in enumerate(names) if not (i in indices)]
['abc', 'cde', 'fgh', 'ijk', 'lmn']
616デフォルトの名無しさん:2014/04/27(日) 16:50:27.22 ID:MDiuu1Tv
>>609
if __name__ != '__main__':
 # 他からimportされたときに実行する処理
617デフォルトの名無しさん:2014/04/27(日) 16:52:32.58 ID:hzlsg62q
>>615
できました。本当にありがとうございます。
618デフォルトの名無しさん:2014/04/27(日) 17:30:29.91 ID:8sAVWWVU
スレッド間通信はどのような方法がありますか?
動作中のスレッドにデータを渡したいです
一番簡単なのはなんでしょうか?
619デフォルトの名無しさん:2014/04/27(日) 18:14:26.71 ID:/Vr961xn
que
620デフォルトの名無しさん:2014/04/27(日) 18:40:39.41 ID:8sAVWWVU
>>619
ありがとうございます
621609:2014/04/27(日) 21:36:47.22 ID:YlDj6z0z
>>616
説明不足ですいません。importされた先で何度も呼び出されます。

1個のHTMLを解析するスクリプトと、それを呼び出して複数のHTMLを解析するラッパーという構成です。
622デフォルトの名無しさん:2014/04/28(月) 00:18:39.80 ID:jSM3SIlj
>>621
importされたときに一度だけ行う処理はスクリプトのどこに書かれていますか?
>>616のif文は関数やメソッドの中ではなく、モジュールレベルに書くことを想定しています。
もし可能なら問題を再現できるコード片をください。
623デフォルトの名無しさん:2014/04/28(月) 01:02:22.16 ID:fZsvZ1ZD
それは設計がへたくそ
そんな何でも屋な立ち位置のファイルを作るべきではない
ライブラリはライブラリとしてきちんと分けて設計しろ
624609:2014/04/28(月) 01:56:11.06 ID:un3xGM8Z
>>622
> importされたときに一度だけ行う処理はスクリプトのどこに書かれていますか?

それをどこにどう書くのがいいのか、という質問です。

>>623
すいません、「何でも屋な立ち位置」の意味がわからないです。
625デフォルトの名無しさん:2014/04/28(月) 02:15:44.20 ID:6+nhvyWj
hajimete = True

# ここから
モジュールの中身
# ここまで

if __name__ != '__main__':
 if hajimete:
  hajimete = False
  # 他からimportされたときに実行する処理
626デフォルトの名無しさん:2014/04/28(月) 02:16:41.14 ID:IapKpiur
618ですが
queを別のモジュールから使用する為には
queue操作用のメソッドをつくることが必要ですか?
627デフォルトの名無しさん:2014/04/28(月) 04:09:11.55 ID:jSM3SIlj
>>624
importされたときに一度だけ実行する処理は
実行可能&他からimportされるスクリプトのファイル最終行に>>616のように書いて下さい。

しかしながら>>623の通り、コマンドライン等から実行されるコードと
他からimportして使うためのコードは別のファイルに分けるべきです。
628デフォルトの名無しさん:2014/04/28(月) 09:13:57.32 ID:GX32FLG+
パッケージやモジュールで実行可能なもの自体はよくあるよ。
-m オプションはそのためのものだし。

一度だけ呼び出されるというのが、関数なのかモジュールなのかで齟齬がありそう。
import されたモジュールは sys.modules にキャッシュされるので、>>616の通りに
トップレベルに書いてグローバル変数にしておけば、複数個所から import されても何度も呼び出されることはない。

何度も呼び出されるってことは、モジュールのimportでなくて、モジュール内で定義した関数内の事を言ってるのかな?
629デフォルトの名無しさん:2014/04/28(月) 09:16:52.96 ID:GX32FLG+
設計については、別問題
初期化の処理は関数にして、importする側で明示的に呼び出した方がいい or クラスにする。
初期化処理のテストをどう書くのか、初期化処理が投げる例外を何処でどのように捕捉するかを考えよう。
630デフォルトの名無しさん:2014/04/28(月) 10:00:21.62 ID:oM5O+Scd
話の途中に割り込んですまないがムカついてるので言わせてくれ

パーフェクトPythonは糞だな

痒いところに手が届かないどころか要領を得ないから
空飛ぶPythonを参照しながら推理し試行錯誤してる
何のために本を買ってるのか
読んでてイライラする
631デフォルトの名無しさん:2014/04/28(月) 10:47:34.72 ID:ES7XWIWl
ここは著者が宣伝したりライバルを罵り合う悪いインターネットですね
632デフォルトの名無しさん:2014/04/28(月) 11:05:29.43 ID:Xuk0naTK
Pythonの人気の理由がわからない
なぜPerlを追い抜いたのか
633デフォルトの名無しさん:2014/04/28(月) 11:25:28.64 ID:JkAfPWWw
むしろ Perlの使われ方がおかしかっただけ
634デフォルトの名無しさん:2014/04/28(月) 11:42:52.48 ID:UNN8IQVN
海外でPythonが伸びたのは奴らUnicode扱わないからじゃないだろうか
635デフォルトの名無しさん:2014/04/28(月) 12:04:42.55 ID:woaHBf5q
良くできてるからだよ
ちょっとした事にサッと使える身軽さが受けた
636デフォルトの名無しさん:2014/04/28(月) 14:56:59.98 ID:yQ3pEQ+0
basic,awk,sedの延長でperlが出来たんだよ
ソフトウェア作るプログラム言語としては致命的な欠陥ばかりで、
似たような動的言語のpythonの方に軍配が上がっただけのこと
今もうnode,json,npm,html5があるからjavascriptが優勢な世界
そろそろTIOBEのランキングもPHP,Rubyを差し置いてjavascriptが上にくるはず
637デフォルトの名無しさん:2014/04/28(月) 15:04:29.92 ID:sLIIqVQo
Perl って BASIC からなんか影響受けてたっけ?
638デフォルトの名無しさん:2014/04/28(月) 17:19:52.24 ID:6+nhvyWj
>>630
そういう意味では
みんなのpython
もひどかった
639デフォルトの名無しさん:2014/04/28(月) 17:20:48.07 ID:6+nhvyWj
>>632-633
javascriptの方が異常
640デフォルトの名無しさん:2014/04/28(月) 17:28:01.19 ID:U36yltXP
>>630
「空飛ぶ」と比較するとweb関連の情報が多かったのとアマゾンの評価を参考にして今「パーフェクト」の方を先に読んでいます。

「空飛ぶ」のレビューにオブジェクト指向について理解し辛い内容だと書いてあった事も後回しにした理由になりました。

そんなに糞ですか?
641デフォルトの名無しさん:2014/04/28(月) 18:01:28.13 ID:6+nhvyWj
百聞は一見の如し
642デフォルトの名無しさん:2014/04/28(月) 18:46:37.79 ID:UNN8IQVN
Pythonでif文にブラケットが無いのは世に受け入れられてるの?俺的にはブラケットさえあればスーパー便利言語なんだが。
643デフォルトの名無しさん:2014/04/28(月) 18:58:07.82 ID:CKTMNTmk
import struct
data = [1,2,3]
data_b = struct.pack(">3L",data)
これを実行すると
struct.error: pack requires exactly 3 arguments
と表示されてうまく動作しません。どのように書けば正常に動きますか?
644デフォルトの名無しさん:2014/04/28(月) 19:05:15.39 ID:UNN8IQVN
ごめん、ブラケットじゃなくてカーリーブラケットだった
645デフォルトの名無しさん:2014/04/28(月) 19:07:22.69 ID:7wTtlT3K
>>641
それはいわゆる2ch語?
646デフォルトの名無しさん:2014/04/28(月) 19:19:29.31 ID:sLIIqVQo
>>643
data_b = struct.pack(">3L", *data)
647デフォルトの名無しさん:2014/04/28(月) 19:29:32.94 ID:CKTMNTmk
>>646
ありがとうございます!動かしたかった通りに動作しました
648デフォルトの名無しさん:2014/04/28(月) 22:33:35.85 ID:G/O2/oE+
空飛ぶ広報室始まるよ@tbsテョンねる1
649デフォルトの名無しさん:2014/04/28(月) 23:57:21.14 ID:GKxWJmab
It's
650デフォルトの名無しさん:2014/04/29(火) 01:15:01.45 ID:0NWBsE/P
パスワードがついたエクセルをpythonで読み込みたいのですが、
それを達成できるライブラリが見つかりません><

ご存知でしたら教えてください><困ってます><
651デフォルトの名無しさん:2014/04/29(火) 01:41:34.15 ID:Ac+DDlB0
>< とか書く奴って w を連発するやつとベクトルが違うだけで同類だよな。
652デフォルトの名無しさん:2014/04/29(火) 11:03:20.42 ID:LqsKRBzG
if 1 >< 2:print(True)
653デフォルトの名無しさん:2014/04/29(火) 11:14:34.09 ID:b2HTM3GX
win32com
654デフォルトの名無しさん:2014/04/29(火) 11:21:08.89 ID:b2HTM3GX
ぐぐってみて今日初めて知ったが
こんなの出てたんだ
http://jp.techcrunch.com/2012/08/11/20120810python-for-microsoft-excel-company-ironspread-comes-out-of-beta-changes-name-to-data-nitro/
Excel立ち上げるの面倒なんで使わないけど
655デフォルトの名無しさん:2014/04/29(火) 11:32:42.15 ID:LqsKRBzG
sphinxをブラウザ上で編集できるライブラリってありませんか?
ファイルを編集してmakeするの面倒臭い
656デフォルトの名無しさん:2014/04/29(火) 12:38:55.97 ID:/8ksTu7P
ライブラリの機能ではないような気がするな
657デフォルトの名無しさん:2014/04/29(火) 16:26:39.01 ID:sF/VyXd1
Yahooのリアルタイム検索でPythonを検索するとpythoninfo っていうアカウントがコピーツイートを量産していて迷惑。

現状:
コピーツイート→本ツイート→添付URL

本来:
本ツイート→添付URL

一手間増やされてる上に、
全てのツイートにURLが貼ってあるので紛らわしい。

完全にスパムだと思う。
658デフォルトの名無しさん:2014/04/29(火) 16:28:29.24 ID:pvgpWpOe
ここに報告するんじゃなくて
ahooに報告した方が良いよ
659デフォルトの名無しさん:2014/04/29(火) 17:05:20.19 ID:f21EMJNH
Twitterでスパム報告すればいい
660デフォルトの名無しさん:2014/04/29(火) 17:28:13.46 ID:pvgpWpOe
kadotanim***とかいうpython厨がうざいのでSPAM報告しておいた
661デフォルトの名無しさん:2014/04/29(火) 17:46:20.52 ID:VGBInRA4
こんなアカウント見つけた俺かっけえwwwwwwwww
662デフォルトの名無しさん:2014/04/30(水) 11:25:10.11 ID:qL4VKq+5
[(1,), (2,)]のようなタプルのリストを単に
[1, 2]とするにはどうしたらいいですか?
663デフォルトの名無しさん:2014/04/30(水) 11:29:28.73 ID:VN1cl4Xq
map(lambda x: x[0], [(1,),(2,)])
664デフォルトの名無しさん:2014/04/30(水) 11:29:31.13 ID:qL4VKq+5
[id[0] for id in [(1,), (2,)]]
これでできましたがもっといい方法がありそうな気がします
665デフォルトの名無しさん:2014/04/30(水) 11:30:32.67 ID:qL4VKq+5
>>663
なるほどmap()使うんですね。ありがとうございます
666デフォルトの名無しさん:2014/04/30(水) 11:31:34.04 ID:4l7lcAfF
ムダにラムダ関数生成するのはいい方法なのか?

まあ超クール超スマート病は誰もが通る道だからいいか
667デフォルトの名無しさん:2014/04/30(水) 11:38:40.24 ID:Dz5tUa2g
まぁPythonなら
map(operator.itemgetter(0),[(1,),(2,)])
あたりかね
668デフォルトの名無しさん:2014/04/30(水) 11:41:01.12 ID:VN1cl4Xq
だんだん長くなるな
669デフォルトの名無しさん:2014/04/30(水) 11:42:15.30 ID:niJ1Wu+Q
>>> from itertools import chain
>>> list(chain.from_iterable([(1,), (2,)]))
[1, 2]
670デフォルトの名無しさん:2014/04/30(水) 13:42:28.32 ID:qDU1aJn6
動的に少し複雑な関数、クラスを生成できますか?
例えば、商品リストなんかを読み込んで1行1行処理していく際、商品ごとに違う処理をしたいとき、
ソースにいちいち書くのではなく、設定ファイル(ini等)で独自の処理方法フラグを立てておいて追加・削除・変更したいんです。

■設定ファイルの中身のイメージ
りんご = 値段が150円以上か? True = 廃棄 False = 〜〜〜
きゅうり = 賞味期限内か? True = 〜〜 False = 廃棄


■処理のイメージ
りんごが来たら、
if 値段 >= 150:
   .....処理 という関数・クラスを作って、次にりんごが来たら、ここに投げる

きゅうりがきたら
if 現在 <= 賞味期限:
  .......処理 という関数・クラスを作って、次にきゅうりが来たら、ここに投げる
671デフォルトの名無しさん:2014/04/30(水) 13:47:43.53 ID:zr4NNN35
出来ますよ
672デフォルトの名無しさん:2014/04/30(水) 14:12:30.88 ID:KiF3OpGM
>>670
lmgtfyドットcom/?q=python+ini
673デフォルトの名無しさん:2014/04/30(水) 15:41:43.73 ID:PIfgHTSl
ipythonの補完機能を利用したらエディタの補完プラグインってものすごく強力だよね
674デフォルトの名無しさん:2014/04/30(水) 22:02:28.32 ID:OX3ssC8v
>>671
イジワル…

>>672
iniの読み書きの方法は質問してないです…
675デフォルトの名無しさん:2014/04/30(水) 22:05:05.69 ID:upmIhAH5
デザインパターンのファクトリーメソッドでできます
676デフォルトの名無しさん:2014/04/30(水) 22:16:41.83 ID:EonfyA0Y
この場合たらい回しパターンな気がする。
677デフォルトの名無しさん:2014/04/30(水) 22:17:48.64 ID:J10kvOd6
>>670
出来るか出来ないかなら出来る
678デフォルトの名無しさん:2014/04/30(水) 22:22:55.02 ID:EonfyA0Y
さらに言えば商品が来る毎に処理クラス、メソッドを生成するコストを抑えるなら
フライ級パターンになるかな?商品コードをハッシュキーとした配列を作り、
メソッドまたはオブジェクトの参照をデータに持たせとく、みたいな。
679デフォルトの名無しさん:2014/05/01(木) 02:57:47.74 ID:7Ucklgi4
>>662
list ( map ( lambda x : x , [ (1), (2) ] ) )

#一般化すると
f = lambda t : list ( map ( lambda x : x , t ) )
f ( [ (1), (2) ] )
680デフォルトの名無しさん:2014/05/01(木) 02:59:46.91 ID:7Ucklgi4
>>679
書き忘れた
python3の場合
681デフォルトの名無しさん:2014/05/01(木) 03:04:54.20 ID:7Ucklgi4
>>679
間違えていた
取り消し
682デフォルトの名無しさん:2014/05/01(木) 05:20:30.35 ID:yXdss1R6
>>662
list(sum([(1,),(2,)], ()))
(stackoverflow.com/questions/10632839/)
683デフォルトの名無しさん:2014/05/01(木) 07:55:09.84 ID:cGpV8GIn
>>679
今までで最高です!
684デフォルトの名無しさん:2014/05/01(木) 10:49:58.90 ID:HVeqsQe1
馬鹿どもはラムダ式キャッシュすることぐらい覚えるといいよ
685デフォルトの名無しさん:2014/05/01(木) 17:41:51.91 ID:7C5boMZl
ある数値(A:32bit整数)が以下のような可変長形式(B:32bit整数)で表されるとき、
「AをB」と「BをA」にそれぞれ変換する関数をつくってください。
1byte(8bit)の内、数値に7bit、 次のバイトもデータバイトが続くかどうかのフラグに1bit用いる。
フラグにはMSB(第7bit)を用いる。
最大4バイト。つまり、実際に表現できる数値の最大値は228-1。
以下具体例。左Aが数値(16進)で、右Bが可変長形式での表現(16進)。
00000000 → 00000000
00000040 → 00000040
0000007F → 0000007F
00000080 → 00008100
00002000 → 0000C000
00003FFF → 0000FF7F
00004000 → 00818000
00100000 → 00C08000
001FFFFF → 00FFFF7F
00200000 → 81808000
08000000 → C0808000
0FFFFFFF → FFFFFF7F
686デフォルトの名無しさん:2014/05/01(木) 17:46:13.28 ID:7C5boMZl
ああごめんなさい。
この例だと可変長になってませんね。
訂正です。
00000000 → 00
00000040 → 40
0000007F → 7F
00000080 → 8100
00002000 → C000
00003FFF → FF7F
00004000 → 818000
00100000 → C08000
001FFFFF → FFFF7F
00200000 → 81808000
08000000 → C0808000
0FFFFFFF → FFFFFF7F

Aの最大値は0FFFFFFFで、
Bの最大値はFFFFFF7Fです。
なおBの下位1バイトのMSB(第7bit)は終端マーク(0)になります。
687デフォルトの名無しさん:2014/05/01(木) 17:47:27.16 ID:HVeqsQe1
宿題なら宿題スレで
688デフォルトの名無しさん:2014/05/01(木) 17:49:18.83 ID:U31MyfYF
pythonって多倍長整数に対応してますよね
2348239582149135905430923709738457483792373478+587798023749857902374239750374970923749702357120でも桁がおかしくなりませんでした
でもsys.maxsizeで9223372036854775807が返って来ました
pythonって多倍長整数に対応しているのかしてないのかどっちなんですか?
689デフォルトの名無しさん:2014/05/01(木) 17:56:21.66 ID:HVeqsQe1
してます
sys.maxsizeは整数型のサイズとは「今となっては」関係ないです

http://docs.python.jp/2/library/sys.html
>sys.maxsize
>プラットフォームの Py_ssize_t 型がサポートしている最大の正の整数。したがって、リスト、文字列、辞書、その他コンテナ型の最大のサイズ。

http://docs.python.jp/3.3/library/sys.html
>sys.maxsize
>Py_ssize_t 型の変数が取りうる最大値を示す整数です。通常、32 ビットプラットフォームでは 2**31 - 1、64 ビットプラットフォームでは 2**63 - 1 になります。
690デフォルトの名無しさん:2014/05/02(金) 01:10:39.08 ID:Wo9ulV/e
 
691デフォルトの名無しさん:2014/05/02(金) 17:59:18.19 ID:XSE+HkNu
javascriptみたいに
var a = {}
a.data = 100;
a.c = {};
a.c.data = {};

こういうふうに変数を . で書く方法ってありませんか?
692デフォルトの名無しさん:2014/05/02(金) 18:16:54.93 ID:W03gpRcO
hensu = {1,2,3}
print(hensu[0]) # エラー

たしかキーを省略したら自動的にインデックスに数字が連番で割り振られるってどこかで読んだんですが取得できません
どうやってしゅとくするのですか?
693デフォルトの名無しさん:2014/05/02(金) 18:32:07.88 ID:dMAtXV24
>>691
class XXX:
  pass

a = XXX()
a.data = 100
a.c = {}

までならできるが、そういうこと?
a.c.data = {} は、a.c['data'] = 100 とかになってしまうが
694デフォルトの名無しさん:2014/05/02(金) 18:33:37.75 ID:dMAtXV24
>>692
hensu = list({1,2,3})
print(hensu[0]) # 1
695デフォルトの名無しさん:2014/05/02(金) 19:01:15.16 ID:5GZTQA+Q
a = {}
a[0] = 1

この時、数字のキーを入力しないで追加する方法はありませんか?
追加する回数が不定なのでlistのappendみたいにキーを意識しない方法を教えてください
696デフォルトの名無しさん:2014/05/02(金) 19:02:15.45 ID:xFsSQgLg
>>692
その答えはしらんけど、

その hensu は辞書じゃなくて集合だから。
697デフォルトの名無しさん:2014/05/02(金) 19:14:40.55 ID:r6YwAWfo
集合リテラルは存在自体よく忘れる(小声)
698デフォルトの名無しさん:2014/05/02(金) 19:46:05.78 ID:lTgUivNz
>>695
無理。
キーがないのにどうやって辞書として使うつもりなの?
699デフォルトの名無しさん:2014/05/02(金) 19:48:08.56 ID:uRHIBdJb
>>695
>>> a = []
>>> a.append(1)
>>> a
[1]
700デフォルトの名無しさん:2014/05/02(金) 20:17:37.06 ID:/sFyFYZQ
>>695
無理やりやった
def dict_append(dict_, value):
 dict_[max(dict_)+1 if dict_ else 0] = value

d = {}
dict_append(d, 'foo')
701デフォルトの名無しさん:2014/05/02(金) 20:19:19.59 ID:YufhjRlQ
>>695
{}を辞書と集合で使い回しているせいで混乱してるような気がする。
集合なら、
new_set = {1, 2}
new_set.add(3)
print(new_set)
{1, 2, 3}

トリッキーなのは、
new_set = set() #空集合
new_set.add(1) #失敗する。

辞書なら、「キーを意識しないで」要素を追加することはできない。
キーが単にユニークな何かでいいのであれば、辞書をやめてリストを使えばいい。
702デフォルトの名無しさん:2014/05/02(金) 20:38:55.44 ID:VjC1l6Gq
>>701さん
Python 3.3.2 (default, Nov 10 2013, 22:26:55)
[GCC 4.8.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> new_set = {1, 2}
>>> new_set.add(3)
>>> print(new_set)
{1, 2, 3}
>>> st = set()
>>> st.add(3) # 成功。。。
>>> print(st)
{3}

成功いたしましたが。。。
703デフォルトの名無しさん:2014/05/02(金) 22:10:34.14 ID:YufhjRlQ
あー本当だ。理由はわからないけど、さっきは失敗したんだよね。ゴメンゴメン。
何だかsetを渡すべき所に整数を渡した、みたいなエラーが出たんだ。
704デフォルトの名無しさん:2014/05/02(金) 22:47:56.32 ID:u8MYwIxS
0 < x < 2 and 0 < y < 2
の簡潔な書き方ってありますか?
(0, 0) < (x, y) < (2, 2)
とかやろうとすると
0 < x < 2 or 0 < y < 2
になっちゃうのですが
705デフォルトの名無しさん:2014/05/02(金) 22:55:36.35 ID:r6YwAWfo
>>704
all(0 < e < 2 for e in (x, y))
706デフォルトの名無しさん:2014/05/02(金) 23:08:30.72 ID:r6YwAWfo
と思ったけど >>705 じゃ短絡してないから >>704 の代わりにはならないか
707デフォルトの名無しさん:2014/05/03(土) 09:34:19.58 ID:q6SnZRBs
namedtupleのインスタンスから、要素の一部だけを削除したタプルを作りたい。
以下の例では要素の三番目が要らないので、「ココ」として示している行で
残す要素(一番目と二番目の要素)を個別指定してタプルを作っている。

しかしこの方法の問題点は、残す要素数が多い場合に記述が長くなってしまうことである。
何か良い方法はないだろうか。
namedtupleを継承したクラスを作り、line._delete(z)みたいに使えるメソッドを追加すれば
よいのだろうが、クラスをいじるスキルがない。

-----------------------------------
from collections import namedtuple

a = [(1,'data1','atr1'), (2,'data2','atr2')]
named_rec = namedtuple('sample', 'x y z')

b = []
for line in map(named_rec._make, a):
b.append((line.x, line.y)) ←ココ
print(b)
-----------------------------------
708デフォルトの名無しさん:2014/05/03(土) 10:52:02.37 ID:meEVb04m
>>707
d = ['z']
b = []
for line in map(named_rec._make, a):
 b.append(tuple(getattr(line, c) for c in line._fields if c not in d))

とか?
709デフォルトの名無しさん:2014/05/03(土) 11:36:02.68 ID:QF+ScwSC
>>707の最大の問題点はもっと根本的なところにあるような気がしてならないが。
710デフォルトの名無しさん:2014/05/03(土) 13:36:49.89 ID:UmrjxM8O
> 要素の一部だけを削除したタプルを作りたい。
> 何か良い方法はないだろうか。

本気なら、>>707さんは、dict 使うべきだと思いますが。
711デフォルトの名無しさん:2014/05/03(土) 13:39:39.21 ID:HbUH8akr
タプルって変更しないものに使うんじゃないの
712デフォルトの名無しさん:2014/05/03(土) 13:41:27.86 ID:/IR7wR5K
目的と手段がおかしいんだな
713デフォルトの名無しさん:2014/05/03(土) 13:59:59.81 ID:CePx9Yr3
データ型が提供してるメソッドに不足を感じる場合は、用途を誤ってる事が多い。



namedtuple -> 辞書は、v._asdict() や vars(v) で変換できるよ

タプル、辞書から値を纏めて取り出すにはoperator.itemgetter が便利。

v = namedtuple('sample', 'x y z')(1, 2, 3)
itemgetter(*[x for x in v._fields if x not in {'z'}])(vars(v))
714デフォルトの名無しさん:2014/05/03(土) 14:23:18.41 ID:/IR7wR5K
なんでNamedtuple使ってんの?って聞いたら.で属性にアクセスできるからって答えた奴いたな
715デフォルトの名無しさん:2014/05/03(土) 15:29:10.28 ID:q6SnZRBs
>>714
いやまさにそれが目的で使ってる。
Pythonにおいて要素への名前アクセスをするには
クラスではなくnamedtupleが推奨と以前ここで見たので。
でも要素を削除する必要がある場合には向かないようだね。
operatorモジュールは取っつきにくくて避けてたんだけど、この機会に足掻いてみるよ。
716デフォルトの名無しさん:2014/05/03(土) 16:09:45.35 ID:/IR7wR5K
いや、そうだろうなとは思ってたよ

これコピペして使えばいい
http://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute-in-python
717デフォルトの名無しさん:2014/05/03(土) 16:31:54.81 ID:CePx9Yr3
同じ事思った>属性アクセス

属性を動的に追加・削除するのは、
ソースの静的解析やエディタの補完で困るのであまりやらない。

要素を削除というか、単純なデータの変換処理だったら
変換後のデータも同じ様にnamedtupleを定義しておくと良い。

A = namedtuple("A", "x y z")
B = namedtuple("B", "x y")
assert set(B._fields) <= set(A._fields), "A does not fill all B fields"

a = map(A._make, [(1,2,3), (4,5,6), (7,8,9)])
b = map(attrgetter(*B._fields), a)
718デフォルトの名無しさん:2014/05/03(土) 22:08:48.30 ID:t1k5Xg6d
Pythonにも、標準出力をバイナリモードに切り替えるような機能はありますか?
バイナリをprintしようとしたのですがうまく行かず困っています
719デフォルトの名無しさん:2014/05/03(土) 22:56:09.94 ID:/IR7wR5K
# py2
import sys, os, msvcrt
msvcrt.setmode(sys.stdout.fileno(), os.O_BINARY)
sys.stdout.write()

# py3
import sys
sys.stdout.buffer.write()

らしい
お酒でくらくらするから試す気なし!
720デフォルトの名無しさん:2014/05/03(土) 22:59:07.30 ID:coRaMBbp
>>718
3.x系ではioは不要
import io
f = io.open(1, 'wb')
f.write(b'foo')
f.flush()
f.detach()
721デフォルトの名無しさん:2014/05/03(土) 23:06:23.50 ID:t1k5Xg6d
>>719,720
どちらでもうまくいきました!
ありがとうございます
722デフォルトの名無しさん:2014/05/03(土) 23:35:38.42 ID:by71bbn3
>>715
typesモジュールのSimpleNamespaceおすすめ
3.3からないけど、ちょっと書くだけで同じようにできる
723デフォルトの名無しさん:2014/05/04(日) 01:34:53.35 ID:fWNF7dW3
昨日からプログラミング始めた者です。
Pythonがわかりやすくて、いろいろできると聞いたので選びました。

デコレーターってのが意味わかりません

www.isl.ne.jp/pcsp/python/python26.html
このページの

# デコレーター関数定義
def deco(f):
def in_deco():
print('before')
f()
return in_deco
# デコレーターを指定
@deco
def func():
print('decorate')
# 関数funcを実行
func()

f()から下がまったく理解できません。
f()とreturn、@deco、の関係性がわかりません。

助けて・・・
724デフォルトの名無しさん:2014/05/04(日) 01:43:14.53 ID:u7YJsxKq
>>723
http://www.isl.ne.jp/pcsp/
↑に
> Javaを学んだ方が次にPythonを学ぶためのコンテンツです。
ってあるけど、Javaで一通りプログラミング学んでるのが前提のコンテンツっぽいよ
725デフォルトの名無しさん:2014/05/04(日) 02:02:44.07 ID:fWNF7dW3
一応、24回までは問題なく理解できて、わからないのが最終回だけなんです・・・
もしかして、デコレーターって初心者にとってはそんなに重要じゃない構文っぽい感じですか?
726デフォルトの名無しさん:2014/05/04(日) 02:07:37.16 ID:eLppgy1d
@deco
def func(): pass
これは
def func(): pass
func = deco(func)
と同じ意味になる、というのがデコレータ
727デフォルトの名無しさん:2014/05/04(日) 02:09:07.63 ID:3yZ8GKpR
>>725
最初はライブラリで用意されているデコレーターを使えるようにするといいと思う
728デフォルトの名無しさん:2014/05/04(日) 02:10:57.65 ID:3yZ8GKpR
>>725
最初はライブラリで用意されているデコレーターを使えるようにするといいと思う
729デフォルトの名無しさん:2014/05/04(日) 02:13:30.49 ID:3yZ8GKpR
うわ、大事なことなので二回言いましたw
730デフォルトの名無しさん:2014/05/04(日) 02:34:17.12 ID:fWNF7dW3
>>726
あっ、そういうことですか。ありがとうございます。
f()にfunc()が来てそれをreturnで返して
func()で出力するみたいなイメージで大丈夫ですか?

なんとなく掴んだので続きやってみます。

>>729
まだライブラリがなんなのかわかんないですw
731デフォルトの名無しさん:2014/05/04(日) 03:09:00.29 ID:fWNF7dW3
すみません。
またよくわからないことが出てきました。

デコレーターに引数を使うときって
@deco(False)
def func(): pass
////////////////
func() = deco(func)ではなくって
func() = deco(False)になる感じですか?

あと、
@deco
@deco
の処理の仕方というか、裏ではどんな感じで動いてるというか、
構造がイマイチわかりません。
(*args, **kwds)が一体何のためにあるのかもわかりません。
732デフォルトの名無しさん:2014/05/04(日) 03:13:40.62 ID:eLppgy1d
func = deco(False)(func)
下のは
func = deco(deco(func))
733デフォルトの名無しさん:2014/05/04(日) 03:30:38.19 ID:fWNF7dW3
>>732
助かりました。
本当にありがとうございます。
734デフォルトの名無しさん:2014/05/04(日) 03:35:47.48 ID:eLppgy1d
まあリファレンスに書いてあることなので自分で調べてね
docs.python.jp/2.7/reference/compound_stmts.html#def
735デフォルトの名無しさん:2014/05/04(日) 03:44:28.00 ID:3yZ8GKpR
>>731
http://www.isl.ne.jp/pcsp/python/python26.html
サンプルプログラムの*argsと**kwdsはデコレーターと無関係、サンプルとして余計な部分
最後4のdecoで大事な部分だけ抜き出すと

def deco(f):
 def deco1():
  return f() * 2
 return deco1
736デフォルトの名無しさん:2014/05/04(日) 04:25:44.94 ID:fWNF7dW3
>>734
うぉ。
頑張って基礎用語習得して、ググって自力で理解できるように精進します^^;

>>735
関係ないんですね、よかった。
ありがとうございます。
737デフォルトの名無しさん:2014/05/04(日) 11:13:50.72 ID:fWNF7dW3
s = [2]
if a < 2:print(u"素数ではない")
elif a % 1 != 0:print(u"素数ではない")
elif a == 2:print(u"素数である")
elif a % 2 == 0:print(u"素数ではない")
else:
for x in range(3,a + 1):
for y in s:
if x % y ==0:
break
if a % x == 0 and x != a:
print(u"素数ではない")
break
else:
s.append(x)
if a in s:
print(u"素数である")
なんでif a % x == 0 and x != a: breakダメなの?(´・ω・`)
738デフォルトの名無しさん:2014/05/04(日) 12:06:59.88 ID:fWNF7dW3
失敬、連投規制にあったもので
a = 代入する値
for x in range(3,a + 1):
>for y in s:
>>if x % y ==0:
>>>break
>if a % x == 0 and x != a:
>>print(u"素数ではない")
>>break
>else:
>>s.append(x)
if a in s:
>print(u"素数である")
vipprog.net/wiki/exercise.html#o8db2119
739デフォルトの名無しさん:2014/05/04(日) 12:17:26.51 ID:ksC+5kIH
import re
print(None is not re.match("abc","testabc"))

何故この正規表現パターンではマッチしないのですか?
"testabc"を"abctest"にしたらヒットしました
パターン"abc"は"^abc"と同じなんですか?
PCREではこれでヒットするはずなんですがPythonの正規表現でこうなるのは何故ですか?
740デフォルトの名無しさん:2014/05/04(日) 12:27:00.65 ID:iExgxp9P
6.2.5.3. search() vs. match()

Python offers two different primitive operations based on regular expressions:
re.match() checks for a match only at the beginning of the string, while
re.search() checks for a match anywhere in the string (this is what Perl
does by default).

>>739さん
> パターン"abc"は"^abc"と同じなんですか?
re.match() では同じです。
PCREは知りませんが、察するに、search() を使えば
>>739さんのご希望に沿えるのではないでしょうか?
741デフォルトの名無しさん:2014/05/04(日) 14:16:34.34 ID:la1aUhza
環境はWin8.1 Python2.7 IDEはSpyder使用。

virtualenv で、heroku用の仮想環境を作ろうとしています。
インストールと仮想環境のactivateまではできました。

IDEで使う場合は、仮想環境のインタプリタを指定すればいいのでしょうか。
逆に言うと、環境を切り替えるたびにインタプリタを選択し直さないといけないのでしょうか。

仮想環境はアプリごとに作成するイメージかと思っていたのですが、これでは切り替えが大変そうだと感じています。
742デフォルトの名無しさん:2014/05/04(日) 16:54:04.48 ID:/ciZwNf1
virtualenvのactivateがやってることは、突き詰めれば環境変数の設定だけです
逆に言えば、その辺が分からないうちはまともに使いこなせないでしょう
743デフォルトの名無しさん:2014/05/04(日) 21:17:13.57 ID:BMIVG0Uu
a1 = [
{"age":33,"name":"oosaki"},
]

a2 = [
{"age":33, "name":"teshima"},
]

各リストに複数の辞書があるものとお考えください
a1とa2のnameキーの値を取り出して
a3 = ["oosaki", "teshima"]
ってやりたいです
僕はfor i in a1+a2: a3.append(i["name"])って書いたんですが、これってリストのサイズが巨大だったらメモリ使用量も増えるので効率悪い気がします
他にどんな書き方ができるのか教えてください
744デフォルトの名無しさん:2014/05/04(日) 21:36:38.94 ID:xA5nmMXs
for a in (a1, a2):
 for i in a: a3.append(i["name"])
745デフォルトの名無しさん:2014/05/04(日) 21:51:16.36 ID:3yZ8GKpR
>>743
リスト同士をつなげるにはitertools.chainが使える
あと一つずつlistに追加していく書き方より内包表記の方が短く書ける
import itertools
a3 = [d['name'] for d in itertools.chain(a1, a2)]
746デフォルトの名無しさん:2014/05/04(日) 22:03:44.59 ID:BMIVG0Uu
>>744-745
いろんなやりかたがあるんですね勉強になりました
最後にもう一点質問したいのですがa3に元のリストのインデックスも入れたい場合、
こういうふうには書けましたが、リストをつなげてループする時にインデックスを取得するのは不可能と思っていいですか?
for i, v in enumerate(a1):
a3.append([i, v["name"]])
for i, v in enumerate(a2):
a3.append([i, k["name"]])
747デフォルトの名無しさん:2014/05/04(日) 22:18:04.12 ID:xA5nmMXs
for a in (a1, a2):
 for i, v in enumerate(a):
  a3.append([i, v["name"]])


import itertools
a3 = [[i, d['name']] for i, d in itertools.chain(enumerate(a1), enumerate(a2))]
748デフォルトの名無しさん:2014/05/04(日) 22:19:45.74 ID:t3Tu5YU1
a3 = [[i, d['name']] for i, d in enumerate(itertools.chain(a1, a2))]
index = 1
if index < len(a1):
print a1[index]
else:
print a2[index - len(a1)]

無理やりやるならこんな感じかな
749デフォルトの名無しさん:2014/05/04(日) 22:26:52.34 ID:BMIVG0Uu
>>747-748
ありがとうございます
質問してよかったです
750デフォルトの名無しさん:2014/05/05(月) 04:40:06.89 ID:V3vcFv9Y
解けた( ゚∀゚)アハハ

dpaste.com/2MAMCN6/
デバックで鍛えられた気がする
751デフォルトの名無しさん:2014/05/05(月) 07:18:20.03 ID:cHX/h0cw
下の総当りの試し割りより遅かったことに驚きを隠せない
cProfileモジュールやシェルのtimeコマンドで計測すると分かってもらえると思う
import sys


a = 12277

if a < 2:

 print(a, 'is not a prime number.')

 sys.exit()

for i in range(2, a):

 if a % i == 0:
  print(a, 'is not a prime number.')

  sys.exit()

print(a, 'is a prime number.')
752デフォルトの名無しさん:2014/05/05(月) 07:20:57.08 ID:cHX/h0cw
あー、行間が空いて煽ってるようしか見えないけどコピペ失敗しただけなので他意はない
753デフォルトの名無しさん:2014/05/05(月) 08:20:26.38 ID:7UNz02if
2014-05-05T22:37:16+09:00
2014年05月05日 22時37分という風に変換したいのですが
調べていろいろしてもうまくいきませんでした。お詳しい方教えてほしいです。
754デフォルトの名無しさん:2014/05/05(月) 09:16:12.13 ID:438PWgy8
>>753
a = '2014-05-05T22:37:16+09:00'
b = a.split('T')
date = b[0].split('-')
time = b[1].split(':')[:2]
DATE = '{}年{}月{}日'.format(*date)
TIME = '{}時{}分'.format(*time)
print(DATE + ' ' + TIME)
755デフォルトの名無しさん:2014/05/05(月) 10:22:20.12 ID:KDTZ9ePv
>>753
ちなみにどういうコードを書いたのか教えて
756デフォルトの名無しさん:2014/05/05(月) 12:07:13.25 ID:qzGHizbC
array = [
{"name": "A", "w":200, "h":10},
{"name": "B", "w":100, "h":10},
{"name": "c", "w":100, "h":20},
{"name": "d", "w":200, "h":20},
]
array.sort()
これの結果はこうなりますが
[{'name': 'B', 'w': 100, 'h': 10},
{'name': 'c', 'w': 100, 'h': 20},
{'name': 'A', 'w': 200, 'h': 10},
{'name': 'd', 'w': 200, 'h': 20}]
第一優先wが小さい順、第二優先hが大きい順になるように下のようにソートするにはどうやればいいんでしょうか?
[{'name': 'c', 'w': 100, 'h': 20},
{'name': 'B', 'w': 100, 'h': 10},
{'name': 'd', 'w': 200, 'h': 20}
{'name': 'A', 'w': 200, 'h': 10},
]
757デフォルトの名無しさん:2014/05/05(月) 12:18:03.84 ID:VYxUQVAf
>>756
array.sort(key=lambda x: x['h'], reverse=True)
array.sort(key=lambda x: x['w'])
758デフォルトの名無しさん:2014/05/05(月) 12:30:56.66 ID:7UNz02if
>>753
ありがとうございます!関数でさくっと書けるのかと思ってたんですが
そうでもないんですね。
>>755
http://memo.yomukaku.net/entries/ousMbZn
このサイトの下の方のrfc3339の変換の所とかです。
759デフォルトの名無しさん:2014/05/05(月) 12:41:58.65 ID:Vmp3/Tts
>>758
オフセットを単に無視していいのであればこれでいいのかも

>>> from datetime import datetime
>>> t = datetime.strptime('2014-05-05T22:37:16+09:00'.split('+')[0], '%Y-%m-%dT%H:%M:%S')
>>> t
datetime.datetime(2014, 5, 5, 22, 37, 16)
>>> print u'%d年%d月%d日 %d時%d分' % (t.year, t.month, t.day, t.hour, t.minute)
2014年5月5日 22時37分
760デフォルトの名無しさん:2014/05/05(月) 15:31:14.89 ID:k18S6kVx
a = [1,2,3]
del a[0]
print a[0] # 2

削除するとシーケンスが前に詰まるんですが
a[1]が2、a[2]が3を維持してa[0]だけ削除する方法を教えてください
761デフォルトの名無しさん:2014/05/05(月) 15:39:01.91 ID:UFfFm3fq
何でそんな実装したいんだ
762デフォルトの名無しさん:2014/05/05(月) 15:50:05.31 ID:VmBcg0a4
>>760
a[0] = None
763デフォルトの名無しさん:2014/05/05(月) 16:58:40.05 ID:k18S6kVx
Noneを代入しているだけでけしているわけではないような・・
764デフォルトの名無しさん:2014/05/05(月) 17:09:14.91 ID:8DpUAbkT
>>760
まず「削除」の意味を説明してから。
そしてだれかしらに「馬鹿」と呼ばれるかもしれないという心の準備。
765デフォルトの名無しさん:2014/05/05(月) 17:11:08.58 ID:Vmp3/Tts
collections.OrderedDict が使えるかもしれないけどあくまで辞書だからなあ
766デフォルトの名無しさん:2014/05/05(月) 17:19:41.94 ID:k18S6kVx
PHPで書くとこういう感じ
$a = [1,2,3];
unset($a[0]);
var_dump($a);
/*
array(2) {
[1] =>
int(2)
[2] =>
int(3)
}
*/
767デフォルトの名無しさん:2014/05/05(月) 17:23:32.47 ID:k18S6kVx
>>764
もしかしa[0] = Noneの事で反応されたのでしたらそれは削除ではありません
a = [0,1,2]
print len(a) # 3
a[0] = None
print len(a) # 3
これだとNoneで初期化という意味ですから・・・
削除が何を意味するかは既にコードに書いて有りますので割合します
768デフォルトの名無しさん:2014/05/05(月) 17:27:10.92 ID:psAfZxcP
len(a) == 2 && a[1] == 1 && a[2] == 2
となることを希望してるんだろうな、、、
769デフォルトの名無しさん:2014/05/05(月) 17:27:43.15 ID:psAfZxcP
len(a) == 2 && a[1] == 2 && a[2] == 3
となることを希望してるんだろうな、、、
770デフォルトの名無しさん:2014/05/05(月) 17:29:37.78 ID:075cSel2
大事なことなので
771デフォルトの名無しさん:2014/05/05(月) 17:42:26.85 ID:eaEmMsOF
>>742
virtualenvは環境変数が変わることで環境を切り替えるんですね。
その発想がありませんでした。

ということはIDEのインタラプタと環境変数をvirtualenv用に書き換えればいけそうですね。

そして少し調べた結果、IDEでプロジェクトを作成すれば、プロジェクトごとに上記
切り替えができそうなこともわかりました。

こんな感じで試してみようと思います。
なにか、勘違い等指摘ありましたらおねがいします。
772デフォルトの名無しさん:2014/05/05(月) 18:00:33.62 ID:xdltUMHs
pyenv localでプロジェクトごとに環境を指定しろ
773デフォルトの名無しさん:2014/05/05(月) 18:04:41.28 ID:Vmp3/Tts
>>766
ならやっぱりこうだろう

>>> from collections import OrderedDict
>>> d = OrderedDict(enumerate([1, 2, 3]))
>>> d
OrderedDict([(0, 1), (1, 2), (2, 3)])
>>> del d[0]
>>> d
OrderedDict([(1, 2), (2, 3)])
>>> d[1], d[2]
(2, 3)
774デフォルトの名無しさん:2014/05/05(月) 18:10:20.94 ID:gFU9YLV8
OrderedDict にしなくてもできちゃうね

>>> a = {1:0,2:1,3:2}
>>> a
{1: 0, 2: 1, 3: 2}
>>> len(a)
3
>>> del a[1]
>>> a
{2: 1, 3: 2}
>>> len(a)
2
775デフォルトの名無しさん:2014/05/05(月) 18:18:36.53 ID:VYxUQVAf
a = [1,2,3]
d = dict(enumerate(a))
del d[0]

辞書である程度できるけど、ループさせる時とか面倒だし
PHPのarrayと同等のクラスを自作すべきじゃないの
776デフォルトの名無しさん:2014/05/05(月) 18:40:24.56 ID:Vmp3/Tts
>>774
普通の辞書だと順序が保持されないから
要素を追加してからループで回す場合などに不安がある
777デフォルトの名無しさん:2014/05/05(月) 19:18:16.62 ID:VYxUQVAf
>>760が求めているのは、OrderedDictのような追加された順序じゃなくて、
添え字と内容の組を維持したまま、添え字の昇順で取り出せる配列だと思うよ

d = {}
d[0] = 1
d[1] = 2
d[2] = 3
d[40] = 7
d[10] = 50
d[5] = 100

del d[0]

for i, v in sorted(d.items()):
 print(i, v)
778デフォルトの名無しさん:2014/05/05(月) 23:11:55.70 ID:V3vcFv9Y
覚え書き:関数内で変数を定義しないとUnboundLocalError
779デフォルトの名無しさん:2014/05/06(火) 00:43:30.98 ID:SnxCJScG
>>778
つ global、nonlocal
780デフォルトの名無しさん:2014/05/06(火) 02:19:05.68 ID:lMfO+tXs
>>779
おお、globalでもできました!
nonlocalは調べてみたけど日本語が難しくてわからんない(´・ω・`)
781デフォルトの名無しさん:2014/05/06(火) 03:29:11.08 ID:W1irTGxy
質問です
あるファイルオブジェクトfileがあって、これをfor文で1行ずつtextという文字列に入れていきます。
for text in file:
 処理
みたいな感じです。
このfor文の処理なのですが、たとえば、textの文字から特定の文字(たとえばjava)を消去して
特定の文字を置換したい(たとえばruby→python)場合、
for text in line:
 text.rstrip("java")
 text.replace("ruby", "python")
 print text

これだとうまくいきません。

for text in line:
 text2 = text.rstrip("java")
 text2.replace("ruby", "python")
 print text2
これだとうまくいくのですが、こんな感じで処理ごとに新たなオブジェクトを作っていくしかないのでしょうか?(textに入っている文字列に対する処理が増えたらもっと新たなオブジェクトを作らないといけなくなって、かっこわるい気がします)

python というか、プログラム初心者です
782デフォルトの名無しさん:2014/05/06(火) 03:38:37.29 ID:9GZznhIG
破壊的に内容を書き換えるわけじゃないんだから当然の結果かと
783デフォルトの名無しさん:2014/05/06(火) 03:47:59.49 ID:l/RnXGfS
rstripが781の期待通りに動作しないようだな
replaceなら問題ないようだし置き換えればいくね?

#!/usr/bin/python

line = ['javasine','rubyhorobe','kusojavarubysanpai']
for text in line:
 text=text.replace("java","")
 text=text.replace("ruby", "php")
 print text

pya@debian:/home/pya> ./ptest
sine
phphorobe
kusophpsanpai
784デフォルトの名無しさん:2014/05/06(火) 03:50:35.36 ID:W1irTGxy
>>782
ありがとうございます。
.rstripのメソッドをつけると、textの内容を書き換えるわけじゃなくて
textにrstripを作用させたものを表すだけで、
それを(さらに加工するために)保存しておきたかったら、text2など、別の変数を確保する必要があるのですね。
なんか効率悪い方法な気がしますが、このように文字列加工する毎に、変数の数を増やしていくしかないのでしょうか。

リストのlist.append、list.removeなどは、ちゃんと元のlistを書き換えてくれるのですよね
わけわからなくなってきました
785デフォルトの名無しさん:2014/05/06(火) 03:52:54.40 ID:W1irTGxy
>>783
ありがとうございます
メソッドによって、元のデータを書き換える、書き換えないが決まっていて
統一したルールはないという感じなのでしょうか…
786デフォルトの名無しさん:2014/05/06(火) 03:56:20.79 ID:l/RnXGfS
ちなみに 2.7.3
787デフォルトの名無しさん:2014/05/06(火) 04:12:45.79 ID:yrujgySY
Rubyでは、sortなら新しい配列を返し、
sort! なら元の配列を変更する

破壊的なメソッドには、"!"が付く
788デフォルトの名無しさん:2014/05/06(火) 04:19:07.18 ID:4v5jSx26
text2 = text.rstrip("java").replace("ruby", "python")
789デフォルトの名無しさん:2014/05/06(火) 04:46:23.00 ID:W1irTGxy
>>787
正直その仕様うらやましいです。
私が慣れていないだけで、普通破壊的非破壊的は瞬時に分かるんでしょうか。
>>788
連結することができるんですね。ありがとうございます。
でも、変な中間オブジェクト作りたくないので、replaceのみを使うことにします。
790デフォルトの名無しさん:2014/05/06(火) 06:12:53.90 ID:Ov8NCVuR
破壊的なメソッドは名前が命令っぽいし非破壊的なら質問っぽいから大半は見分けがつく
どっちなのか不安になったらその都度マニュアルを読んだりサンプルを書いて調べる
ちなみに文字列はイミュータブル(変更不可)なオブジェクトだからメソッドが破壊的ということはないよ
791デフォルトの名無しさん:2014/05/06(火) 06:22:59.45 ID:mQys0jOp
基本型の範囲内で、イミュータブル型とミュータブル型の双方にあるメソッドで破壊的なのってあったっけ?
792デフォルトの名無しさん:2014/05/06(火) 07:20:46.43 ID:ajZm0pRN
odsファイルをlibreofficeで開きたいのですが方法が分かりません。
環境はlinuxです
ファイラーでファイルをダブルクリックした時の動作をpythonで実行させるにはどうしたらいいでしょうか?
793デフォルトの名無しさん:2014/05/06(火) 07:36:49.19 ID:en11SVnb
>>792
開くだけなら
import os
os.system('libreoffice /path/to/file')
フルパスのほうがいいかも
794デフォルトの名無しさん:2014/05/06(火) 08:24:29.54 ID:ajZm0pRN
>>793
即レスありがとうございました!出来ました!!
795デフォルトの名無しさん:2014/05/06(火) 10:03:38.14 ID:lMfO+tXs
try:
(省略)
   if a > 100: raise "TooBig"
(省略)
except "TooBig":

って書いたら
exceptions must be old-style classes or derived from BaseException, not str
って出たんですが、2.7のバージョンでこれに代替するものはありますか?
今まで if とwhileだけで頑張ってて、やっと便利そうなものに出会えたのに・・
796デフォルトの名無しさん:2014/05/06(火) 10:21:39.81 ID:5XUZJ6Yv
class TooBig(BaseException): pass

if __name__ == "__main__":
a = 101
if a > 100:
raise TooBig("ooki sugi")
else:
print("a <= 100")
797デフォルトの名無しさん:2014/05/06(火) 12:33:57.30 ID:mEd63sxG
>>789
text = text.rstrip("java")みたいに再代入すればいいだろ
それに変なことでもないし間違った考えは捨てるべき
798デフォルトの名無しさん:2014/05/06(火) 12:45:00.86 ID:lMfO+tXs
クラス例外ってのがあるのですね!
今早速python Japanのチュートリアルを調べてみたのですが、エラーの例外処理しか書いてなくて
基本構文がどう働いているのかわかんない感じです。それで例外処理のメソッドの作り方もちょっとわかりません。

www.bioinfo.sfc.keio.ac.jp/class/genpro/Texts/Python1_4.htm
の最後の課題を仕上げて例外処理はぜひモノにしたいです!
799デフォルトの名無しさん:2014/05/06(火) 13:39:43.39 ID:THhaAqsS
対話型でエンターを使わずに改行してそのまま打つ方法ってありますか?
800デフォルトの名無しさん:2014/05/06(火) 13:53:34.81 ID:IYRNLtkR
こういうことか?
>>> print("Hello, \
... World.")
Hello, World.
801デフォルトの名無しさん:2014/05/06(火) 14:08:47.29 ID:THhaAqsS
>>800
いや、長いプログラム書くときに
802デフォルトの名無しさん:2014/05/06(火) 14:09:57.93 ID:SnxCJScG
>>795
try:
 (省略)
 if a > 100: raise Exception("TooBig")
 (省略)
except Exception as e:
 if e.message == "TooBig":
  print(u"でかい")
803デフォルトの名無しさん:2014/05/06(火) 14:14:33.90 ID:uMIcYsKA
>>801
対話モードで長いプログラムを書くメリットがあるとは思えん
もしかしてテキストエディタを知らないとか?
804デフォルトの名無しさん:2014/05/06(火) 14:18:58.04 ID:THhaAqsS
>>803
あ、そうなんだ

テキストエディタは知ってるよ、ありがとう
805デフォルトの名無しさん:2014/05/06(火) 14:50:07.11 ID:HHA7qseK
モジュールのソースをダウンロードして python setup.py install という具合にインストールしようとしたのですが
pythonがvcvarsall.batを見つけてくれず途方に暮れています
vcvarsall.batを見つけられるようにpathにそれの入っている場所を通してはあります
これ以外の原因にはどんなものがあるんでしょうか
806デフォルトの名無しさん:2014/05/06(火) 14:51:48.03 ID:MUfoCXqr
変数内のhtmlタグはそのままで、htmlタグ以外の<>を&lt;と&gt;に変換したいのですが、
何かいい方法があれば教えて下さい。
807デフォルトの名無しさん:2014/05/06(火) 14:59:41.46 ID:mSyZL6kn
そんな壊れたhtmlを扱うのがおかしい
htmlを修正すればいい話で言語側で頑張る必要はない
808806:2014/05/06(火) 15:06:52.43 ID:MUfoCXqr
>>807
html側は修正出来ないのです。
取得元がそういう仕様なので。
出来ないのであれば、諦めます。
809デフォルトの名無しさん:2014/05/06(火) 15:10:38.12 ID:SnxCJScG
普通に正規表現で置換すればいいと思うけど
810デフォルトの名無しさん:2014/05/06(火) 15:25:38.23 ID:WFiBnAhm
pygame、PyOpenGLがインストールされているか確認する方法はありますか?
811デフォルトの名無しさん:2014/05/06(火) 17:33:14.27 ID:lZ9VvgZb
ねえねえPythonで猫は作れないの?
812デフォルトの名無しさん:2014/05/06(火) 17:42:42.86 ID:ZzGxE59U
>>806
HTML Tidy http://tidy.sourceforge.net/ をPythonから使うライブラリの
uTidylib http://utidylib.berlios.de/ が有効かもしれない
813デフォルトの名無しさん:2014/05/06(火) 19:53:15.64 ID:5XUZJ6Yv
>>810

try:
import PyOpenGL
except ImportError:
print("cannot import PyOpenGL")
else:
print("imported PyOpenGL")
814デフォルトの名無しさん:2014/05/06(火) 20:12:59.11 ID:lMfO+tXs
おおおお、そういうことだったかのか!
一度寝てもう一回見てみたらすぐにわかりました!
疲れたらいろいろ見えなくなるんですねw
ありがとうございます
>>796
>>802
815デフォルトの名無しさん:2014/05/06(火) 22:16:58.03 ID:VFOQQ2EH
p e p 8がチェックできる日本語のライブラリってありませんか?
816806:2014/05/06(火) 22:40:12.03 ID:MUfoCXqr
>>812
情報有難うございます。
試してみましたが、思っていたものとは少し違うようでした。
しかし、BeautifulSoupでやりたいことが出来ましたので、解決しました。
どうもありがとうございました。
817デフォルトの名無しさん:2014/05/06(火) 23:06:52.08 ID:JE14s1BU
>>815
そもそもPEP8は英語使えといってるので諦めてはいかがですか?
818デフォルトの名無しさん:2014/05/07(水) 01:02:55.33 ID:aO+ETnaV
なんでおれは空白を入れないとp e p 8って書込ができないのにあなたは普通に書き込めるのか!?
819デフォルトの名無しさん:2014/05/07(水) 01:04:02.36 ID:MbwxJpTd
そんなばかな
pep8
820デフォルトの名無しさん:2014/05/07(水) 01:16:41.45 ID:aO+ETnaV
pep8
821デフォルトの名無しさん:2014/05/07(水) 01:17:08.16 ID:aO+ETnaV
PEP8
822デフォルトの名無しさん:2014/05/07(水) 01:18:07.88 ID:aO+ETnaV
あれおかしいなpep8じゃなかった
なんのキーワードに引っかかったんだろう
823デフォルトの名無しさん:2014/05/07(水) 03:19:51.82 ID:XMc35o9t
クマー
824デフォルトの名無しさん:2014/05/07(水) 10:45:11.98 ID:IG27RCGq
pep8がチェックできる日本語のライブラリってありませんか?

どれどれテスト
825デフォルトの名無しさん:2014/05/07(水) 10:59:31.11 ID:PrO7m2H3
パイソン勉強すると慶應女とやれるって聞きました
本当ですか?
826デフォルトの名無しさん:2014/05/07(水) 18:12:47.91 ID:afXZQj4c
俺がやれてないので嘘です
諦めてください
827デフォルトの名無しさん:2014/05/07(水) 19:07:36.21 ID:3Ol92AoL
PEP8ってファイルにエンコーディング宣言をするなっていうじゃないですか
ここの先輩方は書いてますか?
828デフォルトの名無しさん:2014/05/07(水) 19:27:13.74 ID:MbwxJpTd
書いてますよ
そもそもPEP8にしたがってませんから
829デフォルトの名無しさん:2014/05/08(木) 13:21:04.96 ID:x2u5Ly7T
使っているライブラリがだいたいPEP8違反品なので
俺だけルールを守るは癪に障る
830デフォルトの名無しさん:2014/05/08(木) 16:35:43.24 ID:cPEtHP5z
質問
linuxでwindowsみたいにダブルクリックで自動でコンソール開いて実行できるようにできますか?
831デフォルトの名無しさん:2014/05/08(木) 16:39:56.16 ID:pICCUeeH
>>830
http://lmgtfy . com/?q=linux+%E9%96%A2%E9%80%A3%E4%BB%98%E3%81%91
832デフォルトの名無しさん:2014/05/09(金) 00:10:32.84 ID:8RvhDw5k
pyenvで3.4.0をインストールしたんですがtkinterをimportできません
アドバイスお願いします

>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/toyohiko/.pyenv/versions/3.4.0/lib/python3.4/tkinter/__init__.py", line 40, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named '_tkinter'
833デフォルトの名無しさん:2014/05/09(金) 00:34:24.75 ID:8RvhDw5k
いろいろパッケージいれまくってインストールしなおしたらimportできました
834デフォルトの名無しさん:2014/05/09(金) 01:02:39.44 ID:JCnUB0up
curses のときとまったく同じじゃないかもう
835デフォルトの名無しさん:2014/05/09(金) 01:40:44.28 ID:4s2/CMbE
まるでせいちょうしていない…のか?
836デフォルトの名無しさん:2014/05/09(金) 13:53:55.22 ID:EGRUO5Vh
class Foo(object):

  def __init__(self, x, y):
   pass
  
  def ...

こういう空行ってみなさん空白入れてます?
837デフォルトの名無しさん:2014/05/09(金) 14:08:53.76 ID:YrW3FNu3
docstring
838デフォルトの名無しさん
pep8的には入れないほうがいい
でもそこまできにしてない