2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :デフォルトの名無しさん:2014/03/08(土) 09:54:51.11 .net
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は 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 .net
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|

3 :デフォルトの名無しさん:2014/03/08(土) 09:58:29.87 .net
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘

4 :デフォルトの名無しさん:2014/03/08(土) 09:59:20.78 .net
>>1
http://python.rdy.jp/wiki.cgi?page=ThreadArchive
http://python.rdy.jp/wiki.cgi?page=%B4%D8%CF%A2%BF%DE%BD%F1

ここも古いのでさっさと直せ

5 :デフォルトの名無しさん:2014/03/08(土) 10:05:57.32 .net
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::

6 :デフォルトの名無しさん:2014/03/08(土) 10:13:02.57 .net
【重要】
hogeは禁止です。使用しないでください。
万が一hogeが書き込まれても、スルーしてください。
相手にするとあなたも荒らしと同じ扱いになります。
また、hogeはNGワードに追加しておくことが強く推奨されています。


--------テンプレここまで--------

7 :デフォルトの名無しさん:2014/03/08(土) 10:16:00.00 .net
それじゃあ質問
今居る関数の、関数オブジェクトを表している特殊変数ありませんか?
下記のような時 __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 .net
1おっぱいそん。

9 :デフォルトの名無しさん:2014/03/08(土) 17:36:13.07 .net
_self

10 :デフォルトの名無しさん:2014/03/08(土) 18:10:52.63 .net
getattr(__import__('__main__'), '__name__')

11 :デフォルトの名無しさん:2014/03/08(土) 21:36:21.87 .net
debu hage():

12 :デフォルトの名無しさん:2014/03/09(日) 00:49:17.03 .net
プログラム板 強制ID制導入に関する投票スレ
http://kohada.2ch.net/test/read.cgi/vote/1394290844/

13 :デフォルトの名無しさん:2014/03/09(日) 13:02:28.26 .net
sikuliというソフトでpythonの外部モジュールを読み込む方法を教えてください

C/Python27/Libの中にモジュール名でフォルダを作って中にinit入れたらコマンドプロントやidleではimportできるのに同じプログラムをsikuli実行すると
ImportError(No module named json)と表示されます
これはsikuliがjythonだからでしょうか?
教えてくださいお願いします

14 :デフォルトの名無しさん:2014/03/09(日) 13:21:32.13 .net
色々問題があるので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 .net
あ、あくまでも一般的なJythonについて書いたので
そのソフトの使い方はそのソフトのスレか公式のフォーラムで聞いてください
ないor英語が読めないなら自動化なんて諦めて寝てください

16 :デフォルトの名無しさん:2014/03/09(日) 13:51:55.45 .net
話の半分くらいしか理解できなかったけどforumで「python mudule」で調べましたが有益な情報がないのでsikuliは諦めます
ですがpywinautoとかいうすごいの見つけたんでsikuliの代わりに使ってみたいと思います
わざわざ長い文章でご回答いただきありがとうございました

17 :デフォルトの名無しさん:2014/03/09(日) 16:16:11.65 .net
こんにちは。
qpythonの質問ってここでしていいですか?
qpythonでmathライブラリを使いたいのですけど、標準で入ってないとのこと。
http://qpython.org/question/856/qpython-math/

pythonの標準ライブラリを手動インストールする方法などありましたらご教示いただけませんか?

18 :デフォルトの名無しさん:2014/03/09(日) 16:46:18.22 .net
>>17
特にインストールした覚え無いけど使えてるな
ttp://i.imgur.com/CypKwbx.png

19 :デフォルトの名無しさん:2014/03/09(日) 17:23:33.62 .net
>>18
すみません、自己解決しました。
まず上のスクショの通りにmath.piが表示されているのを確認しました。
次にエラーメッセージをよく見てみたらどうやら行頭の空白部分を指し示していたので、一旦空白を削除してもう一度インデントしなおしたら動きました。
courseraの課題のプログラムをネットからコピペしたので空白がおかしくなってたのかもしれません。
ありがとうございました。

20 :デフォルトの名無しさん:2014/03/09(日) 17:31:43.86 .net
>>17
質問する前にまず公式くらい読もうなファック野郎
http://qpython.org/question/62/how-to-install-3rd-part-python-modules-for-qpython/

21 :デフォルトの名無しさん:2014/03/09(日) 17:48:06.75 .net
>>20
勿論読みましたよ。
その元になるmath.pyが何処にあるのかということと、math.py単体の動作チェックの仕方が分かってなくて躓いてましたから。
結局math.pyで検索して見つけたファイルをその位置に置いたら出来たので。

22 :デフォルトの名無しさん:2014/03/09(日) 19:33:47.71 .net
ゴミだなコイツ

23 :デフォルトの名無しさん:2014/03/09(日) 20:46:03.95 .net
さすがに別人だろ

24 :デフォルトの名無しさん:2014/03/09(日) 20:53:54.23 .net
Pythonはゆとり言語だから仕方ないね

25 :デフォルトの名無しさん:2014/03/09(日) 21:19:32.33 .net
pass

26 :デフォルトの名無しさん:2014/03/09(日) 22:00:32.08 .net
みんなipython使ってるの?

27 :デフォルトの名無しさん:2014/03/09(日) 23:29:11.38 .net
何でそんなくだらないもの使わなきゃいけないんだ?

28 :デフォルトの名無しさん:2014/03/09(日) 23:35:45.82 .net
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 .net
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 .net
>>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 .net
あぁ、クソっ!
インフルエンザにかかって辛い
お前らも気を付けろよ

32 :デフォルトの名無しさん:2014/03/10(月) 05:47:39.78 .net
>>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 .net
wxpythonで艦これ用のタイマー作ろうとしているのですが→リンクideone.com/1OjysO
時間数えるとGUIの処理を持っていかれてウインドウが使えなくなります
何か改善策ありますかね?

34 :デフォルトの名無しさん:2014/03/10(月) 06:22:06.78 .net
>>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 .net
>>33
wxpython知らんけど、
wx.Timer 使えない? sleep だとMainLoop まで固まってると思うよ

36 :デフォルトの名無しさん:2014/03/10(月) 07:18:58.84 .net
>>35
おおそんな便利なものがあるんですね
ありがとうございます

37 :デフォルトの名無しさん:2014/03/10(月) 20:14:11.30 .net
「リバースエンジニアリング ―Pythonによるバイナリ解析技法」って本どうなの?
Pythonそのものにはあんまり触れたこと無いんだが、読んでおくと勉強になったりするんだろうか
読み物として面白くて実用的なら買いたいな、と。

38 :デフォルトの名無しさん:2014/03/10(月) 20:50:16.42 .net
>>37
ウイルスの解析とかする人は必携
pydbg とか DLLインジェクションの話しだから興味が
無い人にはつまらないかも

39 :デフォルトの名無しさん:2014/03/10(月) 23:50:23.99 .net
Google Python Class Day 1 Part 1
http://www.youtube.com/watch?v=tKTZoB2Vjuk

40 :デフォルトの名無しさん:2014/03/11(火) 00:26:09.23 .net
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 .net
ん?
一つのf=open()の動作内でread()とwrite()を行うサンプル見たことないな
俺は殆んどファイル操作しないから分からんけど

42 :デフォルトの名無しさん:2014/03/11(火) 00:39:31.94 .net
>>40
>なにがいけませんか?
エラー文を書いてないところ

"r+"ってなにができるんだ

43 :デフォルトの名無しさん:2014/03/11(火) 00:51:10.65 .net
>>40
複数のプロセスで同時に呼び出される可能性があるなら、ロックが必要。データが壊れる可能性がある。
書き込みに関しては、write前に truncateしないと前のデータが残ったまま

44 :デフォルトの名無しさん:2014/03/11(火) 01:10:54.64 .net
>>40
リードでファイルのヘッドが(次の行へ)移動するからじゃね
で、移動した2行目にログをライトしてるから、カウントアップにならない
対策としては、ライトの直前でファイルの先頭へシークする

45 :デフォルトの名無しさん:2014/03/11(火) 01:44:57.45 .net
>>44
そんな感じだな
つまり>>41が書いてるように、open()とclose()の中をどっちかだけにするか、
現在位置を戻すかだな

あと、r+って事はちゃんと対象のファイルは存在してるのか?

46 :デフォルトの名無しさん:2014/03/11(火) 03:38:58.07 .net
ロックが必要

47 :デフォルトの名無しさん:2014/03/11(火) 21:10:08.21 .net
コレでできました。ありがとうございました。

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 .net
そら、できるわな・・

49 :デフォルトの名無しさん:2014/03/11(火) 22:06:34.12 .net
python2.7.3
wxpython使ってイメージビュアーを作りたいんですけど、
ボタンと画像が重なってしまって、正しく動きません。

http://ideone.com/EUjMf3

どこが間違っているのか、どなたか教えてもらえませんか?

50 :デフォルトの名無しさん:2014/03/11(火) 23:32:04.13 ID:s+CGgq+g.net
>>49
今すぐに試せないけど、レイアウト self.SetSizer(root_layout) してみるとどう?

51 :49:2014/03/12(水) 00:45:15.13 ID:dsbQZ8Cz.net
>>50
出来ました!
ありがとうございます。

52 :デフォルトの名無しさん:2014/03/12(水) 23:46:06.54 ID:KdBh17ll.net
文字入力ダイアログを表示して入力された文字を返すにはどうすればいいですか?
今のコードはこんな感じですが不要なウインドウを表示させないようにしたいです

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.net
root.withdraw()

54 :デフォルトの名無しさん:2014/03/13(木) 02:51:40.45 ID:BYFS1Mtu.net
>>53
ありがとうございます

55 :デフォルトの名無しさん:2014/03/13(木) 18:11:05.47 ID:KpZxdPF1.net
WindowsでPythonのパッケージをインストールするとき、
pipだとエラーが出るのでGohlkeさんのインストーラを使うことが多いんですが、
virtualenvを使っていて仮想環境の中にパッケージをインストールするときはどうしたらいいんでしょうか?

56 :デフォルトの名無しさん:2014/03/14(金) 18:00:52.83 ID:VIcRWG3n.net
3.x系より2.7系の方が入門サイトが多くてオススメだと聞いたんですが、対応しているモジュールの数など、他に利点ははありますか?

57 :デフォルトの名無しさん:2014/03/14(金) 19:45:56.17 ID:VIcRWG3n.net
>>56
>モジュールではなくeasyinatall や ipyhonのような追加機能でした

58 :デフォルトの名無しさん:2014/03/14(金) 20:05:34.49 ID:DLd7PKwH.net
>>56
ない
3系の方が標準モジュールも整理されてるし、文字コード周りで苦しむ事もない
対応しているモジュールの数にしても、未だに3に対応してないぐらい開発が停滞してるモジュール使うぐらいなら、
既に3に対応してる別のモジュールを選択したほうがいい

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

強いられてないなら3から始めた方がいい

59 :デフォルトの名無しさん:2014/03/14(金) 22:01:45.61 ID:VIcRWG3n.net
>>58
ぱっと見わからなかった。
色んなOSでの操作を同時に説明してるんですね。
を参考にpython勉強してみます
ありがとうございました!

60 :デフォルトの名無しさん:2014/03/14(金) 22:12:43.67 ID:DLd7PKwH.net
>>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.net
そのvirtualenvの中にPILとnumpyとscipyいれてみて

62 :デフォルトの名無しさん:2014/03/14(金) 23:02:09.95 ID:xXHYHr6/.net
じゃあanacondaを入れましょう

63 :デフォルトの名無しさん:2014/03/15(土) 01:51:50.54 ID:2XTh0Nab.net
>>56
騙されるなよ
Python3はまだ早い
あと2年待て

64 :デフォルトの名無しさん:2014/03/15(土) 02:17:31.10 ID:Cis/z5E9.net
>>63
公式は、来年で保守終わる予定だよ。read PEP 373

65 :デフォルトの名無しさん:2014/03/15(土) 08:06:40.10 ID:4X5wGnef.net
mechanizeはpy3対応してないんですか?それで2係から移行できないでいます。

66 :デフォルトの名無しさん:2014/03/15(土) 09:03:41.03 ID:2wONVlT3.net
>>65
してないし、しないよ。賭けてもいい。
根拠はgithubのソースツリーが2年間全く更新されてないから。

67 :デフォルトの名無しさん:2014/03/15(土) 09:12:57.86 ID:2wONVlT3.net
無理に移行しろとは言わないが、
最終的にはそのまま心中するか、
Rubyistに転生することになるだろう。
今までご苦労だった。安らかに旅立てよ。

68 :デフォルトの名無しさん:2014/03/15(土) 13:07:11.35 ID:a+TS82Fo.net
3系ってそんなにヤバいの?
処理速度も2系より遅いとかなんとか。

69 :デフォルトの名無しさん:2014/03/15(土) 13:32:19.35 ID:E7qCmrfx.net
更新してくれたひとありがとう
http://python.rdy.jp/

70 :デフォルトの名無しさん:2014/03/15(土) 17:58:59.04 ID:TGPQLRMC.net
It's

71 :デフォルトの名無しさん:2014/03/15(土) 22:17:08.65 ID:v9COd3Iu.net
Python3系ってあんまり浸透してないの?

72 :デフォルトの名無しさん:2014/03/15(土) 22:37:46.21 ID:2wONVlT3.net
どういう状況になると浸透したと言えるのか基準がないので何とも

73 :デフォルトの名無しさん:2014/03/15(土) 22:48:21.66 ID:ce6c6M/L.net
>>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.net
俺の基準としては・・。
RHL(CentOS)とDebianにデフォルトで入ったらシェア的に浸透したと言えるかなって思う

現状としてDebianには入った
RHLは驚愕の2.4.3だ
WindowsXPよりこいつらの方が潜在的に危険だと思えてならない

75 :デフォルトの名無しさん:2014/03/15(土) 23:10:49.39 ID:4oHlMdiA.net
>>72
・2 と 3 どちらがいいの?という質問が起きない
・ごくまれに質問があっても、あえて 2 を選ぶ価値は
 どこにも無いことが住人達の共通認識なので、話題や議論にならない

こんな状況(現状は、程遠い)

76 :デフォルトの名無しさん:2014/03/15(土) 23:57:25.40 ID:WPMUAKy7.net
RHやDebianでPython3がデフォになるのはディストリの中では最後でしょ。
最大多数派のUbuntuとその派生組や、他にArchLinuxとかはとっくに3がデフォになってる。

77 :デフォルトの名無しさん:2014/03/16(日) 00:17:21.83 ID:/s4Ozt32.net
皆3使ってると思ってたんだが…

78 :デフォルトの名無しさん:2014/03/16(日) 00:32:42.59 ID:6lDs1CH4.net
ごく短い使い捨てコードしか書かないので正直どっちでもいい・・・

79 :デフォルトの名無しさん:2014/03/16(日) 00:36:54.10 ID:x3s7NqCl.net
前にもこんなこと書き込んで若干笑われた(?)けど google app engine が3未対応でちょっと不便

80 :デフォルトの名無しさん:2014/03/16(日) 01:24:49.46 ID:oNuhFUS2.net
>>76
クライアントユーザーや木っ端ディストリに何が入ってるかなんてどうでもいいよ
サーバーの覇権ディストリが大事なの
全てといってもいい

81 :デフォルトの名無しさん:2014/03/16(日) 01:25:00.22 ID:F9crUbv3.net
Fedoraはデフォルトが3じゃないってのは意外だったな

82 :デフォルトの名無しさん:2014/03/16(日) 08:51:10.58 ID:WDiZRd/e.net
Python2を使っている人がPython3を使う理由はない
面倒を背負い込むだけ
新規に始めるのならPython3でもよい
問題になる可能性は少ない

言い換えれば全くの新規プロジェクトやるのならPython3でもおk

83 :デフォルトの名無しさん:2014/03/16(日) 08:59:10.78 ID:pXWrRWdV.net
やりたいことに関する対応モジュールあるの確認してからなら3でもいいよ

84 :デフォルトの名無しさん:2014/03/16(日) 09:45:00.08 ID:3n7hj7pi.net
超初歩的な質問なんですが、こういう事がしたいからこのモジュールが必要っていう知識はどうやって身につけるんですか?

85 :デフォルトの名無しさん:2014/03/16(日) 09:46:24.18 ID:pXWrRWdV.net
ggrks

86 :デフォルトの名無しさん:2014/03/16(日) 09:53:15.18 ID:mx8OaDrZ.net
すべての答えが書いてないとダメなんだろうねこういう子

87 :デフォルトの名無しさん:2014/03/16(日) 10:14:00.29 ID:dno/6804.net
>>84
俺はpypiで単語検索して引っかかったやつのリファレンス見るけど。
初心者抜けるか抜けないかぐらいのレベルだから、日本語で使ってる人がいたら参考になるのでなおよし。

88 :デフォルトの名無しさん:2014/03/16(日) 10:28:51.82 ID:nRdR8dPO.net
そこまでくると初心者どころかこのスレ卒業のレベル

89 :デフォルトの名無しさん:2014/03/16(日) 11:39:15.67 ID:q86Th0e7.net
プログラミングはなにか?というところから始まって最終的にはPythonをほぼ完璧にできる本ってありますか?

90 :デフォルトの名無しさん:2014/03/16(日) 11:41:21.08 ID:zg3i1lVV.net
>>84
このスレで聞く

91 :デフォルトの名無しさん:2014/03/16(日) 11:51:03.31 ID:0Al8sGk4.net
何か一冊で終えたい気持ちはわかるが
それはダメだな
本の前提や目的が一見同じでも実際には顕示されないこまい前提や目的がそれぞれ異なっている。
最低三冊から五冊は読みたいところ。

ま、ファイルを読み込んで加工して書き出すとか、そんなレベルでいいなら
本なんかいらんけど。

92 :デフォルトの名無しさん:2014/03/16(日) 12:07:49.76 ID:ThyE+Nxo.net
>>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.net
>プログラミングはなにか?というところから始まって最終的にはPythonをほぼ完璧にできる本ってありますか?
あと、これができる本があったとしても、初めてプログラミング勉強するっていう人にわかり易いとは限らない

ほんと、仮の話だからね

94 :デフォルトの名無しさん:2014/03/16(日) 12:13:41.59 ID:6lDs1CH4.net
まず、英語を勉強します。

というか書いたり話したりはいいとしてもざっくりでも読めないと話にならない。

95 :デフォルトの名無しさん:2014/03/16(日) 12:14:53.08 ID:lQbZRoHX.net
そういや強制IDになったんだな

96 :デフォルトの名無しさん:2014/03/16(日) 12:28:06.38 ID:WDiZRd/e.net
>>94
これこれ
Pythonやる上でもっとも重要なのは英語ドキュメントが読めるか読めないかだよね

掴みの部分は日本語に翻訳されたマニュアルとかチュートリアルで十分な気がする
まったくプログラミング未経験なら話は別だけど基本書籍は不要じゃないかな
でも結局は英語力がないとPythonの蜜を享受できない

97 :デフォルトの名無しさん:2014/03/16(日) 13:52:23.68 ID:FakKHmGN.net
未だに3対応してないようなモジュールならメンテ期待できないし使わない方がいい

98 :デフォルトの名無しさん:2014/03/16(日) 13:56:23.56 ID:6lDs1CH4.net
pythonの2と3の違いってなんかPHPのマイナバージョンの違いよりもだいぶマシにみえる。

99 :デフォルトの名無しさん:2014/03/16(日) 14:52:24.98 ID:H5QOtwKg.net
PythonはHSPのような言語なんだよね。
初心者が最初に学ぶ言語として良く出来てる。
ヒエラルキーの最下層に位置するので人口も多く、情報も多くなることが期待される。
こういった良いこと尽くめの言語なんだけど、所詮は入門言語なので、
いつまでもこれに縛られるのは間違いだと思うよ。
特に世界を変えるような力を秘めた人にとっては。
たかが言語のために、力を正しく使うことなく一生を終えるのだとしたら、
世界にとっても損失です。

100 :デフォルトの名無しさん:2014/03/16(日) 15:13:41.81 ID:MFEQK1M1.net
世界を変えるような力を秘めた人()

101 :デフォルトの名無しさん:2014/03/16(日) 15:16:30.53 ID:zg3i1lVV.net
>>99
どういうところが縛られてるって感じるの?

102 :デフォルトの名無しさん:2014/03/16(日) 15:28:56.18 ID:6lDs1CH4.net
HSPと同列にしちゃうのはどうなんだろ

103 :デフォルトの名無しさん:2014/03/16(日) 15:35:30.78 ID:nRdR8dPO.net
いまどきの BASIC と言われることもあるのでそんなに間違ってないかも
ただ縦を仕込まないのはいただけない

104 :デフォルトの名無しさん:2014/03/16(日) 15:38:21.33 ID:ThPC1gUr.net
python学ぶと自分の生活は便利になります。
でもお金を稼ぐならScalaとJavaを勉強した方が良いかもよ。

105 :デフォルトの名無しさん:2014/03/16(日) 16:22:03.01 ID:1gXwUEhj.net
こんなことを効くのもアレなんだけど
Pythonってどんな用途に向いてる?
逆にどんなことができる?

106 :デフォルトの名無しさん:2014/03/16(日) 16:30:54.48 ID:0Al8sGk4.net
小さなツールをパパっと作るにはいいんじゃない?
俺だとテキストファイルの加工とか
webスペースへのアップロードやそのurl取得やら

107 :デフォルトの名無しさん:2014/03/16(日) 19:06:03.26 ID:H5QOtwKg.net
あなたのような優秀な人がいつまでもPythonを使っていてはいけない。

108 :デフォルトの名無しさん:2014/03/16(日) 19:31:34.57 ID:q86Th0e7.net
>>92
結構道のりはながいね

109 :デフォルトの名無しさん:2014/03/16(日) 19:32:55.21 ID:x0sWcvYB.net
エキスパートパイソン買ってきたー

110 :デフォルトの名無しさん:2014/03/16(日) 19:35:06.25 ID:ThPC1gUr.net
Sageはpython使いまくり
世間のフリーの数学アプリかき集めて
pythonで駆動してノートも作れる。

111 :デフォルトの名無しさん:2014/03/16(日) 20:19:46.56 ID:q86Th0e7.net
pythonだけ勉強してもGoogle入れんよな、C言語も勉強しないとな

112 :デフォルトの名無しさん:2014/03/16(日) 21:21:54.25 ID:6lDs1CH4.net
更にいうとプログラム言語だけ勉強してもGoogleには入れないよ。

113 :デフォルトの名無しさん:2014/03/16(日) 22:52:01.40 ID:PPbZ0xUO.net
何でスレが進んでんのかと思ったら...
くだらん議論でスレ無駄にするなよ

114 :デフォルトの名無しさん:2014/03/16(日) 22:58:34.91 ID:dno/6804.net
ほんと細かい仕事やるときに便利だわ。
おれはメーカーの開発なんだけど、最近はpyvisa使って機器制御してる。
データはxlwtで書き出してる。
veeやらlabviewなんかより手軽にできるし、すげー便利。

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

pythonはメインで使うよりも、他の仕事を簡便にするツールとして使うとすごい捗るんだよ

115 :デフォルトの名無しさん:2014/03/16(日) 23:24:12.79 ID:3n7hj7pi.net
ここはくだスレなのでは…?

116 :デフォルトの名無しさん:2014/03/17(月) 01:38:32.16 ID:bcMygZBw.net
PyPy3なんて作ってたんだな
知らなかった

117 :デフォルトの名無しさん:2014/03/17(月) 16:57:07.17 ID:FaJ3OVKT.net
      | ̄ ̄ ̄ ̄ ̄ ̄ llヽ
      | ┏───┓ ‖|
      | │読むんだ│ ‖|
      | ┗───┛ ‖|
      |            ‖|
      |            ‖|
      |            ‖|
      |______‖|
       ) ≡≡≡≡≡≡)
       ̄ ̄ ̄ ̄ ̄ ̄ ̄




118 :デフォルトの名無しさん:2014/03/17(月) 17:31:23.80 ID:htH3+S84.net
3.4.0 がリリースされたね。
https://www.python.org/downloads/release/python-340/

119 :デフォルトの名無しさん:2014/03/17(月) 18:36:51.27 ID:wtf9R8ct.net
メモ帳からvimへ移行しようと思うのだが、最低限やっとく設定やダウンロードってある?

120 :デフォルトの名無しさん:2014/03/17(月) 19:09:40.99 ID:DC4xYjcz.net
ない!
メモ帳からなら、ない!
たかがメモ帳からvimクラスに移行しようとする奴が
メモ帳とは別世界を求めるなら
1.その差異に感動し
2.どう実現し得るか?
くらい調べながら移行するだろ

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

素晴らしいメモ帳で書いていきましょう

121 :デフォルトの名無しさん:2014/03/17(月) 19:45:54.80 ID:pLvPbkRu.net
>>92
これ難しいな、ドットインストールじゃだめですかね?

122 :デフォルトの名無しさん:2014/03/17(月) 19:47:10.72 ID:pLvPbkRu.net
>>92
これ難しいね、どっとインストールじゃだめですかね?

123 :デフォルトの名無しさん:2014/03/17(月) 21:57:06.22 ID:s4y1IRNR.net
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.net
map(lambda e: '2014_' + e, month)
でも >>123 のほうがいいかと

125 :デフォルトの名無しさん:2014/03/17(月) 22:43:45.00 ID:stkWIQ8K.net
['2014_' + x for x in month]
だよねたぶん

126 :デフォルトの名無しさん:2014/03/17(月) 22:47:42.49 ID:phCKAFNW.net
>>123
同じく。内包表記の方が柔軟※なので、それでいいと思うけど。使い所あるかもしれないので、一応、他の方法も挙げてみる。
# 例えば、monthは小文字にしたいとなった時の、コード変更の手間。mapだと入れ子になってしまう。

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

map("2014_".__add__, month) # 非推奨

127 :デフォルトの名無しさん:2014/03/17(月) 22:48:05.16 ID:OGKb8YmC.net
pythonは複数のテキストやバイナリのシーケンスを与えるとくっつけてくれるからいいよね。

128 :123:2014/03/17(月) 23:16:21.76 ID:s4y1IRNR.net
ご指摘の通り
['2014_' + x for x in month]
です.

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

ありがとうございました.

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

自分の参考しているcsvファイルには、連続した全角空白だけでなく、半角空白も混ざっているかもしれません
このようなものを全て、一つの半角空白文字へ置換したいのですが、どのようにすればいいでしょうか?
宜しくお願いします

130 :デフォルトの名無しさん:2014/03/18(火) 17:46:07.78 ID:bmDKd/3b.net
>>129
re.sub(r'\s+', ' ', str)

原因が文字エンコーディングだったら今どきpython2とか使ってるお前が悪い。

131 :デフォルトの名無しさん:2014/03/18(火) 17:49:51.63 ID:vp/oYBnh.net
時代はパイズリ
パイ2じゃー気持ちよくない

132 :デフォルトの名無しさん:2014/03/18(火) 18:15:34.25 ID:q1puF+Y3.net
>>130
すみませんが、出来ませんでした

>原因が文字エンコーディングだったら
ここが良く分かりませんが、文字コードはUTF-8です

133 :デフォルトの名無しさん:2014/03/18(火) 18:38:48.81 ID:SGm+Hw2x.net
Python2使ってるだろ?
すぐ止めて

134 :デフォルトの名無しさん:2014/03/18(火) 18:53:27.49 ID:SxY9E2cm.net
>>129
import re
target = u'日本商店    東京菓子店前'
re.sub(ur'[  ]+', u' ', target)

target が UNICODE 文字列でない場合は UNICODE 文字列への変換が必要

135 :デフォルトの名無しさん:2014/03/18(火) 20:10:27.03 ID:q1puF+Y3.net
>>134
ありがとうございました
非常に参考になりました

136 :デフォルトの名無しさん:2014/03/18(火) 23:17:16.72 ID:pLXgt70C.net
絶対意味分かってないだろこいつ

137 :デフォルトの名無しさん:2014/03/19(水) 00:11:34.82 ID:fS9ZAZS3.net
>>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.net
ライブラリが対応してるしてない云々の「前に」絶対詰まるんだから
ライブラリを理由にPython2を薦めないで欲しい
そんなの後からやればいい

139 :デフォルトの名無しさん:2014/03/19(水) 00:31:44.48 ID:pgTJKr0l.net
>>138
Pythonを知らないゴミは黙ってください

140 :デフォルトの名無しさん:2014/03/19(水) 00:33:27.20 ID:vyItzuTF.net
>>139
お前はC#スレにいろチンカス野郎

141 :デフォルトの名無しさん:2014/03/19(水) 00:53:53.17 ID:swO6rrOw.net
2を使いこなせない人が必死ですね

142 :デフォルトの名無しさん:2014/03/19(水) 00:57:13.90 ID:pgTJKr0l.net
ほらみろ
新しいものを使いこなせない頭の凝り固まった向上心のない人のレスが
これほどまでの不快感を生む

143 :デフォルトの名無しさん:2014/03/19(水) 01:09:18.76 ID:+MyuchWZ.net
日本語を使うなら、2一択。
3はまだ無理すぎ。
Hello World!レベルなら3でもOK。
実用はまだ無理。

144 :デフォルトの名無しさん:2014/03/19(水) 01:18:46.16 ID:pgTJKr0l.net
pythonに限らずム板の盛り上がってるスレはみんな初心者スレだよね
この初心者スレというのは馬鹿な質問者とカス知識で語りたがる自己顕示欲野郎が入り浸るム板の癌
もうこの板には上級者がいなくなっちゃったね

145 :デフォルトの名無しさん:2014/03/19(水) 08:29:12.04 ID:+fq48j6D.net
>>144
そういう
お馬鹿で不愉快な仲間たちのいるスレ来なければいいのに。
どうして書き込み続けるの?
「俺なんか凄いんだぞ、お前らなんか、チンカス野朗だもん」
と言いたいのかな


君も頭良いとも思えない書き込みだけどね
ていうか精神病かなあ
何故って固執が激しいようだから

146 :デフォルトの名無しさん:2014/03/19(水) 08:38:50.27 ID:pgTJKr0l.net
>>145
そうやって図星つかれて発狂してるから初心者スレは糞のまま
時間をかけてゆっくり糞化していったんだよ
スレ全体の雰囲気を考えない奴がじっくりとスレを荒廃させていった

147 :デフォルトの名無しさん:2014/03/19(水) 08:39:41.26 ID:G3F++Ifs.net
くだらない質問スレ(超初心者用)なんだから、くだらない内容で当然

148 :デフォルトの名無しさん:2014/03/19(水) 08:53:46.83 ID:Q/IJUyZ2.net
>>146
わはは、きみ精神病だろ
図星も何も俺はプログラミング教本書いてるし市販アプリも出してきたし
講演もしてきたし
君、精神病ならではの勘違い思いこみ激しすぎ
いやぁ、笑わせてもらいました

149 :デフォルトの名無しさん:2014/03/19(水) 08:56:28.47 ID:swO6rrOw.net
>>146
上級者のあなたが上級な答えでどんどん回答していけばこのスレも上級なスレになりますぞー!

150 :デフォルトの名無しさん:2014/03/19(水) 09:33:24.27 ID:pgTJKr0l.net
>>147
Python関係で息してるスレなんてここぐらいだろ馬鹿
しかも超初心者用とか謳ってるし、この板ではPython使いはこの程度の馬鹿しかいないってことだろ
こういう糞スレしか勢いがないことに恥を感じろよ

151 :デフォルトの名無しさん:2014/03/19(水) 10:05:05.57 ID:G3F++Ifs.net
>>150
中上級者用の新しいスレを立ててそっちを盛り立てようと改善の努力をせず
超初心者スレでお前らは馬鹿だの自己顕示欲野郎だの、何の役にも立たない
罵倒をしている方が恥ずかしいと思うけど
自分では何も出来ないし、するつもりもないくせに
文句ばかり言ってる新入社員みたいで痛い

152 :デフォルトの名無しさん:2014/03/19(水) 10:16:57.65 ID:swO6rrOw.net
>>150
あーい!恥ずかしくてすみまてぇーん!

153 :デフォルトの名無しさん:2014/03/19(水) 10:20:21.29 ID:Q/IJUyZ2.net
パイソンって
オッパイしか触れなくて損するんてすか?
俺、マンコも触りたいから迷ってます

154 :デフォルトの名無しさん:2014/03/19(水) 10:20:52.09 ID:Q/IJUyZ2.net
わははは

155 :デフォルトの名無しさん:2014/03/19(水) 10:26:59.79 ID:pgTJKr0l.net
>>152-154
こういう奴を大量に抱え込んでるのがPythonスレ
今大量にあぶりでちゃったね
高尚な話をしたいんなら別スレだね、ここにはアホしかいないことを自覚して続けるべき

156 :デフォルトの名無しさん:2014/03/19(水) 10:34:56.64 ID:pgTJKr0l.net
まずこのスレを読んで糞初心者とろくに回答できない初心者がなんか言ってるレベルの傷の舐めあい程度のスレだということは明らか
こういうスレで大真面目に何が得られると期待している輩のほうがよほどおかしい

157 :デフォルトの名無しさん:2014/03/19(水) 10:38:14.42 ID:wMu611r4.net
だったらさっさと出ていきなよ。

158 :デフォルトの名無しさん:2014/03/19(水) 10:38:38.62 ID:Q/IJUyZ2.net
>>155
あらら、精神病君、まだいたんだ
精神病の奴は精神病かどうかについて答えんのが特徴。

さあて、パイソンしないでマンコグリグリするぞぉ

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

よし、オッパイだけで満足できない奴はLispやれ
ただし、バカならやめろ
オッパイで満足してろ

160 :デフォルトの名無しさん:2014/03/19(水) 10:51:22.34 ID:wMu611r4.net
やっぱID付いてると解り易くていいな。

161 :デフォルトの名無しさん:2014/03/19(水) 10:58:50.20 ID:pgTJKr0l.net
ID:wMu611r4みたな何の生産性もないレスを投下していくだけにアホは
出て行ったほうがいいよ

162 :デフォルトの名無しさん:2014/03/19(水) 11:11:49.40 ID:Q/IJUyZ2.net
それは同意だ
俺のように役に立つ書き込みをしろ
今ならLispの基礎のための書籍を原著でも邦訳でもネットからダウンロードできるぞ。
ただだぞ!
無料で東大女とやれる基礎をつけられるんだぞ
The little Schemer
On Lisp
SICP
の順書でやれ
これでおまえも俺と穴兄弟だな

163 :デフォルトの名無しさん:2014/03/20(木) 11:52:09.12 ID:G34tGlIy.net
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.net
>>163
Python以前の問題
本を読むことも出来ない池沼が着ていいスレじゃない、
お前の頭の悪さをどう改善するかが最重要課題

165 :デフォルトの名無しさん:2014/03/20(木) 12:05:44.02 ID:noBkfRX0.net
こいつに回答する人間が同程度のレベルだということを自覚しろよ
遥か上をいくプログラマはこんな馬鹿に相手するだけの価値はないんだからよ

166 :デフォルトの名無しさん:2014/03/20(木) 12:14:58.86 ID:dZthByrU.net
>>163
arr[:, :2]

167 :デフォルトの名無しさん:2014/03/20(木) 12:17:25.93 ID:noBkfRX0.net
↑ほらな、こんなゴミ回答しか出てこないだろ
これが>>163が理解できるのか知らんが
再質問なんかしてスレを汚すことだけは許されんな

168 :デフォルトの名無しさん:2014/03/20(木) 12:18:15.31 ID:G34tGlIy.net
>>166
うまくいきました!ありがとうございます

169 :デフォルトの名無しさん:2014/03/20(木) 12:28:07.19 ID:noBkfRX0.net
うまくいきました(笑)
とりあえず回答もらったからって感謝する馬鹿回答者
うまくいくはずもない嘘回答で結局解決できず馬鹿を見る
再質問するのだけは止めようね、みっともないから

170 :デフォルトの名無しさん:2014/03/20(木) 12:40:50.63 ID:G34tGlIy.net
なんか強烈な人がいらっしゃるようですけど
ちゃんとできたので大丈夫ですよ
http://i.imgur.com/H5Htn8N.jpg

171 :デフォルトの名無しさん:2014/03/20(木) 12:47:39.21 ID:noBkfRX0.net
こんなゴミ回答で出来たってことが恥ずかしくない?
これだからPython信者て思われても仕方ないね
ゴミだからしょうがない

172 :デフォルトの名無しさん:2014/03/20(木) 12:50:27.56 ID:G34tGlIy.net
>うまくいくはずもない嘘回答
>こんなゴミ回答で出来た
論点変わってるんですがそれは大丈夫なんですかね

173 :デフォルトの名無しさん:2014/03/20(木) 12:51:29.46 ID:noBkfRX0.net
>>172
あっさりと解決してもらったはずの用無し質問者がまだうろついてる

174 :デフォルトの名無しさん:2014/03/20(木) 12:52:39.00 ID:G34tGlIy.net
ほら何も言い返せない

175 :デフォルトの名無しさん:2014/03/20(木) 12:54:00.40 ID:noBkfRX0.net
へー質問しにきたと思ったら実は荒らしに来たの?
この馬鹿質問者低レベルな質問しといと嫌がらせに変身したよ
理解不能です

176 :デフォルトの名無しさん:2014/03/20(木) 12:56:31.51 ID:dIZh3UND.net
>>171←これ、かなり劣等感まみれ人間みたいだな
超初心者用スレで何言ってんだか
ひょっとして既に精神病?
どう?精神病ですか?違いますか?

177 :デフォルトの名無しさん:2014/03/20(木) 12:57:51.61 ID:noBkfRX0.net
悔しくてID変えちゃったの?ww
用が済んだら早く出てけば?

178 :デフォルトの名無しさん:2014/03/20(木) 12:57:54.53 ID:G34tGlIy.net
スレタイに超初心者用ってあるんですがそれは…
自分からつっかかってきといて
言い返せなくなったら荒らし認定ですかそうですか

179 :デフォルトの名無しさん:2014/03/20(木) 12:58:51.22 ID:klDTLxpB.net
>>175
あらら、なんだもろに精神病なんだ
背伸びするから劣等感激しくなり、それを偽装しようとするから精神病になったんだろ?

180 :デフォルトの名無しさん:2014/03/20(木) 12:59:09.61 ID:noBkfRX0.net
このスレはね、自己顕示欲したいがために勝手に馬鹿が立てたスレなんだよ
まんまと自己顕示欲を満たしてしまったね、このスレの常駐回答キチガイに

181 :デフォルトの名無しさん:2014/03/20(木) 13:00:33.94 ID:G34tGlIy.net
仮にそうだったとしても質問者は回答がもらえて
回答者は自己顕示欲を満たせる
誰も損してないんだよなぁ…

182 :デフォルトの名無しさん:2014/03/20(木) 13:01:21.84 ID:noBkfRX0.net
ム板を汚し続けてるんだよ、お前らが好き勝手にスレをぐちゃぐちゃにするから
そして上級者がいなくなった

183 :デフォルトの名無しさん:2014/03/20(木) 13:01:47.05 ID:klDTLxpB.net
>>177
おーい、精神病はメンヘルスレに行くか
交番襲撃して刑務所入ってな、カス
俺がお前に似合った襲撃法を教えてやるから、
いいか、チンチンおったてて
(肉棒かかげ、国後に上陸せよ、組み伏せ金髪ロシア女)
と叫びながら交番の中でしごけ、ドンドンしごけ

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

さあ、いってこいカス

184 :デフォルトの名無しさん:2014/03/20(木) 13:03:46.93 ID:noBkfRX0.net
また自己顕示欲回答を阻害されてイライラしてる常駐回答マンか?
精神病はお前のほうじゃねえの?スレにへばり付いて回答しまくるとか考えられん
上級者は愛想尽かして消えちゃったんだよ

185 :デフォルトの名無しさん:2014/03/20(木) 13:04:48.32 ID:G34tGlIy.net
歴史的経緯はしらないけど
今こうして超初心者用スレがあるんだから住み分けできてるでしょ
質問したい超初心者でもなく回答したい訳でもなく
何がしたくてこのスレ見てるんですかね…

186 :デフォルトの名無しさん:2014/03/20(木) 13:07:01.94 ID:noBkfRX0.net
超初心者スレしか重要がないほどPythonも信者も廃れたって事だよ
少なくともこのム板ではね、あるだけ無駄だからこのスレは削除すべき

187 :デフォルトの名無しさん:2014/03/20(木) 13:07:48.03 ID:G34tGlIy.net
だめだ話が通じない

188 :デフォルトの名無しさん:2014/03/20(木) 13:08:04.41 ID:kBPotTsg.net
この季節はどこの板にもこんなのが湧くので
絡まずにスルーしてればいいですよ

189 :デフォルトの名無しさん:2014/03/20(木) 13:09:47.67 ID:noBkfRX0.net
今のほかのPythonスレ見てみ、みんな死んでるスレだよ
勢いがあるのかこういう糞質問と糞回答をするだけのスレ
ム板のPythonはこの程度

190 :デフォルトの名無しさん:2014/03/20(木) 13:17:05.59 ID:dZthByrU.net
荒らしに構ってはいけない

191 :デフォルトの名無しさん:2014/03/20(木) 13:18:16.88 ID:8dWNNfj8.net
春休みなのか知らないけど
相手しちゃ駄目

今日のID
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html

192 :デフォルトの名無しさん:2014/03/20(木) 13:19:33.63 ID:noBkfRX0.net
さんざんわけのわからない弁解しておいて今更荒らしに構うなですか
これはもう私の自動的な勝利ですね

193 :デフォルトの名無しさん:2014/03/20(木) 13:24:44.95 ID:4cqWGiXB.net
>>184
おやおや、どうして答えない?
精神病なのかどうか?
ほら、答えな

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

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

さあ、答えてみな、カス君

194 :デフォルトの名無しさん:2014/03/20(木) 13:33:02.10 ID:noBkfRX0.net
俺と混同してるとか言っておきながらIDが単発なのはなぜでしょうね

195 :デフォルトの名無しさん:2014/03/20(木) 13:48:45.37 ID:dIZh3UND.net
>>194
うわっ!
精神病かどうか答えないな、
それは精神病の実は特徴なんだよ

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

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

さてさて、精神病で低偏差値で無知で
よく生きてるな?!
わはは!!!

196 :デフォルトの名無しさん:2014/03/20(木) 13:54:57.49 ID:G34tGlIy.net
>>191
うわぁこんなの相手にしてたのかと思うと恥ずかしい…

197 :デフォルトの名無しさん:2014/03/20(木) 13:56:16.96 ID:noBkfRX0.net
精神病じゃねえよ
どうせスマホでIP変えまくってんだろーが

198 :デフォルトの名無しさん:2014/03/20(木) 13:57:21.44 ID:noBkfRX0.net
意図的にIP変えまくりのキチガイが人を精神病呼ばわりスンナ

199 :デフォルトの名無しさん:2014/03/20(木) 14:25:33.41 ID:YYkkDc7U.net
必死を貼られまいと3回線用意しても無駄ですねこれでは

200 :デフォルトの名無しさん:2014/03/20(木) 15:02:08.12 ID:dJtAx16S.net
ttp://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html

こういう奴って生きてて何が楽しいんだろう?

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

おまえ、ほんとにわかりやすい馬鹿丸出しだな
ひょっとして高校中退?

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

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

病院いってこい
頭悪いのは諦めろ、な!
低偏差値君

203 :デフォルトの名無しさん:2014/03/20(木) 17:47:15.65 ID:jX7CIeWF.net
芽吹いとるがな

204 :デフォルトの名無しさん:2014/03/20(木) 18:31:00.73 ID:ROJkfH/r.net
なんで日本の情報系って無能で協調性無いやつが沸くのかね

205 :デフォルトの名無しさん:2014/03/20(木) 21:03:02.04 ID:YYkkDc7U.net
愚問〜どちらか当てはまらないなら他に行き場があるw

206 :デフォルトの名無しさん:2014/03/21(金) 01:27:27.48 ID:Acj2Tqat.net
昨日
http://hissi.org/read.php/tech/20140320/bm9Ca2ZSWDA.html
一昨日
http://hissi.org/read.php/tech/20140319/cGdUSktyMGw.html

207 :デフォルトの名無しさん:2014/03/21(金) 02:38:24.75 ID:JRSSC6YG.net
ここ数日暖かいからな
変なのが湧いてきたな

208 :デフォルトの名無しさん:2014/03/21(金) 05:00:12.71 ID:cquHSgcT.net
君たちが頭悪いだけじゃないか?

209 :デフォルトの名無しさん:2014/03/21(金) 08:13:41.77 ID:/llxx+Fl.net
そして今日
http://hissi.org/read.php/tech/20140321/WjgyK3owbFg.html

210 :デフォルトの名無しさん:2014/03/21(金) 10:45:04.38 ID:cquHSgcT.net
>>209
こういうことをする人って大概、精神病だろ?
わざわざ粘着して調査公表

ねえねえ、どういう病名?
入院歴は?

211 :デフォルトの名無しさん:2014/03/21(金) 10:49:33.45 ID:X9FAScz3.net
いなくなるまで毎日貼っといて

212 :デフォルトの名無しさん:2014/03/21(金) 10:50:23.96 ID:b7iVFJmQ.net
精神病の人が他人を精神病扱いして騒いでるな。わざわざID変えて。

213 :デフォルトの名無しさん:2014/03/21(金) 10:55:37.37 ID:C4zm/UMW.net
メンヘラvsメンヘラか
いいぞ争え

214 :デフォルトの名無しさん:2014/03/21(金) 11:56:45.46 ID:Q/GGBYV0.net
import calmness

215 :デフォルトの名無しさん:2014/03/21(金) 12:50:13.61 ID:Z82+z0lX.net
ここにいるPython馬鹿はインポート寄生虫だろ
脳に寄生虫が巣食っててるから支離滅裂な回答してくる

216 :デフォルトの名無しさん:2014/03/21(金) 12:57:09.36 ID:eibr9P7Y.net
よほど慌ててんだな

217 :デフォルトの名無しさん:2014/03/21(金) 17:39:52.10 ID:KG37XIJe.net
pythonエキスパート読んでて
appendって使わないんですか?

218 :デフォルトの名無しさん:2014/03/21(金) 17:43:16.09 ID:Z82+z0lX.net
少なくとも馬鹿は使わない
>>217みたいな

219 :デフォルトの名無しさん:2014/03/21(金) 17:45:44.54 ID:+gzihxYI.net
>>212
でたでた、お前、毎回同じこと言ってる精神病だろ?

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

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

しねよクズ

220 :デフォルトの名無しさん:2014/03/21(金) 18:16:29.21 ID:Z82+z0lX.net
ID変えさえすればこういう↑精神病の粘着荒らしは問題視されないのかね?

221 :デフォルトの名無しさん:2014/03/21(金) 18:27:14.32 ID:nMEoDYxt.net
>>220
俺が精神病?笑わせてくれるな
よほど三流校出身者だろ?
判断が酷すぎる
バカは黙って引きこもってろ

222 :デフォルトの名無しさん:2014/03/21(金) 19:47:59.79 ID:Z82+z0lX.net
すくなくとも文体から同一人物であることは自明

223 :デフォルトの名無しさん:2014/03/21(金) 23:55:30.92 ID:EHbxCFF7.net
python3.x系のを一つのexeにまとめる方法はまだ無いの?
PyInstallerは対応してないしPy2exeは一つにまとまらないし

224 :デフォルトの名無しさん:2014/03/22(土) 00:11:44.74 ID:Mt3jN67W.net
自分が知らなければ「まだ」なのか

225 :デフォルトの名無しさん:2014/03/22(土) 00:15:21.69 ID:+2B6OEdX.net
ほらPython馬鹿はこれだ

226 :デフォルトの名無しさん:2014/03/22(土) 06:27:50.15 ID:5gx6vbDt.net
>>222
自明のいう言葉を安易に使うあたり
きみ、精神病だろ

227 :デフォルトの名無しさん:2014/03/22(土) 06:29:22.84 ID:5gx6vbDt.net
ここ、精神病でかつ無能なのご徘徊してるな
所詮、バカでも挑戦できる言語スレだな

228 :デフォルトの名無しさん:2014/03/22(土) 07:50:14.24 ID:fto4Ouyf.net
>>226
> 自明のいう言葉

かみかみやん (w

229 :デフォルトの名無しさん:2014/03/22(土) 10:35:15.56 ID:KNAyFIgT.net
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.net
ヤフーのトップから以下の要素を取得したいんですが、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.net
エンコード指定しろ
euc-jpとかutf-8とか

232 :デフォルトの名無しさん:2014/03/22(土) 11:51:12.90 ID:ojADl8Uz.net
日本語扱いたければ"u"つけろとかいう
断片的なことしか理解してないんだなこれは

233 :デフォルトの名無しさん:2014/03/22(土) 12:16:48.70 ID:h4m0yMGm.net
>>230
source の中に目的の要素が入ってるか確認してみて
open("index.html", "w").write(source) とかで

234 :デフォルトの名無しさん:2014/03/22(土) 12:19:16.08 ID:5oW3ItWU.net
soup = soup.decode('utf-8', 'replace')
soup = BeautifulSoup(source, fromEncoding='utf-8')

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

>>233
要素は間違いなくありました。
日本語要素でなければ取得できましたので、エンコードの関係だと思います。

235 :デフォルトの名無しさん:2014/03/22(土) 12:29:13.41 ID:q0Uao2gL.net
>>230
そもそもttp://yahoo.co.jpのソースにspanタグ無くね?

236 :デフォルトの名無しさん:2014/03/22(土) 12:33:23.24 ID:h4m0yMGm.net
>>234
試してみたけど soup.findAll("img", {"alt": u"写真"}) は取れる

> 要素は間違いなくありました。
ブラウザで開いてソース閲覧とかしてない?
もしそうなら >>233 で保存したソースについて確認してみて

237 :デフォルトの名無しさん:2014/03/22(土) 12:40:09.41 ID:Nsic/UJL.net
javascriptで生成してるっぽいね
Seleniumの出番か

238 :デフォルトの名無しさん:2014/03/22(土) 13:03:57.87 ID:5oW3ItWU.net
>>236
本当ですね。
保存したら古い感じのYAHOOが表示されました。
UA指定してないからとかじゃなくてjavascriptですか・・
>>237
Selenium調べてみます!ありがとうございます。

239 :デフォルトの名無しさん:2014/03/23(日) 00:00:45.04 ID:AY0ttai1.net
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.net
書き込み時間が完全にニート

241 :デフォルトの名無しさん:2014/03/23(日) 00:11:06.09 ID:Zo8uS5e/.net
つまり完全無欠ってことだな

242 :デフォルトの名無しさん:2014/03/23(日) 00:26:32.41 ID:MIluuzdu.net
おそろしい

243 :デフォルトの名無しさん:2014/03/23(日) 01:31:21.55 ID:BoG2P7C1.net
つまり読むんだ

244 :デフォルトの名無しさん:2014/03/23(日) 08:58:04.95 ID:qMTToUJW.net
classを定義するとき、Javaみたいにprivateやprotectedなスコープの設定はできますか?

モジュールの中からでしか使えないclassを定義したいです

245 :デフォルトの名無しさん:2014/03/23(日) 09:24:20.03 ID:qMTToUJW.net
ついでに、classだけじゃなくてモジュールに定義する関数も、モジュール外からアクセスさせたくないです。

246 :デフォルトの名無しさん:2014/03/23(日) 10:13:09.62 ID:vQe6VsWb.net
アンスコ、アンスコ!

247 :デフォルトの名無しさん:2014/03/23(日) 10:23:11.87 ID:qMTToUJW.net
アンスコってclassにも有効かしらん?

248 :デフォルトの名無しさん:2014/03/23(日) 11:30:19.10 ID:Zo8uS5e/.net
アクセスすると例外が起きるような機能を想像してるなら、そういう機能はない

249 :デフォルトの名無しさん:2014/03/23(日) 11:35:57.69 ID:aZEDGIiQ.net
アンスコついてたらアクセスするの控えてねってだけ

250 :デフォルトの名無しさん:2014/03/23(日) 13:44:41.73 ID:LwVxNWuC.net
ゴミPythonはじだいおくれだからさっさと移行
質問禁止

251 :デフォルトの名無しさん:2014/03/23(日) 13:48:00.82 ID:qMTToUJW.net
なるほど
紳士協定っすね

>>250
何に移行すりゃいいんです?ま、まさかRubyとか言わないよね?ガクガク

252 :デフォルトの名無しさん:2014/03/23(日) 19:00:20.59 ID:0p+ZCgI9.net
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.net
>>252
馬鹿には無理すぎる言語なので
このスレで質問する前にまず勉強しろ
回答がついても、そいつは馬鹿な質問に答えられるだけしか能力をもたないクズだから

254 :デフォルトの名無しさん:2014/03/23(日) 19:23:46.84 ID:Zo8uS5e/.net
http://hissi.org/read.php/tech/20140323/THdWeE5XdUM.html

255 :デフォルトの名無しさん:2014/03/23(日) 19:27:28.61 ID:syO46+Zy.net
この手のスレで質問していいレベルの質問ってどんなんだろうな
いい機会だからお前例示してみてよ

256 :デフォルトの名無しさん:2014/03/23(日) 19:30:40.61 ID:LwVxNWuC.net
>255
お前こそ糞回答しかできないかじりつきPythonグラマー
ゴミうんこ糞糞クズカスが

257 :デフォルトの名無しさん:2014/03/23(日) 19:31:21.16 ID:Zo8uS5e/.net
う〜ん語彙に乏しい感じがなあんとも

258 :デフォルトの名無しさん:2014/03/23(日) 19:32:03.70 ID:LwVxNWuC.net
ゴミPythonマンはこの程度
いいから本を読め、情弱

259 :デフォルトの名無しさん:2014/03/23(日) 19:37:05.02 ID:0mR+ECdw.net
>>258
どの本を読めばいいんですか?
アフィリエイト付きのリンクでいいんで紹介してください

260 :デフォルトの名無しさん:2014/03/23(日) 19:45:10.09 ID:LwVxNWuC.net
とにかく片っ端からPython本を読み漁れ
そしてコードを書きまくれ
そしたらこのスレは全然いらなくなる

261 :デフォルトの名無しさん:2014/03/23(日) 19:47:09.36 ID:hZ1zX5Vz.net
>>259
あらゆる言語スレで噛み付いてるニートなので触らないでください。
>>254

262 :252:2014/03/24(月) 03:36:00.54 ID:yrWGnhR/.net
自己解決したので一応報告します。
チュートリアルが古すぎてダウンロードさせるファイル同士のバージョンが合ってなかったようです。
http://django-nonrel.org/でインストールの手引を読みそこのリンクからダウンロードしなおしたところ動きました。
スレ汚し失礼しました。

263 :デフォルトの名無しさん:2014/03/24(月) 11:20:49.41 ID:xSwd0cOh.net
知ってたよ

264 :デフォルトの名無しさん:2014/03/24(月) 12:13:01.70 ID:iN+OyuMJ.net
自己解決したので=このスレは必要なかった
つまりここにいるのはゴミばかりで役に立たない

265 :デフォルトの名無しさん:2014/03/24(月) 12:54:09.00 ID:BAuNFOlG.net
http://hissi.org/read.php/tech/20140324/aU4rT3l1TUo.html

266 :デフォルトの名無しさん:2014/03/24(月) 15:08:48.41 ID:i6BIeOy/.net
すごい執念だ

267 :デフォルトの名無しさん:2014/03/24(月) 15:49:31.69 ID:BAuNFOlG.net
煽りだけで具体的なのが何一つ無いのがすごいよな

268 :デフォルトの名無しさん:2014/03/24(月) 17:12:15.98 ID:A26SCJHG.net
どうだおそれいったか

269 :デフォルトの名無しさん:2014/03/24(月) 22:59:49.15 ID:mMxAuWzq.net
すみません、エラーについて教えてください。
職場にコードを書ける人間が皆無の職場で一人、先週より業務の自動化を進めようとしています。
が、エラーの原因を調べられず、困っています。

環境(バージョン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.net
>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.net
>>269
あんま詳しく見てないけど、空の行を読んでsplitしてるから結果のリストが参照の範囲から外れてる、とかじゃない?

272 :デフォルトの名無しさん:2014/03/24(月) 23:14:04.77 ID:mMxAuWzq.net
>>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.net
馬鹿には無理

274 :269:2014/03/24(月) 23:17:07.86 ID:mMxAuWzq.net
読み込むテキストファイルは以下のような数値の組が5000行ほどです。

0 204.3333
1 216.3333
2 230.6667
3 237.3333

275 :デフォルトの名無しさん:2014/03/24(月) 23:17:23.88 ID:3YMAtZN+.net
何かの記録に挑戦してるのか知らんがちょっと単調だな

276 :デフォルトの名無しさん:2014/03/24(月) 23:19:51.53 ID:PtDfnD0y.net
>>272
それはIDEの何かでエラーになってる
そのエラーのせいで二つ目のエラーが起きてるようには思えない

277 :デフォルトの名無しさん:2014/03/24(月) 23:21:56.94 ID:iN+OyuMJ.net
馬鹿には無理すぎる言語なので諦めてください

278 :269:2014/03/24(月) 23:27:40.84 ID:mMxAuWzq.net
>>276
ありがとうございます!
思い込みで1つめのエラーばかり調べていました。

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

もう少し調べてみますが、また進めそうです。

279 :デフォルトの名無しさん:2014/03/24(月) 23:28:25.97 ID:iN+OyuMJ.net
>>278
お前には一生かかっても無理
プログラミングなんかやめろ
ドカタの運命だから

280 :デフォルトの名無しさん:2014/03/24(月) 23:30:13.53 ID:62qhDG+k.net
>>272
見当違いだったら申し訳ないが、新しくファイル作って、全文コピーして改めて動かして見て。

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

その時は改めてファイル作ってコピペしたら動いたんだがどうだろう。

281 :デフォルトの名無しさん:2014/03/24(月) 23:33:06.41 ID:iN+OyuMJ.net
>>280
Pythonを知らないゴミが回答してんじゃねーよクズ
消えろチョウセン人、スレを汚すなクズ野郎
お前はさっさとオナニーコード書いてバグだして糞して寝ろ

282 :デフォルトの名無しさん:2014/03/24(月) 23:42:09.00 ID:UzrSJmvl.net
関係ないけど .txt で終わるかどうか判定だけなら file.endswith(".txt") がいい(たぶん)

283 :デフォルトの名無しさん:2014/03/24(月) 23:47:17.30 ID:iN+OyuMJ.net
>>282
たぶんじゃねえよ馬鹿、じゃあ答えるな
回答にもなってないし、知識のないアホは来るな

284 :デフォルトの名無しさん:2014/03/24(月) 23:49:44.21 ID:3YMAtZN+.net
そろそろアク禁発動しそうだな。
コイツが俺と同じプロバイダでありませんように・・・

285 :デフォルトの名無しさん:2014/03/24(月) 23:51:33.49 ID:iN+OyuMJ.net
>>284
知識のない馬鹿は来るなって言ってるだろうが!
マジ迷惑なんだよ、お前みたいな横やり野郎は
うざいだけ、自覚のない荒らしだろお前

286 :デフォルトの名無しさん:2014/03/24(月) 23:52:05.65 ID:HS2n3CGr.net
>>283
コテつけることも出来ないゴミ屑がしゃしゃり出るんじゃねーよ
そんなに叩かれるのが怖いの?
人のことボロクソ言うくせに自分が叩かれるのは嫌とかなめてんじゃねーぞ糞ニート働けや屑

287 :デフォルトの名無しさん:2014/03/24(月) 23:56:52.89 ID:UzrSJmvl.net
>>283
敢えて相手する(以降は一切相手しない)けど、
混乱を避けて関係ないけどと前書きしてちょっと役立つかも知れない情報を足すことを非難される謂れはないし、
たぶんの但し書きにしても不必要な断定よりはよほど誠実な上他の人が訂正してくれる可能性だって開いてると僕は思う。
そして一切建設的な話をせずにそういうこと言ってるだけの貴方が口を出す資格もない。
僕のことをアホって言うならそれはいいけど、僕や彼のために間違ってるなら訂正してよ

288 :デフォルトの名無しさん:2014/03/25(火) 00:00:58.48 ID:iN+OyuMJ.net
>>287
ふざけんな、糞みたいな嘘情報を吐いておいて
正義面すんな、スレを汚しておいて酷い言葉だな

289 :デフォルトの名無しさん:2014/03/25(火) 00:01:53.27 ID:9Vi74SGG.net
3/15 ID:mV9AzqW8 14レス1位
http://hissi.org/read.php/tech/20140315/bVY5QXpxVzg.html
3/16 ID:+0w7Q/Uu 67レス1位
http://hissi.org/read.php/tech/20140316/KzB3N1EvVXU.html
3/17 ID:qNLDgXjv 58レス1位
http://hissi.org/read.php/tech/20140317/cU5MRGdYanY.html
3/18 ID:G12u9CCe 71レス1位
http://hissi.org/read.php/tech/20140318/RzEydTlDQ2U.html
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
3/23 ID:LwVxNWuC 51レス1位
http://hissi.org/read.php/tech/20140323/THdWeE5XdUM.html
3/24 ID:iN+OyuMJ 61レス1位
http://hissi.org/read.php/tech/20140324/aU4rT3l1TUo.html

290 :デフォルトの名無しさん:2014/03/25(火) 00:03:04.09 ID:9Vi74SGG.net
働けゴミ屑ニート

291 :269:2014/03/25(火) 00:15:40.04 ID:ZcEuDk3W.net
アドバイスをありがとうございます。
煽りの人は非表示にしたので、IDも確認できなくなっています。

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

>>282
ありがとうございます。調べてみます。
ちなみに glob.glob('*.txt') とでは、どちらがオススメというのはありますでしょうか。
別のエラー対策のために調べているとこれが目について、これに変えようかと思っていたのですが・・・。

292 :デフォルトの名無しさん:2014/03/25(火) 00:18:09.50 ID:bvFcvrs8.net
>>201
おいチョーセンヒトモドキ調子に乗るなよ!
てめーみたいなクズがいるからゴミ質問者を呼び寄せてるんだろうが
マジで低能さを自覚しろよな、それが出来ないからこのスレにいるんだろ?

293 :デフォルトの名無しさん:2014/03/25(火) 02:57:12.91 ID:RstUBxh7.net
>>291
単純に入力ファイルのフォーマットがきちんとしてないだけじゃね?
タブ区切りじゃない行があるんだよきっと

スマホなんでスペース区切りになってるけど
ttp://ideone.com/xgjFQR

294 :269:2014/03/25(火) 07:58:26.87 ID:ZcEuDk3W.net
>>293
2つめのエラーは、目的とは別のファイルを意図せず読み込んでいたことが原因でした。

1つめのエラー(IDEのエラー?)は、原因は不明ですが、動作に影響を及ぼさないように見えるので、放置しようかと思っています。

295 :デフォルトの名無しさん:2014/03/25(火) 12:26:22.00 ID:bvFcvrs8.net
>>294
ゴミチョーセン人入りましたー
Pythonやってるゴミはこんなかんじの質問をする馬鹿野郎です^^;

296 :デフォルトの名無しさん:2014/03/25(火) 12:30:57.05 ID:QQ/VYTXH.net
レイシストが人のことゴミって言ってますね・・・

297 :デフォルトの名無しさん:2014/03/25(火) 12:43:27.80 ID:iaFhKYFb.net
レイシストなんていませんよ
ゴミは人間じゃありませんから

298 :デフォルトの名無しさん:2014/03/25(火) 19:16:26.11 ID:/Po8Mpe4.net
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.net
>>298
c:\Python33\python.exe setup.py とか
py -3 setup.py とか。

300 :デフォルトの名無しさん:2014/03/25(火) 19:31:30.36 ID:/Po8Mpe4.net
インストールできてないと思ったのは勘違いでした
すみません><

301 :デフォルトの名無しさん:2014/03/25(火) 23:24:04.90 ID:kzK0jd5T.net
教えて下さい。
nameという多数項目があるリストに共通の変数を指定したいんですが、
以下のようにすることってできますか?

abc = '共通ワード'
name = ['%sあああ',
'%sいいい',
'%sううう',
'%sえええ',
'%sおおお'] % abc

302 :デフォルトの名無しさん:2014/03/25(火) 23:41:36.52 ID:LnHxQXcr.net
word = '共通ワード'
names = ['%sあああ', '%sいいい', '%sううう', '%sえええ', '%sおおお']
[name % word for name in names]

303 :デフォルトの名無しさん:2014/03/25(火) 23:54:56.86 ID:kzK0jd5T.net
>>302
すみません、よくわかりません・・
names[0]はどうやって取り出せますか?

304 :デフォルトの名無しさん:2014/03/26(水) 00:07:01.27 ID:ntkBkCsU.net
[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.net
>>304
ありがとうございます!理解できるようにがんばります

306 :デフォルトの名無しさん:2014/03/26(水) 18:37:18.95 ID:f/bZCXoV.net
辞書型について、値からその値に対応するキーを取り出す方法はありますか??

どうぞよろしくお願いします。

307 :デフォルトの名無しさん:2014/03/26(水) 18:56:51.80 ID:ntkBkCsU.net
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.net
値がユニークだと保証されてるなら、
逆引き用に 値=>キーの辞書を準備する。

全部の値を調べるのは、効率よくない。

309 :デフォルトの名無しさん:2014/03/26(水) 21:17:13.09 ID:f/bZCXoV.net
>>307
>>308
ありがとうございます!

310 :デフォルトの名無しさん:2014/03/28(金) 09:39:37.44 ID:mS7OAMes.net
datetime.datetimeにメソッドnowが含まれているか判定する方法を教えてください
以下コードではエラーがでてダメでした

import datetime
print("now" in datetime.datetime)

311 :デフォルトの名無しさん:2014/03/28(金) 10:10:10.08 ID:RG6zDzQP.net
>>> import datetime
>>> hasattr(datetime.datetime, "now")
True

312 :デフォルトの名無しさん:2014/03/28(金) 11:58:12.25 ID:uNNog8Xc.net
GUIをxmlとかで定義して書くフレームワークってあります?
pyqtとかはできないですよね

313 :デフォルトの名無しさん:2014/03/28(金) 17:49:49.76 ID:6R0nhY/g.net
>>312
Qt の UIファイルも XML だよ

314 :デフォルトの名無しさん:2014/03/28(金) 18:50:56.63 ID:GeibCDDV.net
GUIアプリ作ったことないんですけど
デザインの細かい微調整はcssで書くんですか?

315 :デフォルトの名無しさん:2014/03/28(金) 18:53:20.87 ID:xiFoJHqm.net
mxmlとかじゃないの

316 :デフォルトの名無しさん:2014/03/28(金) 19:50:55.78 ID:6R0nhY/g.net
>>314
Qt だったら、スタイルシートをサポートしてるので cssで書けます

微調整では、調整したい部分がスタイルのサポート外の項目だったりすると
独自にレンダリングする事になる場合もある。HTML/CSSと比べると若干限定的。

317 :デフォルトの名無しさん:2014/03/28(金) 21:09:06.83 ID:GeibCDDV.net
>>316
おお、cssで書けちゃうんですね
挑戦してみたくなってきましたありがとうございます

318 :デフォルトの名無しさん:2014/03/29(土) 17:15:57.51 ID:HKwZs3/Z.net
あるサイト用に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.net
見た感じsys.pathに相対パスぶっこんでるけどos.getcwdはちゃんとそのPythonScriptのディレクトリにいるのか?

320 :318:2014/03/29(土) 17:52:19.70 ID:HKwZs3/Z.net
>>319
スミマセン!実際のスクリプトでは絶対パスを指定しています。
申し訳ないですm(_ _)m
popenに渡すコマンドもcommon.pyの絶対パスを渡しています

321 :318:2014/03/30(日) 19:28:15.56 ID:5IXyOJ76.net
解決しました。原因はファイルのパーミッションでした。
自作ライブラリ(python)はCGIを意識したパーミッションにしてたのですが、
PHPに合ってなかったと思われます。
例外メッセージだけじゃなく、最初から詳細なトレースを見てれば・・・orz

それにしてもPIPEでつないだ別スクリプトが
呼び出し側の言語のその種の影響を受けるとは思いもしなかったです。
サーバ移転後の調整だったんですが、移動前は問題なかったので、
なんらかのサーバ設定が影響してるのかもしれません。

322 :デフォルトの名無しさん:2014/03/30(日) 21:39:15.10 ID:E0lDtgpr.net
●すぺっく
環境: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

323 :322:2014/03/30(日) 21:41:20.91 ID:E0lDtgpr.net
すみませんずれました
エラーメッセージの^はpillowの下でした

324 :デフォルトの名無しさん:2014/03/30(日) 21:59:08.26 ID:dj4/IrM6.net
コマンドプロンプトから python3.3 を起動して easy_install pillow するんじゃなくて
コマンドプロンプトで easy_install pillow するんだお

もし easy_instal が見つからないとか言われたら PATH 環境変数に easy_install のある場所を記述する
やり方わからなかったらぐぐって

325 :デフォルトの名無しさん:2014/03/30(日) 23:04:49.77 ID:objtytT6.net
>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/.net
Pythonがはやらないのは日本人にとって卑猥に感じるからだろ

327 :デフォルトの名無しさん:2014/03/30(日) 23:19:23.49 ID:stNcjo4d.net
いや英語が・・・そうですその通りですはい。

328 :デフォルトの名無しさん:2014/03/30(日) 23:45:51.68 ID:UzyQXOYA.net
It's

329 :322:2014/03/31(月) 00:08:13.87 ID:qgORhrHF.net
>>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.net
WindowsだとZIPやインストーラ付きが早い気がする。

331 :デフォルトの名無しさん:2014/03/31(月) 00:14:53.23 ID:G6rvMnNu.net
Python3は2010だよん

まあ>>330が言うように大人しくインストーラ付きを使うべき

332 :デフォルトの名無しさん:2014/03/31(月) 00:33:47.87 ID:y+1N86iA.net
ビルド環境か用意するとか大変すぎる。かわいそうに
Windows でインストーラ付きというとこのへん?
http://www.lfd.uci.edu/~gohlke/pythonlibs/

333 :デフォルトの名無しさん:2014/03/31(月) 00:49:39.07 ID:u+KzIncY.net
俺はpip試して、だめだったらeasy_install.最後にバイナリ使ってるわ

334 :322:2014/03/31(月) 01:14:00.71 ID:qgORhrHF.net
結局

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.net
別に間違ってはいないと思うけどプログラミング環境だけで
みたら何かと面倒なのは確か。Mingwとかもっと成果でて欲しい。

336 :デフォルトの名無しさん:2014/03/31(月) 01:24:32.78 ID:Pu6KWQGV.net
>>334
>>325みたいにpipじゃだめなん?

337 :デフォルトの名無しさん:2014/03/31(月) 01:30:03.98 ID:ZZGoN0RA.net
winならcygwin検討するといいよ

338 :322:2014/03/31(月) 01:48:22.69 ID:qgORhrHF.net
pillowのインストールはpipサポートしてないみたいでした
cygwinみてみます unixは10年以上前にちょっとだけさわって忘れたけど・・・

339 :デフォルトの名無しさん:2014/03/31(月) 10:07:45.68 ID:G6rvMnNu.net
eggsは駄目だけどwheelなら行けるよ
コンパイラ入ってないと駄目なのは変わらんが

340 :デフォルトの名無しさん:2014/04/01(火) 14:20:18.36 ID:PHZiz/BC.net
Python 3でNOPに相当する文ってあるのかな?
一つのソースから、複数のリリースソースを自動生成しているんだけど、
不要な行を出力しないようにすると、行番号が変わってしまうし、
空行やコメントに置き換えると後工程の最適化処理で消えてしまう。
正直、このやり方自体よくないと思うんだが、権限なくてどうにもならん。
C系の言語で言うところの下のような文が書けると助かるんだけど
何かいい方法とか教えてもらえれば凄く助かる。

if (foo)
;
else
bar;

341 :デフォルトの名無しさん:2014/04/01(火) 14:29:00.51 ID:Vx4bzGi5.net
pass

342 :340:2014/04/01(火) 14:33:37.05 ID:PHZiz/BC.net
>>341
おお、感動するほど早いレスありがとう。
Simple statementsなんて項目あったのか。
完全にドキュメントの読み落しで恥ずかしい限り。
勉強することはいくらでもあって楽しみは尽きんね。

343 :デフォルトの名無しさん:2014/04/02(水) 01:29:10.67 ID:GGoraSqn.net
リスト(タプル)の要素が全部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.net
>>343
すんげーダサいけど
set(a) == {None}

345 :デフォルトの名無しさん:2014/04/02(水) 01:49:11.22 ID:dJIwdhJE.net
Noneだとあとはall(n is None for n in a)とか

Falseや0でもいいならnot any(a)でいいと思うが

346 :デフォルトの名無しさん:2014/04/02(水) 01:59:29.45 ID:GGoraSqn.net
>>344,345
ありがとうございます。
any() は見落としてました。
re.search() の結果のチェックだけなので not any() で行けそうですありがとうございました。

347 :デフォルトの名無しさん:2014/04/02(水) 23:27:14.84 ID:UvZlR9+v.net
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を両辺に持ってくるのか
というか、全体的に理解できないです。宜しくお願いします。

348 :347:2014/04/02(水) 23:34:22.35 ID:UvZlR9+v.net
書き忘れましたが、このプログラムの意図は
週ごとのコインの枚数を、52週分求めようということです
一週間目は20+70*1-3*1=87枚のコインがある
二週間目は20+70*2-3*2=154枚のコインがあるということです

349 :デフォルトの名無しさん:2014/04/02(水) 23:37:15.06 ID:OWc61VjV.net
>>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.net
>>347
>A coins = coins + magic_coins - stolen_coinsで、なんでcoinsを両辺に持ってくるのか

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

数学の世界だと、変数は一度初期化されれば二度と値が変化することなんてありえないけど、
プログラミングの世界だと、変数とは黒板みたいなもので、いくらでも書き換えできる
この文は、coinsその他変数の値を読み出し、計算し、黒板上に書かれたcoinsの欄を
黒板消しで消してから、その計算結果の値をチョークで書き込みなさい!!という
手順(=命令の並び)を表現している

351 :デフォルトの名無しさん:2014/04/03(木) 00:16:28.04 ID:vXbvxLOe.net
>>347
coins = coins + magic_coins - stolen_coins

1:coins + magic_coinsを計算する
2:1の結果-stole_coinsを計算する
3:左辺のcoinsを2の結果に入れ替える
みたいな感じになる

352 :347:2014/04/03(木) 00:19:28.63 ID:XZtGZD8Z.net
すみませんもうひとつ
なぜ、このようにプログラムを組むと、coinsの値は変わらず、magic_coinsとstolen_coinsの値は変わるのですか?

353 :デフォルトの名無しさん:2014/04/03(木) 00:25:56.83 ID:23c/Tj4/.net
Pascalじゃ代入式は:=だったね。

354 :デフォルトの名無しさん:2014/04/03(木) 00:47:07.43 ID:uY8VKLbg.net
>>352
> なぜ、このようにプログラムを組むと、coinsの値は変わらず、magic_coinsとstolen_coinsの値は変わるのですか?
ん?magic_coinsとstolen_coinsはまったく変わってないが?
coinsとweek以外は全部定数だよ

355 :347:2014/04/03(木) 01:04:05.30 ID:XZtGZD8Z.net
magic_coinsは一週間に70増え、stolen_coinsは一週間に3減るのですから、変わっているのではないですか?
逆にcoins = found_coinsは、20で不変なのではないですか?

356 :デフォルトの名無しさん:2014/04/03(木) 01:04:05.58 ID:ehwkpBqS.net
既出だったら申し訳ありません
現在PyScripterを使用しコードを書いているのですが
print("こんにちは世界")と書くとインプリンタの出力画面?実行画面で文字化けを起こします

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

等対策をとっているのですが一向に改善されず困り果てています
なにか解決策などを指南していただけないでしょうか

357 :デフォルトの名無しさん:2014/04/03(木) 01:19:29.31 ID:QcFLxHFw.net
print(u'こんにちは世界'.encode('shift-jis'))
かな

358 :デフォルトの名無しさん:2014/04/03(木) 01:35:47.64 ID:hnpj0u0+.net
>>355
まず、その英語のPython for Kidsより先に、日本語のプログラミング入門書を読んで。

359 :デフォルトの名無しさん:2014/04/03(木) 01:36:45.54 ID:PJ3rnam6.net
>>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.net
>>357
ありがとうございました
マルチバイト文字を使用する場合はユニコードに変換する必要があったんですね

361 :デフォルトの名無しさん:2014/04/03(木) 01:44:34.85 ID:hnpj0u0+.net
>>360
それはちょっと違うと思うがw

362 :デフォルトの名無しさん:2014/04/03(木) 02:08:15.34 ID:QcFLxHFw.net
>>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.net
windowsのコマンドプロンプトがshift-jis(CP932)なのが悪い

364 :デフォルトの名無しさん:2014/04/03(木) 04:56:53.84 ID:4dHMMlMM.net
いや、標準エンコードをOSに合わせないPythonが悪いと思う

365 :デフォルトの名無しさん:2014/04/03(木) 07:33:49.61 ID:9rp45yLz.net
どちらも違うわ
暗黙に処理されることを期待するのが馬鹿

366 :デフォルトの名無しさん:2014/04/03(木) 07:45:08.27 ID:DXg21ULv.net
いや、Python3の標準出力は、コマンドプロンプトに合わせたエンコードに初期化されるから
print("こんにちは世界")だけでCP932出力してくれる
ソースファイルの保存エンコードを理解してない>>356が悪い

367 :デフォルトの名無しさん:2014/04/03(木) 09:29:37.34 ID:CP8BnsY7.net
setdefaultencoding

368 :デフォルトの名無しさん:2014/04/03(木) 09:30:27.01 ID:CP8BnsY7.net
>>363
その通り

mintty使うがよい

369 :347:2014/04/03(木) 11:38:15.25 ID:XZtGZD8Z.net
>>359
朝起きてよく見返して見てやっと分かりました
3000円くらいで買った本なのでここで挫折したくなかったので助かりました
英語の練習も兼ねてもう少し頑張ってみようと思います
ありがとうございます。
他の方もありがとうございました。

370 :デフォルトの名無しさん:2014/04/03(木) 15:59:04.23 ID:sTSI5mzl.net
www.binarytides.com/python-packet-sniffer-code-linux/
このページ見てパケットキャプチャ作ろうとしているのですが
IPヘッダを人が見て分かるように変換する方法がわかりません
前から4ビット読み込んでversionとかだと思うんですけど
文字列なのか整数なのかわからないです

371 :デフォルトの名無しさん:2014/04/03(木) 16:07:11.38 ID:CP8BnsY7.net
馬鹿には無理

372 :デフォルトの名無しさん:2014/04/03(木) 17:54:36.05 ID:Eq5358oB.net
flask使って簡単なブログを作ったのですがレンタルサーバー上で動かすときは
どうするのが主流なんでしょうか?
今はレンタルサーバー上で python app.py として動かしているのですが
これで何か問題はありますか?

373 :デフォルトの名無しさん:2014/04/03(木) 18:26:32.13 ID:joA71GZI.net
>>355
Python for kidsは日本語訳版出てるから、そっち読んだほうがいい
http://www.amazon.co.jp/dp/4274069443

374 :デフォルトの名無しさん:2014/04/03(木) 20:32:01.61 ID:u+JhYDX/.net
彼の課題はpythonでも英語でもないでしょ

375 :372:2014/04/03(木) 20:35:55.20 ID:QUZ4kSS9.net
webprog板で聞いてきます

376 :デフォルトの名無しさん:2014/04/04(金) 01:51:58.78 ID:O3lvlP11.net
>2.7で日本語出力

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

encode/decodeが至る所に書かれてるようなコードは、保守性悪くなるし、
3.xへの移植の際に手間になります。

377 :デフォルトの名無しさん:2014/04/04(金) 23:23:44.83 ID:KFfZUTsF.net
>>370
すいません自己解決しました

378 :デフォルトの名無しさん:2014/04/05(土) 09:48:33.68 ID:TeJAeAYQ.net
WEB+DB PRESSの特集や関連書籍がほとんどRubyばかりでまるでPythonが存在しないかのような扱いなんですが、何か圧力でもかかっているのですか?バックナンバーを見ると昔は平等に扱われていたようですが…。

379 :デフォルトの名無しさん:2014/04/05(土) 10:13:01.27 ID:WZplTJZw.net
君は反響の少ない記事を平等に扱わなければならないという思想なのですか?
それも営利企業が

馬鹿なこと言ってないでRubyを書くのです

380 :デフォルトの名無しさん:2014/04/05(土) 10:51:18.19 ID:XfiRYzuO.net
>>378
圧力も何も、単純な市場原理だよ。
大きめの書店でRubyとPythonの書籍の数を比べてみな。

381 :デフォルトの名無しさん:2014/04/05(土) 11:06:25.42 ID:Ieizjxs7.net
3DCGの組み込みスクリプトとか海外のオープンソースのセットアップスクリプトは大抵がPythonで、
今まで自分が触れた範囲でRubyが必要になったことはないなぁ。
市場原理という点では最近のRuby推しは自分には理解できないなぁ。

382 :デフォルトの名無しさん:2014/04/05(土) 11:14:21.97 ID:2CjHSx4q.net
世界を相手にしたいならPython、鳥取界隈を相手にしたいなら断然Ruby!!

383 :デフォルトの名無しさん:2014/04/05(土) 11:16:04.73 ID:2CjHSx4q.net
あ、島根県松江市界隈だったw

384 :デフォルトの名無しさん:2014/04/05(土) 11:30:44.27 ID:WZplTJZw.net
世界から孤立した言語圏の猿がなに言ってんの?
こんなとこでまでセカイセカイ願望を聞くと思わなかったよw
よほど現実に疎いらしいな

385 :デフォルトの名無しさん:2014/04/05(土) 11:35:24.16 ID:WZplTJZw.net
だいたい今まで自分が触れた範囲でって
手前のセセコマシイ世界の話なんて聞いてねえんだよ
見識がせまいですって自慢するのがPythonicなんですかねHAHAHA

386 :デフォルトの名無しさん:2014/04/05(土) 11:52:00.72 ID:m9Ov5TWt.net
>>384
> 世界から孤立した言語圏の猿がなに言ってんの?
その理論だと世界から孤立した言語圏の猿が開発した言語なんてもっての他ですね

387 :デフォルトの名無しさん:2014/04/05(土) 12:14:18.00 ID:XfiRYzuO.net
>>381
理解できないんじゃなくて、現実を認めたくない君の脳みそが
自己崩壊を防ぐために理解を拒んでいるんだよ。
現実を素直な目で見、受け入れること。
これができれば、何でもドンと来いと言える素敵な人間になれるよ。

388 :デフォルトの名無しさん:2014/04/05(土) 12:47:48.62 ID:j3AVkMKy.net
あとはこっちでやってね
http://toro.2ch.net/test/read.cgi/tech/1396153182/

389 :デフォルトの名無しさん:2014/04/05(土) 13:16:25.61 ID:WZplTJZw.net
わざわざ
そこから出張してやってんだよ
誰が戻るか

390 :デフォルトの名無しさん:2014/04/05(土) 23:23:56.31 ID:TFFtPHBU.net
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.net
line.decode('unicode-escape').encode('shift-jis')

392 :デフォルトの名無しさん:2014/04/06(日) 00:38:48.53 ID:Gk3ZXLUh.net
>>> 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"

393 :390:2014/04/06(日) 01:24:21.21 ID:nZKlftef.net
b=bytes(line,'utf-8')
print(b.decode('unicode-escape'))

これでできました
ありがとうございました

394 :デフォルトの名無しさん:2014/04/06(日) 01:39:10.22 ID:gYSiARiX.net
やってることはほぼ同じだろうけど
print( line.encode().decode('unicode_escape') )
でもいける

395 :デフォルトの名無しさん:2014/04/06(日) 01:55:33.30 ID:gYSiARiX.net
あと open関数のmodeオプション "r" を "br"にすれば
print( line.decode('unicode_escape') )
だけでよい

396 :デフォルトの名無しさん:2014/04/06(日) 03:53:52.87 ID:5J1lYPyf.net
引数がlistでlen(list)の数だけsetを作りたいんだけど
どうすればきれいな実装になる?
お願いします〜

397 :デフォルトの名無しさん:2014/04/06(日) 07:45:40.45 ID:wQyP8lyU.net
>>396
a = [1,2,3]
[set(a) for i in range(len(a))]

解釈が違ったら具体例だして

398 :デフォルトの名無しさん:2014/04/06(日) 09:39:13.45 ID:5J1lYPyf.net
>>397
ありがとう解決した
おれがしたかったことは
[set([]) for i in range(len(a))]だったよ

399 :デフォルトの名無しさん:2014/04/06(日) 09:59:28.36 ID:oPgrbBb6.net
スレ建てるまでもない質問スレとマルチポストかよ。

400 :デフォルトの名無しさん:2014/04/06(日) 23:55:52.84 ID:W/jk3jto.net
python で書いてるアプリケーションで、 API key みたいなのを使う必要があって、
もちろん完全に隠せるともそうしたいとも思ってないものの、
普通のテキストファイルに平文でそのまま書く (consumer_key='ajg1j4ao41er')
のってちょっと気持ち悪いかなっていう気がしています。
なにか標準的な方法がありますか、
あるいは気にするべきでない(平文でそのまま書くのが良い)でしょうか?
どうせ大々的に使われるようなものではないので、本気でセキュリティ頑張るようなたぐいではないです

401 :デフォルトの名無しさん:2014/04/07(月) 00:33:08.41 ID:2Dx0rEhF.net
>>400
スクリプトのコードを直接読まれる時点でサーバが脆弱性を抱えてる事になるのと、
パスワードの暗号化は複合化するのが難しい事が求められるので
質問自体がちょっと的外れになってる

ただ、WebAPIの認証に必要な情報は当然隠さないといけないから、スクリプトの中に含めるべきではない
設定ファイルをURIでアクセスできないところにおいて、configparserモジュール使ってよみこむようにする
バージョン管理ツールには実際の設定ファイルを登録しないで、サンプルの設定ファイルを登録する

402 :デフォルトの名無しさん:2014/04/07(月) 00:41:32.54 ID:axHHuueI.net
>>401
ふむふむありがとうございます.そういう感じでやってみます

403 :デフォルトの名無しさん:2014/04/07(月) 12:18:42.51 ID:7LBFjO6B.net
昔このスレで4つの文字の組み合わせを求めるコードが貼り付けられてたと思うんですけど何番目のスレかわかる人いませんか

404 :デフォルトの名無しさん:2014/04/07(月) 12:26:31.55 ID:KhripvKN.net
そんなもの探すよりitertoolsのドキュメントでも見たら

405 :デフォルトの名無しさん:2014/04/07(月) 12:41:10.04 ID:oKRDb4uG.net
http://toro.2ch.net/test/read.cgi/tech/1387082467/720
これかな

406 :デフォルトの名無しさん:2014/04/07(月) 13:45:27.92 ID:2RriIU54.net
なんだったかなどっかの求人ページの問題
これが解ければ年収1000万ってやつ
CDFGみたいなアルファベット4つの組み合わせのやつ

407 :デフォルトの名無しさん:2014/04/07(月) 13:55:18.06 ID:KhripvKN.net
組み合わせを求めたいんじゃなくて
問題を思い出したいのか
そりゃ失礼した

408 :デフォルトの名無しさん:2014/04/07(月) 14:06:39.67 ID:ktMnCtsu.net
http://python.rdy.jp/

409 :デフォルトの名無しさん:2014/04/07(月) 14:10:50.49 ID:ktMnCtsu.net
文字候補'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.net
文字候補'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.net
文字候補'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.net
すいません見つけました
cgios.com/recruit/index.html

これのコードをこのスレの何番目か忘れましたがcodepadだかideoneだかURLを書き込みしたんですよ
おれが書いたコードなんですがどこで貼ったか忘れたので知ってる方いませんかね

413 :デフォルトの名無しさん:2014/04/07(月) 16:53:26.89 ID:9yyss9BF.net
以後、スルーの方向でよろしく

414 :デフォルトの名無しさん:2014/04/07(月) 17:35:50.06 ID:J5/BeX+j.net
それは各各個人が決めるべきである別に呼びかけなくてもいいよ
掲示板なんだからさ

415 :デフォルトの名無しさん:2014/04/07(月) 18:22:22.82 ID:h3y43UyD.net
嫁「お爺ちゃん、さっきご飯食べたでしょ」
爺「そうじゃったかのう…」

416 :デフォルトの名無しさん:2014/04/07(月) 20:41:22.32 ID:X16BwzyE.net
スルー了解

417 :デフォルトの名無しさん:2014/04/07(月) 20:44:41.93 ID:cPHU7Y9F.net
>>412
スレを全部見て確認。それでも思い出せないならあきらめろ

418 :デフォルトの名無しさん:2014/04/07(月) 21:56:40.20 ID:Rnm3AbPS.net
なんでここ過去スレのリンク貼ってないの

419 :デフォルトの名無しさん:2014/04/07(月) 22:03:06.70 ID:h3y43UyD.net
>>1の まとめwiki にあるからじゃね

420 :デフォルトの名無しさん:2014/04/07(月) 22:33:06.18 ID:5wZ1j6dN.net
嫁さん居るんだ…

421 :デフォルトの名無しさん:2014/04/07(月) 23:19:35.29 ID:q+HemARZ.net
数字と文字が入っているcsvファイルを読み込んで、半角全角変換をしてprintで結果を出したいのですが、unicodedata.normalizeを使う場合どう書けばいいのでしょうか?

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

python2.7.5
Mac OS 10.9です

422 :デフォルトの名無しさん:2014/04/07(月) 23:26:35.95 ID:vR3IoiGJ.net
丸投げ君わろた

423 :デフォルトの名無しさん:2014/04/07(月) 23:49:01.91 ID:q+HemARZ.net
>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.net
>>421
全角半角ならこっち
unicodedata.east_asian_width(chr)
http://docs.python.jp/3.3/library/unicodedata.html?highlight=east%20asian%20width#unicodedata.east_asian_width

Unicode Standard Annex #11
East Asian Width
http://www.unicode.org/reports/tr11/#Definitions
http://www.unicode.org/reports/tr11/images/tr11.h2.jpg
FとW

425 :424:2014/04/08(火) 00:10:32.80 ID:lLYfakzY.net
Python2.7のunicodedata.east_asian_width(chr)はこっちだった
http://docs.python.jp/2.7/library/unicodedata.html?highlight=east%20asian%20width#unicodedata.east_asian_width

426 :デフォルトの名無しさん:2014/04/08(火) 11:35:58.62 ID:fr68/BJc.net
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.net
dataに何を入れてるのかも書かないと

428 :デフォルトの名無しさん:2014/04/08(火) 11:49:06.03 ID:fr68/BJc.net
>>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.net
>>428
unicodedata.normalize が取る引数は unicode型の文字列
そのコードでは、(unicode型でない)文字列のリストを渡してる

* リストの要素毎にnormalizeを適用する
* 各要素の文字列は decode して unicode型に変換

430 :デフォルトの名無しさん:2014/04/08(火) 12:34:40.32 ID:fr68/BJc.net
>>429
ありがとう。何でだめなのか分かった。

でもレスしてもらった事をコードにする知識がまだないから出直してきます...
できないのがもどかしいけど、がんばります。ありがとう

431 :デフォルトの名無しさん:2014/04/08(火) 17:04:51.24 ID:1uiyPTpc.net
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.net
>>431
ここに書いてある
http://docs.python.jp/2/library/functions.html#sorted

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

まず、自分のpythonの環境や、どこまで調べて何が分からなかったか書いてから質問しろよ

434 :デフォルトの名無しさん:2014/04/08(火) 17:54:30.49 ID:zuIQgCzz.net
虫の居所が悪そうだぬ

435 :デフォルトの名無しさん:2014/04/08(火) 19:41:38.76 ID:MyudluU2.net
DJangoの翻訳って1.4が終わるまで続けるんですか?
日本の公式サイト?は全然進んでないし古すぎるし存在する意味があるのでしょうか?

436 :デフォルトの名無しさん:2014/04/08(火) 20:02:18.23 ID:Mbk16lr4.net
馬鹿鹿無理

437 :デフォルトの名無しさん:2014/04/08(火) 21:12:11.87 ID:Qh3mpzXa.net
>>> "あ".encode("cp932")
b'\x82\xa0'
>>> b"\x82\xa0".decode("cp932")
'あ'
となりますが82という数値から"\x82"をつくるにはどうすればいいのでしょうか

438 :デフォルトの名無しさん:2014/04/08(火) 21:40:36.21 ID:lzqz/lWb.net
>>437
b = bytes([0x82, 0xA0])
print(b)
print(b.decode('cp932'))

439 :デフォルトの名無しさん:2014/04/08(火) 21:45:17.40 ID:Qh3mpzXa.net
>>438
ありがとうございます!
bytesってリストも引数にとれたんですね

440 :デフォルトの名無しさん:2014/04/08(火) 21:47:57.78 ID:rqqHIIZN.net
chr(82) # R

441 :デフォルトの名無しさん:2014/04/09(水) 07:53:21.44 ID:oVNr0DOE.net
print '\\x' + '82'

442 :デフォルトの名無しさん:2014/04/09(水) 14:07:51.72 ID:gj8rQfUA.net
NHKで会見やってるよ

443 :デフォルトの名無しさん:2014/04/09(水) 14:16:56.95 ID:zyxn12EM.net
会場から記念パピコ

444 :デフォルトの名無しさん:2014/04/09(水) 14:18:24.37 ID:gj8rQfUA.net
読むんだ

445 :デフォルトの名無しさん:2014/04/09(水) 14:22:58.58 ID:qA8ouB3T.net
おぼちゃんの会見?

446 :デフォルトの名無しさん:2014/04/09(水) 14:33:15.86 ID:rnlf/mPK.net
必死で真実を訴えるか平気で嘘を付けるかが量子もつれな顔

447 :デフォルトの名無しさん:2014/04/10(木) 00:49:29.03 ID:GmndHch1.net
PythonではCMSで王道な選択肢を教えてください

PHPならWordPress,Drupal,MediaWiki,Dokuwiki,joomlaなど

448 :デフォルトの名無しさん:2014/04/10(木) 01:06:37.83 ID:QISZ32jk.net
不自由なヤツ増えたなー

449 :デフォルトの名無しさん:2014/04/10(木) 01:11:29.41 ID:2cJgY0lS.net
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.net
てか本当にCMSが必要なのか微妙な雰囲気が漂う

451 :デフォルトの名無しさん:2014/04/10(木) 10:19:27.96 ID:b9ngN5Kh.net
昔 DB+HTML
最近 DB→固定HTMLを静的に生成
今 CMS

元に戻ってるだけなんだけどな
webクリエーター(ω)が
プログラマからデザイナになってまたプログラマに戻って来た感じ

452 :デフォルトの名無しさん:2014/04/10(木) 12:31:13.17 ID:Ia8pA1h1.net
どうしてもpythonでやるならploneじゃない?
まあ何でやるかはサーバー環境次第な気がする。

453 :デフォルトの名無しさん:2014/04/10(木) 12:56:10.96 ID:Oeu7Bhph.net
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.net
ツールプログラミングではいい言語なんだけどね。
ちょっとした変換や整形で
PHPはコンソールでは使いにくいからPython使ってる。

455 :デフォルトの名無しさん:2014/04/10(木) 13:38:29.65 ID:9KdDCKXV.net
>>453
つ tornado

456 :デフォルトの名無しさん:2014/04/10(木) 14:53:43.35 ID:N3vuTs56.net
フレームワークはCMSじゃない

457 :デフォルトの名無しさん:2014/04/10(木) 17:04:01.58 ID:b9ngN5Kh.net
おppy

458 :デフォルトの名無しさん:2014/04/10(木) 20:35:43.34 ID:1wauUDTZ.net
cksだよなあ

459 :デフォルトの名無しさん:2014/04/10(木) 20:43:16.89 ID:2cJgY0lS.net
>>453
時代的に後手に回っただけ
pythonのコミュニティのWebサイトの方がPHP製よりレスポンシブなもの多い
PHPが何処でnode.jsとシェアが逆転するかは見もの。とりあえず、まだ、PHPで大丈夫。

460 :デフォルトの名無しさん:2014/04/12(土) 16:29:34.97 ID:9BvNkPAf.net
---------------------------
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.net
質問する時は

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

って付け加えておくといいぞ

462 :デフォルトの名無しさん:2014/04/12(土) 17:16:19.93 ID:12W5Y+Qh.net
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.net
あ、どっかにあるリストに追加する場合は、lists += [henkan(x) ...]だな

464 :デフォルトの名無しさん:2014/04/12(土) 17:28:20.54 ID:kX21J11Q.net
print filter(lambda a: re.search('file', a), ['abcdefg'])

465 :デフォルトの名無しさん:2014/04/12(土) 19:10:59.25 ID:iNxrw8O2.net
> lists = [henkan(x) for x in [s] if henkan(x)]

henkan(x) で副作用ですね判ります

466 :デフォルトの名無しさん:2014/04/12(土) 19:29:36.93 ID:bI+YYxdC.net
[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.net
そのメールアドレスがRFCに適応しているか確認するパッケージをおしえて

468 :デフォルトの名無しさん:2014/04/12(土) 19:49:16.70 ID:12W5Y+Qh.net
あれ?henkan(x)を先に評価するんじゃないのか?ゴメン

469 :デフォルトの名無しさん:2014/04/12(土) 21:11:51.23 ID:DhQ3iHBt.net
既存のCookie を読み取って、書き換える方法教えて。

470 :デフォルトの名無しさん:2014/04/12(土) 21:13:47.38 ID:rzyqPrtx.net
root とれや

471 :デフォルトの名無しさん:2014/04/12(土) 21:21:33.21 ID:VQjl7ezR.net
パッケージは見つからないが、Mercurialの中でRFC5322のメールアドレスをパースしてるコードがあるらしい
コピーしてくれば使えるかも

472 :デフォルトの名無しさん:2014/04/12(土) 21:50:20.69 ID:it5LcB+x.net
>>469
http://docs.python.jp/3.3/library/wsgiref.html

473 :デフォルトの名無しさん:2014/04/12(土) 22:06:31.81 ID:DhQ3iHBt.net
>>472
HTTPサーバーを書けってことですか?

474 :デフォルトの名無しさん:2014/04/12(土) 22:10:56.63 ID:VQjl7ezR.net
そのcookieを扱ってるのが誰なのか知らないが
仮にブラウザーならproxyを書けばいいですよ
とどのつまりはHTTPサーバーなんだけど

475 :デフォルトの名無しさん:2014/04/12(土) 22:23:09.29 ID:ymSFHhsj.net
>>469
http://www.webtopi.net/2013/04/cookie.html

476 :デフォルトの名無しさん:2014/04/14(月) 15:09:50.80 ID:a6eUEmJs.net
pythonでさくっとアプリのプロトタイプ書いて
後でCとかで書き直す場合
2系の方が良い?それとも3で問題無し?

477 :デフォルトの名無しさん:2014/04/14(月) 16:19:52.65 ID:L1qK4Yv9.net
その程度のリサーチすらできない奴が何を作るって?

478 :デフォルトの名無しさん:2014/04/14(月) 16:54:22.82 ID:HEj1UG9r.net
馬鹿には無理

479 :デフォルトの名無しさん:2014/04/14(月) 17:07:16.74 ID:h3zVplbS.net
>>478
自己紹介乙

480 :デフォルトの名無しさん:2014/04/14(月) 17:10:30.31 ID:qFq6vkYD.net
>>476
いきなりCで書けばいいじゃないか
どうせCで書くことがわかっているなら

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

書き直すのが大変なほど長いものなら、無論、はじめからCで書けば良い

481 :デフォルトの名無しさん:2014/04/14(月) 17:31:16.56 ID:zz8UlIHg.net
プロトタイプってわかってます?

482 :デフォルトの名無しさん:2014/04/14(月) 17:33:22.41 ID:qFq6vkYD.net
どうしてプロトをオッパイなめなきゃ損損で書くんだ?
頭悪すぎるの?

483 :デフォルトの名無しさん:2014/04/14(月) 17:44:21.83 ID:zz8UlIHg.net
GUIツールキット次第じゃね?
まあPythonバインディングは大抵両方揃ってるでしょ。

484 :デフォルトの名無しさん:2014/04/14(月) 18:11:35.40 ID:zz8UlIHg.net
・・・と思ったらwxPythonとかpyGTKってwindowsバイナリは2.x系しかないのな

485 :デフォルトの名無しさん:2014/04/14(月) 18:50:48.42 ID:gCs3v3ib.net
PyGTKはPyGObjectに切り替わってっから。

486 :デフォルトの名無しさん:2014/04/14(月) 21:33:04.37 ID:rLRpFQlz.net
Windows Mac Linuxで動くGUIを作るならpyQtかpySideだと思ってたんですがここの先輩は何を使いますか?

487 :デフォルトの名無しさん:2014/04/14(月) 21:45:37.16 ID:2/dcBiw+.net
>>485
それでポーカーのアプリとか作ってみたい

488 :デフォルトの名無しさん:2014/04/14(月) 22:05:52.35 ID:VFcs39e0.net
pythonでcsvを読み込んで1列だけ書き換えたいんですが
一旦csvすべてをリストに格納して、加工したあとでまたリストで書き出すという手順がふつうなんでしょうか?

489 :デフォルトの名無しさん:2014/04/14(月) 22:19:28.74 ID:h8gOxJKf.net
>>482
無能はレスするなよw

490 :デフォルトの名無しさん:2014/04/14(月) 22:34:44.77 ID:t8FejxEk.net
>>488
よほどファイルが巨大でない限りそれが手っ取り早いんじゃね?

491 :デフォルトの名無しさん:2014/04/14(月) 22:47:42.96 ID:VFcs39e0.net
>>490
そういうものなんですねありがとうございます!!

492 :デフォルトの名無しさん:2014/04/14(月) 22:48:19.81 ID:SDjC82p3.net
>>488
書き換えて別ファイルに書き出してった方がメモリ食わなくて良いよ。

493 :デフォルトの名無しさん:2014/04/15(火) 00:34:37.92 ID:B5Kcw3DR.net
>>489
ぶふぁふぁ
いきなりCで書けないヘタレが俺を無能呼ばわり!!
ブファファ

494 :デフォルトの名無しさん:2014/04/15(火) 09:32:10.42 ID:emdW7oMD.net
>>493
頭悪そう

495 :デフォルトの名無しさん:2014/04/15(火) 09:51:46.88 ID:b3iAuu/a.net
精神病なんだろ
ここの所多いよな
春だからか?

496 :デフォルトの名無しさん:2014/04/15(火) 10:22:19.84 ID:6CXwLHVY.net
初心者スレにいる奴が何言ってんだか
笑止

497 :デフォルトの名無しさん:2014/04/16(水) 23:37:01.36 ID:kEIXDBLd.net
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 にはちゃんと文字列が代入されています。

498 :デフォルトの名無しさん:2014/04/17(木) 03:24:35.15 ID:ErQHAS8S.net
>>497
kubuntu 14.04b2 標準の Python3.4.0 で同じ現象を確認。これかな bugs.python.org/issue5845
PYTHONSTARTUP 後に読み込まれる site.py で補完が有効になっるみたい

* site.py を読み込まないように、Python -S で起動する
* 端末なら C-v C-i のタブ入力で凌ぐ
* ipython を使う (smart indent)

499 :デフォルトの名無しさん:2014/04/17(木) 12:00:56.74 ID:ErQHAS8S.net
What's Newや、マニュアルのsiteモジュールの所に、変更の通知と対策方法が書いてあった。
3.4から、デフォルトで補完と履歴が有効になるみたいです。

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

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

* site.py が読み込まれるのは、STARTUPの前
* site.py 内で、sys.__interactivehook__ が設定される
* STARTUPファイルが実行された直後に, sys.__interactivehook__ に設定された関数が呼び出される

500 :デフォルトの名無しさん:2014/04/17(木) 12:26:06.52 ID:fOb0+olh.net
インタラクティブシェルで文字を打つと補完できますが
その補完候補をpythonスクリプトの中から取得する方法ってありませんか?

501 :デフォルトの名無しさん:2014/04/17(木) 14:43:05.03 ID:Ywmytdrh.net
>>497,500
いろいろ調べてくださってありがとうございます。
sys.__interactivehook__ のデフォルト register_readline は履歴以外大したことしてないので、
>>497 を関数にして sys.__interactivehook__ に設定したらうまく行きました。
履歴は端末の履歴で十分なのでこれで満足です。
ありがとうございました。

>>500
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(

502 :デフォルトの名無しさん:2014/04/17(木) 23:22:53.59 ID:YGl2/sA9.net
Pythonでブラウザ上で編集できるwikiで一番メジャーなのってなんでしょうか?

503 :デフォルトの名無しさん:2014/04/18(金) 02:28:16.16 ID:oooZYs7C.net
moin?

504 :デフォルトの名無しさん:2014/04/18(金) 21:06:16.41 ID:tcldn7kl.net
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

505 :デフォルトの名無しさん:2014/04/18(金) 21:43:00.16 ID:8KmkbQh1.net
>>504
ethereal でパケットの中身見たらいいんじゃね?

506 :デフォルトの名無しさん:2014/04/18(金) 22:10:43.23 ID:ohPGXVFi.net
response.read() を 変更するなど、
>>504さんの方で多少の修正が必要になりますが、
以下を実行して、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)

507 :デフォルトの名無しさん:2014/04/18(金) 22:27:58.52 ID:+dZHBcPJ.net
>>504
取り敢えずレスポンスをファイルに保存してじっくり解析したら?

508 :505:2014/04/18(金) 23:30:19.78 ID:tcldn7kl.net
Context-Encoding が gzip っていうのを考慮できていなかったのが原因でした
body = gzip.decompress(body)
print(body.decode('shift_jis'))
とすれば解決しました。

509 :デフォルトの名無しさん:2014/04/19(土) 01:17:21.06 ID:AZrUcl7s.net
>>508
urllib じゃなくて httplib2 使いな。
くわしくは Dive into Python3 「HTTPウェブサービス」参照。

510 :デフォルトの名無しさん:2014/04/19(土) 02:00:08.18 ID:b0ELQeOM.net
httpならrequestsが人間向けだ

511 :デフォルトの名無しさん:2014/04/19(土) 12:46:36.67 ID:wssCKxB6.net
いずれにせよあのゴミみたいなurllibを標準に置き続けている理由が全然分からない

512 :デフォルトの名無しさん:2014/04/19(土) 13:01:36.39 ID:26Op87pw.net
Requests の方が好き

513 :デフォルトの名無しさん:2014/04/19(土) 14:05:52.03 ID:GQBbmsZA.net
urllibってそこまで面倒みる必要あるのかよ
ゴミだな

514 :デフォルトの名無しさん:2014/04/19(土) 15:09:01.72 ID:7EPIcXRA.net
さっさとpytzを標準ライブラリにいれろよ

515 :デフォルトの名無しさん:2014/04/19(土) 15:13:51.80 ID:wssCKxB6.net
tzは保守したくないんだろ
どこぞから権利問題で訴えられたりするからな

516 :デフォルトの名無しさん:2014/04/19(土) 16:04:09.99 ID:aAVP1M1o.net
>>508
GodJob

517 :デフォルトの名無しさん:2014/04/19(土) 16:11:47.81 ID:aNHEzIKZ.net
やり方は1つでいいってコンセプトのパイパイなのに、
どうしてMySQL操作するドライバはちょっと探したら2個も3個も出てくるんだぜ?

518 :デフォルトの名無しさん:2014/04/19(土) 16:16:24.34 ID:wssCKxB6.net
コンセプトを特に強制していないからですね
プログラムってのは開発者の思想表現の面もありますから
強制するだけ無駄です

519 :デフォルトの名無しさん:2014/04/19(土) 17:01:52.17 ID:7EPIcXRA.net
Pythonは日時関係の扱いがものすごく面倒くさい
日付の足し算もコーディング量はPHPのほうが少ない

520 :デフォルトの名無しさん:2014/04/19(土) 17:18:04.49 ID:wssCKxB6.net
全くだな
dateutil for humansが必要

521 :デフォルトの名無しさん:2014/04/19(土) 18:20:42.40 ID:n4cS9knU.net
気でも狂ったか

522 :デフォルトの名無しさん:2014/04/19(土) 21:03:04.02 ID:BsMcE1G9.net
pythonで書いたものをcgiにしてサーバーにアップした所
ImportError: No module named jsonとなりました。
レンサバなんですがモジュールはどう対処したらいいんでしょうか?

523 :デフォルトの名無しさん:2014/04/19(土) 21:12:16.54 ID:Z/EuslA2.net
そのサーバーのQ&Aに無ければ問い合わせてみれば?

524 :デフォルトの名無しさん:2014/04/19(土) 21:18:13.62 ID:Z/EuslA2.net
例えばさくらだとこう書かれてる。
ttp://www.emptypage.jp/notes/pymods-on-sakura.html

525 :デフォルトの名無しさん:2014/04/19(土) 21:26:52.13 ID:EcRD/M4f.net
>>524
jsonは標準モジュールだろ

526 :デフォルトの名無しさん:2014/04/19(土) 21:32:34.50 ID:wssCKxB6.net
2.5未満だとjson入ってねえんだよ
CentOSの少し古い奴だとPythonが2.4なんだ

考えたくないが、その可能性は結構高い

527 :デフォルトの名無しさん:2014/04/19(土) 21:46:44.07 ID:wssCKxB6.net
何にせよまずバージョンを正確に確認した方がいい
with使えねぇよぉ・・・ってなるぞ

528 :デフォルトの名無しさん:2014/04/20(日) 01:18:04.55 ID:36+Zfvxl.net
とりあえずcgi.test()

529 :デフォルトの名無しさん:2014/04/20(日) 05:17:24.12 ID:c9knyKmK.net
ありがとうございます。
xreaなんですけど、確認したら2.4.3だったので入っていないようでした・・
SSHでezsetup.pyなどをダウンロードしてインストールすればいいんでしょうか?
この場合vertual pythonというのを使うんでしょうか?
http://php-sql-gdgd.jugem.jp/?eid=24

530 :デフォルトの名無しさん:2014/04/20(日) 11:51:12.45 ID:MMsuWwDZ.net
今から2.4を使うってのは超初心者がやることじゃないです

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

まだ金払ってないなら別の鯖探した方がいい

531 :デフォルトの名無しさん:2014/04/20(日) 12:05:28.24 ID:MMsuWwDZ.net
ちなみにその記事に書いてあるdjangoもとうに動かない
その記事の日付2007年だからな
無理もない

532 :デフォルトの名無しさん:2014/04/20(日) 14:49:41.62 ID:c9knyKmK.net
>>530
わかりました。サーバー変えてみます!ありがとうございます。

533 :501:2014/04/20(日) 14:58:51.76 ID:vv1MGqjg.net
>>501
先輩、ありがとうございます

534 :デフォルトの名無しさん:2014/04/20(日) 14:59:56.57 ID:vv1MGqjg.net
>>529
Google App Engineとか他にも探せば無料のクラウドがあるからxreaはやめとけ

535 :デフォルトの名無しさん:2014/04/20(日) 17:51:44.45 ID:iz5ZbLAl.net
数字が入っている変数aについて、一の位の数字が
1であるかどうかを判断する手法として

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

の二通りがあると思いますが、どちらを使っても構わないですか?
どちらかに落とし穴やまずい点がありましたら教えてください

536 :デフォルトの名無しさん:2014/04/20(日) 18:16:31.42 ID:9t2QMCvM.net
>>535
>>> str(12.1).endswith("1")
True
>>> 11.2 % 10 == 1
False

537 :デフォルトの名無しさん:2014/04/20(日) 18:22:14.18 ID:aTuYs0CD.net
なんでLingrのほう過疎ってるの?

538 :デフォルトの名無しさん:2014/04/20(日) 19:31:50.39 ID:MMsuWwDZ.net
あんなものやってる人いたんですねえ

539 :デフォルトの名無しさん:2014/04/20(日) 19:34:31.00 ID:MMsuWwDZ.net
いや、いないから過疎ってんのか

540 :デフォルトの名無しさん:2014/04/21(月) 01:36:51.55 ID:JnZQYt2G.net
staticmethodの使いどころで悩んでいます。
インスタンス変数にアクセスする必要がないものは
全部staticmethodでいいだろうという認識なんですか間違ってますか?

541 :デフォルトの名無しさん:2014/04/21(月) 07:57:00.90 ID:ghdPIUck.net
>>540
インスタンス変数にアクセスしないが、クラス変数にアクセスする場合は classmethod
インスタンス変数に加え、クラス変数にもアクセスしない場合に staticmethod
staticmethod の場合は、普通の関数にも出来るので、そもそもクラスに所属する必要があるかどうかも要検討。

静的解析ツールの pylint 使うと、通常のインスタンス・メソッド内で参照されてる変数を調べ、
どのメソッドにすべきか等の情報を指摘してくれます。

542 :デフォルトの名無しさん:2014/04/22(火) 12:20:36.61 ID:IhHvRISr.net
プロジェクトで共通の処理を行いたいんですがこういうのってどうやるんですか?
phpでいうphp.iniでincludeするパスをしていしたらどこからでもそのパスに通ったファイルにアクセスできる設定っていうのはpythonでありませんか?

543 :デフォルトの名無しさん:2014/04/22(火) 15:08:36.98 ID:QveWaMVI.net
site.py

544 :デフォルトの名無しさん:2014/04/22(火) 19:07:23.74 ID:yPJ3bUkb.net
Pythonにおける引数は参照渡しなので、ミュータブルなオブジェクトを渡してその内容に変更を加えると、
呼び出し元にも影響を与える副作用が発生しますが、それなのにわざわざ return で変更したオブジェクトを
返すというコードを書くと、
わざわざ返す必要もないものを返しててバカっぽく見えますか?
それとも明示することで人にやさしいコードだと思われますか?

それともミュータブルなオブジェクトを渡してそれを変更するようなコードを書くことがバカっぽく見えますか?

545 :デフォルトの名無しさん:2014/04/22(火) 19:15:07.91 ID:LQIWVMxG.net
流れるようなインターフェースというのが昔流行った
Androidのapiはそれを多用してる

まあビルダーパターンの応用なんですがね

546 :デフォルトの名無しさん:2014/04/22(火) 19:28:07.94 ID:TGIyXoBO.net
>>544
>ミュータブルなオブジェクトを渡してそれを変更するようなコード
checkioでは文句言われる。標準ライブラリでは、そういうのはあまり
見掛けない。heapqはそういうインターフェイスになってるケド…

547 :545:2014/04/22(火) 23:29:44.65 ID:yPJ3bUkb.net
>>545
軽く調べただけだといまいちピンとこないのでもっと調べてみます。

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

とすると、関数内で返り値用の辞書を作成して返し、呼び出し元で返り値を追加する、というやり方がマシと
いうことになりますかね?

548 :デフォルトの名無しさん:2014/04/23(水) 03:22:11.53 ID:83TeUg73.net
ジェネレータとして実装して、呼び出し元で追加する方が良いよ。

副作用はテストが面倒になるので、可能なら避ける。

549 :デフォルトの名無しさん:2014/04/23(水) 08:16:43.79 ID:5vldvyzp.net
python 2 系です

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

みたいなバイト数値のリストがあるとき
バイト列(文字列?)に変換するには?

550 :デフォルトの名無しさん:2014/04/23(水) 09:40:26.05 ID:T4x0zu0j.net
import cursesでimport errorになるのはなんでですか?
libncursesとreadlineはいれてます

551 :デフォルトの名無しさん:2014/04/23(水) 09:58:40.26 ID:cc+8j0TX.net
>>549
3系を使えば以下の通り出来ますよ。
b"".join([int.to_bytes(x, 1, "big") for x in a])

>>550
import error の内容全てを貼って下さい。

552 :デフォルトの名無しさん:2014/04/23(水) 10:15:17.97 ID:eGodEcam.net
>>549
>>> 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'

553 :デフォルトの名無しさん:2014/04/23(水) 10:22:31.13 ID:83TeUg73.net
>>549

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

python3だと bytes(a)

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

555 :551:2014/04/23(水) 12:15:07.16 ID:x0vRXS3n.net
エラーはこれです

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'

556 :デフォルトの名無しさん:2014/04/23(水) 12:28:04.47 ID:4Y/TGEFr.net
ImportError: No module named '_curses'でぐぐれ

557 :デフォルトの名無しさん:2014/04/23(水) 12:28:57.34 ID:2MvsKB65.net
Python を自前ビルドしたときに curses のヘッダファイルがインスコされてなかったせいで
_curses がビルドされなかったとか?
もしそうなら Debian なら libncurses5-dev 入れて Python のビルドし直しとか

558 :デフォルトの名無しさん:2014/04/23(水) 12:37:01.16 ID:cc+8j0TX.net
>>555
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したの?

559 :デフォルトの名無しさん:2014/04/23(水) 12:43:42.31 ID:x0vRXS3n.net
Debianです
両方共はいっています
aptitude showで確認しました
でもエラーが出るので困りましたorz
ググってもこのふたつのパッケージを入れろっていうのしか見つからなくてお手上げです

560 :デフォルトの名無しさん:2014/04/23(水) 12:44:12.39 ID:x0vRXS3n.net
pyenv install 3.4.0で入れました

561 :デフォルトの名無しさん:2014/04/23(水) 12:51:30.84 ID:x0vRXS3n.net
pythonをインストールしなおしたら治りました(汗
お騒がせしました

562 :デフォルトの名無しさん:2014/04/23(水) 14:57:42.28 ID:7aM6c74C.net
暗号・複合するライブラリってさ、どれもこれもbyte長を調整しなきゃならんのだが、
暗号化する文字と暗号化キーの長さ関係なくポンってやってくれるやつないの?

見つからなくてすごくイライラしています。

563 :デフォルトの名無しさん:2014/04/23(水) 15:13:19.12 ID:83TeUg73.net
>>554
IPCompleterのインスタンスを作らずにメソッド呼び出してる.

get_ipython().complete("pri")

564 :デフォルトの名無しさん:2014/04/23(水) 16:21:38.85 ID:Cg/J0z31.net
get_ipythonのcompleteを使うと"import "で補完できるライブラリが出て来ませんでした

565 :デフォルトの名無しさん:2014/04/23(水) 18:37:33.51 ID:B15hE1J5.net
>>562
simple-cryptって見つけたけどこれはどうですか

python crypt simpleでくぐったら出てきました
たぶん10秒強だと思います

566 :545:2014/04/23(水) 20:09:38.22 ID:AXbtitX6.net
>>548
ありがとうございます。ジェネレータってこういう時に使えばいいんですね勉強になります。
複数種類あるデータの取り込みを全部ジェネレータやイテラブルにしたら呼び出し元のコードもスッキリしました。
自分のPythonレベルが1あがったのを実感してます。
どうもありがとうございました!

567 :デフォルトの名無しさん:2014/04/23(水) 22:29:54.63 ID:83TeUg73.net
>>565
import や %cd の補完は、それぞれ別の関数に別れてるみたい。

from IPython.core.completerlib import module_completion

他のは、ソース (IPython/core/interactiveshell.py) 読んで

568 :デフォルトの名無しさん:2014/04/23(水) 22:31:54.16 ID:B15hE1J5.net
ふええ

569 :デフォルトの名無しさん:2014/04/24(木) 20:18:01.71 ID:GL+Jj+fH.net
たのしいプログラミング Pythonではじめよう!
http://www.amazon.co.jp/dp/4274069443/

こんな本出てた。

570 :デフォルトの名無しさん:2014/04/25(金) 01:33:12.54 ID:sQaSn0qf.net
>>569
amazon.comの方の評価もなかなか高いみたいだし、期待できそう

571 :デフォルトの名無しさん:2014/04/25(金) 10:25:06.77 ID:foRzXOyh.net
著者さん宣伝ごくろうさまです

572 :デフォルトの名無しさん:2014/04/25(金) 10:38:10.44 ID:U1CUcQTm.net
業者なんかいねーよw

573 :デフォルトの名無しさん:2014/04/25(金) 11:14:44.14 ID:zhMbF1rR.net
本の話題が出る度にステマ扱いしてたら初心者向けのスレとして成り立たないと思う。

574 :デフォルトの名無しさん:2014/04/25(金) 11:15:18.36 ID:TtkNide3.net
業者雇う暇があったらphpの本書くよね

575 :デフォルトの名無しさん:2014/04/25(金) 11:35:16.70 ID:MeVawPgZ.net
著者と業者くらい見分けろよそれでも日本人か

576 :デフォルトの名無しさん:2014/04/25(金) 12:14:32.51 ID:IMABWYJa.net
>>570
amazon.comの方の評価 ってどこで見れるの?

577 :デフォルトの名無しさん:2014/04/25(金) 12:27:56.12 ID:xA8gnquP.net
>>576 これかな。
http://www.amazon.com/dp/1593274076/

578 :デフォルトの名無しさん:2014/04/25(金) 12:49:55.35 ID:foRzXOyh.net
誰も本を探してる質問してないのに一方的に宣伝タイ〜〜〜〜〜ムwwwwwwwwwwwwwwww

579 :デフォルトの名無しさん:2014/04/25(金) 12:52:41.32 ID:jPmvuOB6.net
草刈機の実演販売も誰も求めてない

580 :デフォルトの名無しさん:2014/04/25(金) 12:58:44.18 ID:TtkNide3.net
皮肉のバーゲン会場はこちら

581 :デフォルトの名無しさん:2014/04/25(金) 13:16:03.98 ID:aHKuD/MU.net
とりあえず >>569 はなんか言うことないのか

582 :デフォルトの名無しさん:2014/04/25(金) 18:27:00.19 ID:RdjQOdo4.net
ここは真摯な方が多いと聞いています。初心者の私(女)に教えてください。
wxpythonで、任意のpanelに乗っているチェックボックスなんかを全部なめたいんですが、どうすればよいですか?

583 :デフォルトの名無しさん:2014/04/25(金) 18:36:53.28 ID:3JzI94aW.net
え?舐めたい?

584 :デフォルトの名無しさん:2014/04/25(金) 18:53:26.48 ID:N1wjd4Qq.net
とりあえず考えた方法だが、パネルに乗せているウィジェットをlistに入れておくのはどうかな

585 :デフォルトの名無しさん:2014/04/25(金) 18:56:18.96 ID:uTNXJi7n.net
wxpythonって旬なの?3.3でも動かないのに
時代はpyqtかpysideさ

586 :デフォルトの名無しさん:2014/04/25(金) 19:57:23.89 ID:+cZx5GYM.net
ぱいそん女子だ

587 :デフォルトの名無しさん:2014/04/25(金) 20:49:33.88 ID:PenQPx71.net
>>585
旬は知らないが 3.4/3.4 でも動くphoenix ってプロジェクトがある

>>582
[x for x in panel.GetChildren() if isinstance(x, wx.CheckBox)]

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

動的にウィジェットを追加・削除したりしないなら >>584の方法が簡単。嵌りそうなケースを一点補足すると
親要素が削除された後に list に参照が残ってるとまずい場合があるので、直接listへ入れずに 弱参照(weakref) を使うといい

589 :デフォルトの名無しさん:2014/04/26(土) 01:11:16.14 ID:1o60mw72.net
お前ら優しすぎw

590 :デフォルトの名無しさん:2014/04/26(土) 11:57:11.65 ID:ciZFgagp.net
ここはRubyスレじゃないから優しくていいんだよ

591 :デフォルトの名無しさん:2014/04/26(土) 12:31:33.45 ID:Qdi0GyvQ.net
真摯な方と紳士な方で大分違って聞こえる
世間一般的には似た意味だろうけど

592 :デフォルトの名無しさん:2014/04/26(土) 13:57:17.70 ID:iEtSJYGQ.net
WindowsでPythonの実行環境を別のPCに移行するにはどうするんですか?
Python3.3を新しいPCにインストールしてC:\Python33を上書きコピーだと新しくインストールしたモジュールが認識されないようなのです

593 :デフォルトの名無しさん:2014/04/26(土) 14:19:04.16 ID:ruklCRJG.net
$ python3.3-config --prefix

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

駄目だったらごめんなさい。
windows 持ってないから勘で言ってみました。

594 :デフォルトの名無しさん:2014/04/26(土) 14:23:38.72 ID:ruklCRJG.net
度々ですいません。

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

ってやると>>592さんのお目当てのmoduleがどこにいるか分かるでしょ?
古い方の実行環境で argparse を適当に変えてやるといいよ。

595 :デフォルトの名無しさん:2014/04/26(土) 15:25:31.98 ID:iEtSJYGQ.net
>>594
やってみます
ありがとうございます

596 :デフォルトの名無しさん:2014/04/26(土) 17:19:14.75 ID:nbOBlRDB.net
以下コードで、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()

597 :デフォルトの名無しさん:2014/04/26(土) 17:59:53.61 ID:Qdi0GyvQ.net
どうもしないです
それがPython2のリスクですから
全部付けるんですよ無理やり

598 :デフォルトの名無しさん:2014/04/26(土) 18:48:58.21 ID:pOq6nB/h.net
>>596
エラーを再現できるスクリプトを貼ってほしい
あと OS と Python のバージョンも

599 :デフォルトの名無しさん:2014/04/26(土) 18:52:02.57 ID:Ig+FOWFu.net
偽エラーってなに?
真エラーもあるの?

600 :デフォルトの名無しさん:2014/04/26(土) 19:19:10.04 ID:ktMfXtiLw
逆にぐちゃぐちゃする感じもあるけど(?)場合によっては
from __future__ import unicode_literals とか?

601 :デフォルトの名無しさん:2014/04/26(土) 19:08:21.45 ID:Qdi0GyvQ.net
>>598
executemanyのsqlがunicodeになってるだろ
utf8の「あ」は 0xE3 0x81 0x82 だから、自動変換に任せるとデフォルトエンコーディングで解釈する
ここでデフォルトエンコーデイングがasciiだと、待望のUnicodeError様とご対面だ

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

で、これは初心者が十分理解できることか?
俺は無理があるように思う

602 :デフォルトの名無しさん:2014/04/26(土) 19:22:34.63 ID:pOq6nB/h.net
>>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.net
というかエラーが出たならそのエラーをそのまま貼ってって言うの忘れた

604 :デフォルトの名無しさん:2014/04/26(土) 19:40:09.88 ID:wOzSsX9a.net
>>596
状況解らないけど、文字列がソース中にリテラルとして表記されてるなら

from __future__ import unicode_literals

605 :デフォルトの名無しさん:2014/04/26(土) 20:18:56.42 ID:ruklCRJG.net
>>596さんへ。

vim なら、

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

とか。

sed 使えるんなら、

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

とか。

python2 で頑張ろうとするんじゃなくて、
editor や command で頑張るところですね。

606 :デフォルトの名無しさん:2014/04/26(土) 20:44:57.23 ID:nbOBlRDB.net
すみません、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.net
>>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.net
pythonとか見にくすぎ でもPerlを抜いたんだよな

609 :デフォルトの名無しさん:2014/04/27(日) 14:24:37.71 ID:YlDj6z0z.net
自分自身が実行もし、他のスクリプトからimportされもするスクリプトがあります。
で、他からimportされた場合最初に1回だけ実行したい処理(ファイルの読み込み)があるのですが、
どういうふうにやらせるのがいいでしょうか?

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

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

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

このためだけにクラス用意して __init__() つけるとかになるでしょうか?

610 :デフォルトの名無しさん:2014/04/27(日) 14:29:02.51 ID:t+MJ1nRe.net
馬鹿には無理

611 :デフォルトの名無しさん:2014/04/27(日) 15:09:20.79 ID:hzlsg62q.net
下のようにnameからlist(キー名)を引くにはどうしたらいいでしょうか?

name = ["abc","cde","fgh","ijk","banana","ringo","lmn"]
list = ["4","5"]

612 :デフォルトの名無しさん:2014/04/27(日) 15:17:57.39 ID:6kmnG/6w.net
何でPythonって遅いの?paizaの競技プログラミングの結果見てもPythonだけ遅すぎる

613 :デフォルトの名無しさん:2014/04/27(日) 15:42:02.38 ID:Gk7OlrEC.net
>>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.net
>>613
ありがとうございます。
あと説明不足ですみません。
nameというリストから"banana","ringo"を削除したいんです。
delで削除しようとしても、一つを削除した時点でnameのインデックスが変わってしまう為、二つ目を削除する際にずれてしまいます。
kekka = ['abc', 'cde', 'fgh', 'ijk', 'lmn']

615 :デフォルトの名無しさん:2014/04/27(日) 16:19:50.03 ID:Gk7OlrEC.net
>>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.net
>>609
if __name__ != '__main__':
 # 他からimportされたときに実行する処理

617 :デフォルトの名無しさん:2014/04/27(日) 16:52:32.58 ID:hzlsg62q.net
>>615
できました。本当にありがとうございます。

618 :デフォルトの名無しさん:2014/04/27(日) 17:30:29.91 ID:8sAVWWVU.net
スレッド間通信はどのような方法がありますか?
動作中のスレッドにデータを渡したいです
一番簡単なのはなんでしょうか?

619 :デフォルトの名無しさん:2014/04/27(日) 18:14:26.71 ID:/Vr961xn.net
que

620 :デフォルトの名無しさん:2014/04/27(日) 18:40:39.41 ID:8sAVWWVU.net
>>619
ありがとうございます

621 :609:2014/04/27(日) 21:36:47.22 ID:YlDj6z0z.net
>>616
説明不足ですいません。importされた先で何度も呼び出されます。

1個のHTMLを解析するスクリプトと、それを呼び出して複数のHTMLを解析するラッパーという構成です。

622 :デフォルトの名無しさん:2014/04/28(月) 00:18:39.80 ID:jSM3SIlj.net
>>621
importされたときに一度だけ行う処理はスクリプトのどこに書かれていますか?
>>616のif文は関数やメソッドの中ではなく、モジュールレベルに書くことを想定しています。
もし可能なら問題を再現できるコード片をください。

623 :デフォルトの名無しさん:2014/04/28(月) 01:02:22.16 ID:fZsvZ1ZD.net
それは設計がへたくそ
そんな何でも屋な立ち位置のファイルを作るべきではない
ライブラリはライブラリとしてきちんと分けて設計しろ

624 :609:2014/04/28(月) 01:56:11.06 ID:un3xGM8Z.net
>>622
> importされたときに一度だけ行う処理はスクリプトのどこに書かれていますか?

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

>>623
すいません、「何でも屋な立ち位置」の意味がわからないです。

625 :デフォルトの名無しさん:2014/04/28(月) 02:15:44.20 ID:6+nhvyWj.net
hajimete = True

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

if __name__ != '__main__':
 if hajimete:
  hajimete = False
  # 他からimportされたときに実行する処理

626 :デフォルトの名無しさん:2014/04/28(月) 02:16:41.14 ID:IapKpiur.net
618ですが
queを別のモジュールから使用する為には
queue操作用のメソッドをつくることが必要ですか?

627 :デフォルトの名無しさん:2014/04/28(月) 04:09:11.55 ID:jSM3SIlj.net
>>624
importされたときに一度だけ実行する処理は
実行可能&他からimportされるスクリプトのファイル最終行に>>616のように書いて下さい。

しかしながら>>623の通り、コマンドライン等から実行されるコードと
他からimportして使うためのコードは別のファイルに分けるべきです。

628 :デフォルトの名無しさん:2014/04/28(月) 09:13:57.32 ID:GX32FLG+.net
パッケージやモジュールで実行可能なもの自体はよくあるよ。
-m オプションはそのためのものだし。

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

何度も呼び出されるってことは、モジュールのimportでなくて、モジュール内で定義した関数内の事を言ってるのかな?

629 :デフォルトの名無しさん:2014/04/28(月) 09:16:52.96 ID:GX32FLG+.net
設計については、別問題
初期化の処理は関数にして、importする側で明示的に呼び出した方がいい or クラスにする。
初期化処理のテストをどう書くのか、初期化処理が投げる例外を何処でどのように捕捉するかを考えよう。

630 :デフォルトの名無しさん:2014/04/28(月) 10:00:21.62 ID:oM5O+Scd.net
話の途中に割り込んですまないがムカついてるので言わせてくれ

パーフェクトPythonは糞だな

痒いところに手が届かないどころか要領を得ないから
空飛ぶPythonを参照しながら推理し試行錯誤してる
何のために本を買ってるのか
読んでてイライラする

631 :デフォルトの名無しさん:2014/04/28(月) 10:47:34.72 ID:ES7XWIWl.net
ここは著者が宣伝したりライバルを罵り合う悪いインターネットですね

632 :デフォルトの名無しさん:2014/04/28(月) 11:05:29.43 ID:Xuk0naTK.net
Pythonの人気の理由がわからない
なぜPerlを追い抜いたのか

633 :デフォルトの名無しさん:2014/04/28(月) 11:25:28.64 ID:JkAfPWWw.net
むしろ Perlの使われ方がおかしかっただけ

634 :デフォルトの名無しさん:2014/04/28(月) 11:42:52.48 ID:UNN8IQVN.net
海外でPythonが伸びたのは奴らUnicode扱わないからじゃないだろうか

635 :デフォルトの名無しさん:2014/04/28(月) 12:04:42.55 ID:woaHBf5q.net
良くできてるからだよ
ちょっとした事にサッと使える身軽さが受けた

636 :デフォルトの名無しさん:2014/04/28(月) 14:56:59.98 ID:yQ3pEQ+0.net
basic,awk,sedの延長でperlが出来たんだよ
ソフトウェア作るプログラム言語としては致命的な欠陥ばかりで、
似たような動的言語のpythonの方に軍配が上がっただけのこと
今もうnode,json,npm,html5があるからjavascriptが優勢な世界
そろそろTIOBEのランキングもPHP,Rubyを差し置いてjavascriptが上にくるはず

637 :デフォルトの名無しさん:2014/04/28(月) 15:04:29.92 ID:sLIIqVQo.net
Perl って BASIC からなんか影響受けてたっけ?

638 :デフォルトの名無しさん:2014/04/28(月) 17:19:52.24 ID:6+nhvyWj.net
>>630
そういう意味では
みんなのpython
もひどかった

639 :デフォルトの名無しさん:2014/04/28(月) 17:20:48.07 ID:6+nhvyWj.net
>>632-633
javascriptの方が異常

640 :デフォルトの名無しさん:2014/04/28(月) 17:28:01.19 ID:U36yltXP.net
>>630
「空飛ぶ」と比較するとweb関連の情報が多かったのとアマゾンの評価を参考にして今「パーフェクト」の方を先に読んでいます。

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

そんなに糞ですか?

641 :デフォルトの名無しさん:2014/04/28(月) 18:01:28.13 ID:6+nhvyWj.net
百聞は一見の如し

642 :デフォルトの名無しさん:2014/04/28(月) 18:46:37.79 ID:UNN8IQVN.net
Pythonでif文にブラケットが無いのは世に受け入れられてるの?俺的にはブラケットさえあればスーパー便利言語なんだが。

643 :デフォルトの名無しさん:2014/04/28(月) 18:58:07.82 ID:CKTMNTmk.net
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.net
ごめん、ブラケットじゃなくてカーリーブラケットだった

645 :デフォルトの名無しさん:2014/04/28(月) 19:07:22.69 ID:7wTtlT3K.net
>>641
それはいわゆる2ch語?

646 :デフォルトの名無しさん:2014/04/28(月) 19:19:29.31 ID:sLIIqVQo.net
>>643
data_b = struct.pack(">3L", *data)

647 :デフォルトの名無しさん:2014/04/28(月) 19:29:32.94 ID:CKTMNTmk.net
>>646
ありがとうございます!動かしたかった通りに動作しました

648 :デフォルトの名無しさん:2014/04/28(月) 22:33:35.85 ID:G/O2/oE+.net
空飛ぶ広報室始まるよ@tbsテョンねる1

649 :デフォルトの名無しさん:2014/04/28(月) 23:57:21.14 ID:GKxWJmab.net
It's

650 :デフォルトの名無しさん:2014/04/29(火) 01:15:01.45 ID:0NWBsE/P.net
パスワードがついたエクセルをpythonで読み込みたいのですが、
それを達成できるライブラリが見つかりません><

ご存知でしたら教えてください><困ってます><

651 :デフォルトの名無しさん:2014/04/29(火) 01:41:34.15 ID:Ac+DDlB0.net
>< とか書く奴って w を連発するやつとベクトルが違うだけで同類だよな。

652 :デフォルトの名無しさん:2014/04/29(火) 11:03:20.42 ID:LqsKRBzG.net
if 1 >< 2:print(True)

653 :デフォルトの名無しさん:2014/04/29(火) 11:14:34.09 ID:b2HTM3GX.net
win32com

654 :デフォルトの名無しさん:2014/04/29(火) 11:21:08.89 ID:b2HTM3GX.net
ぐぐってみて今日初めて知ったが
こんなの出てたんだ
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.net
sphinxをブラウザ上で編集できるライブラリってありませんか?
ファイルを編集してmakeするの面倒臭い

656 :デフォルトの名無しさん:2014/04/29(火) 12:38:55.97 ID:/8ksTu7P.net
ライブラリの機能ではないような気がするな

657 :デフォルトの名無しさん:2014/04/29(火) 16:26:39.01 ID:sF/VyXd1.net
Yahooのリアルタイム検索でPythonを検索するとpythoninfo っていうアカウントがコピーツイートを量産していて迷惑。

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

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

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

完全にスパムだと思う。

658 :デフォルトの名無しさん:2014/04/29(火) 16:28:29.24 ID:pvgpWpOe.net
ここに報告するんじゃなくて
ahooに報告した方が良いよ

659 :デフォルトの名無しさん:2014/04/29(火) 17:05:20.19 ID:f21EMJNH.net
Twitterでスパム報告すればいい

660 :デフォルトの名無しさん:2014/04/29(火) 17:28:13.46 ID:pvgpWpOe.net
kadotanim***とかいうpython厨がうざいのでSPAM報告しておいた

661 :デフォルトの名無しさん:2014/04/29(火) 17:46:20.52 ID:VGBInRA4.net
こんなアカウント見つけた俺かっけえwwwwwwwww

662 :デフォルトの名無しさん:2014/04/30(水) 11:25:10.11 ID:qL4VKq+5.net
[(1,), (2,)]のようなタプルのリストを単に
[1, 2]とするにはどうしたらいいですか?

663 :デフォルトの名無しさん:2014/04/30(水) 11:29:28.73 ID:VN1cl4Xq.net
map(lambda x: x[0], [(1,),(2,)])

664 :デフォルトの名無しさん:2014/04/30(水) 11:29:31.13 ID:qL4VKq+5.net
[id[0] for id in [(1,), (2,)]]
これでできましたがもっといい方法がありそうな気がします

665 :デフォルトの名無しさん:2014/04/30(水) 11:30:32.67 ID:qL4VKq+5.net
>>663
なるほどmap()使うんですね。ありがとうございます

666 :デフォルトの名無しさん:2014/04/30(水) 11:31:34.04 ID:4l7lcAfF.net
ムダにラムダ関数生成するのはいい方法なのか?

まあ超クール超スマート病は誰もが通る道だからいいか

667 :デフォルトの名無しさん:2014/04/30(水) 11:38:40.24 ID:Dz5tUa2g.net
まぁPythonなら
map(operator.itemgetter(0),[(1,),(2,)])
あたりかね

668 :デフォルトの名無しさん:2014/04/30(水) 11:41:01.12 ID:VN1cl4Xq.net
だんだん長くなるな

669 :デフォルトの名無しさん:2014/04/30(水) 11:42:15.30 ID:niJ1Wu+Q.net
>>> from itertools import chain
>>> list(chain.from_iterable([(1,), (2,)]))
[1, 2]

670 :デフォルトの名無しさん:2014/04/30(水) 13:42:28.32 ID:qDU1aJn6.net
動的に少し複雑な関数、クラスを生成できますか?
例えば、商品リストなんかを読み込んで1行1行処理していく際、商品ごとに違う処理をしたいとき、
ソースにいちいち書くのではなく、設定ファイル(ini等)で独自の処理方法フラグを立てておいて追加・削除・変更したいんです。

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


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

きゅうりがきたら
if 現在 <= 賞味期限:
  .......処理 という関数・クラスを作って、次にきゅうりが来たら、ここに投げる

671 :デフォルトの名無しさん:2014/04/30(水) 13:47:43.53 ID:zr4NNN35.net
出来ますよ

672 :デフォルトの名無しさん:2014/04/30(水) 14:12:30.88 ID:KiF3OpGM.net
>>670
lmgtfyドットcom/?q=python+ini

673 :デフォルトの名無しさん:2014/04/30(水) 15:41:43.73 ID:PIfgHTSl.net
ipythonの補完機能を利用したらエディタの補完プラグインってものすごく強力だよね

674 :デフォルトの名無しさん:2014/04/30(水) 22:02:28.32 ID:OX3ssC8v.net
>>671
イジワル…

>>672
iniの読み書きの方法は質問してないです…

675 :デフォルトの名無しさん:2014/04/30(水) 22:05:05.69 ID:upmIhAH5.net
デザインパターンのファクトリーメソッドでできます

676 :デフォルトの名無しさん:2014/04/30(水) 22:16:41.83 ID:EonfyA0Y.net
この場合たらい回しパターンな気がする。

677 :デフォルトの名無しさん:2014/04/30(水) 22:17:48.64 ID:J10kvOd6.net
>>670
出来るか出来ないかなら出来る

678 :デフォルトの名無しさん:2014/04/30(水) 22:22:55.02 ID:EonfyA0Y.net
さらに言えば商品が来る毎に処理クラス、メソッドを生成するコストを抑えるなら
フライ級パターンになるかな?商品コードをハッシュキーとした配列を作り、
メソッドまたはオブジェクトの参照をデータに持たせとく、みたいな。

679 :デフォルトの名無しさん:2014/05/01(木) 02:57:47.74 ID:7Ucklgi4.net
>>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.net
>>679
書き忘れた
python3の場合

681 :デフォルトの名無しさん:2014/05/01(木) 03:04:54.20 ID:7Ucklgi4.net
>>679
間違えていた
取り消し

682 :デフォルトの名無しさん:2014/05/01(木) 05:20:30.35 ID:yXdss1R6.net
>>662
list(sum([(1,),(2,)], ()))
(stackoverflow.com/questions/10632839/)

683 :デフォルトの名無しさん:2014/05/01(木) 07:55:09.84 ID:cGpV8GIn.net
>>679
今までで最高です!

684 :デフォルトの名無しさん:2014/05/01(木) 10:49:58.90 ID:HVeqsQe1.net
馬鹿どもはラムダ式キャッシュすることぐらい覚えるといいよ

685 :デフォルトの名無しさん:2014/05/01(木) 17:41:51.91 ID:7C5boMZl.net
ある数値(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.net
ああごめんなさい。
この例だと可変長になってませんね。
訂正です。
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.net
宿題なら宿題スレで

688 :デフォルトの名無しさん:2014/05/01(木) 17:49:18.83 ID:U31MyfYF.net
pythonって多倍長整数に対応してますよね
2348239582149135905430923709738457483792373478+587798023749857902374239750374970923749702357120でも桁がおかしくなりませんでした
でもsys.maxsizeで9223372036854775807が返って来ました
pythonって多倍長整数に対応しているのかしてないのかどっちなんですか?

689 :デフォルトの名無しさん:2014/05/01(木) 17:56:21.66 ID:HVeqsQe1.net
してます
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.net
 

691 :デフォルトの名無しさん:2014/05/02(金) 17:59:18.19 ID:XSE+HkNu.net
javascriptみたいに
var a = {}
a.data = 100;
a.c = {};
a.c.data = {};

こういうふうに変数を . で書く方法ってありませんか?

692 :デフォルトの名無しさん:2014/05/02(金) 18:16:54.93 ID:W03gpRcO.net
hensu = {1,2,3}
print(hensu[0]) # エラー

たしかキーを省略したら自動的にインデックスに数字が連番で割り振られるってどこかで読んだんですが取得できません
どうやってしゅとくするのですか?

693 :デフォルトの名無しさん:2014/05/02(金) 18:32:07.88 ID:dMAtXV24.net
>>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.net
>>692
hensu = list({1,2,3})
print(hensu[0]) # 1

695 :デフォルトの名無しさん:2014/05/02(金) 19:01:15.16 ID:5GZTQA+Q.net
a = {}
a[0] = 1

この時、数字のキーを入力しないで追加する方法はありませんか?
追加する回数が不定なのでlistのappendみたいにキーを意識しない方法を教えてください

696 :デフォルトの名無しさん:2014/05/02(金) 19:02:15.45 ID:xFsSQgLg.net
>>692
その答えはしらんけど、

その hensu は辞書じゃなくて集合だから。

697 :デフォルトの名無しさん:2014/05/02(金) 19:14:40.55 ID:r6YwAWfo.net
集合リテラルは存在自体よく忘れる(小声)

698 :デフォルトの名無しさん:2014/05/02(金) 19:46:05.78 ID:lTgUivNz.net
>>695
無理。
キーがないのにどうやって辞書として使うつもりなの?

699 :デフォルトの名無しさん:2014/05/02(金) 19:48:08.56 ID:uRHIBdJb.net
>>695
>>> a = []
>>> a.append(1)
>>> a
[1]

700 :デフォルトの名無しさん:2014/05/02(金) 20:17:37.06 ID:/sFyFYZQ.net
>>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.net
>>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.net
>>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.net
あー本当だ。理由はわからないけど、さっきは失敗したんだよね。ゴメンゴメン。
何だかsetを渡すべき所に整数を渡した、みたいなエラーが出たんだ。

704 :デフォルトの名無しさん:2014/05/02(金) 22:47:56.32 ID:u8MYwIxS.net
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.net
>>704
all(0 < e < 2 for e in (x, y))

706 :デフォルトの名無しさん:2014/05/02(金) 23:08:30.72 ID:r6YwAWfo.net
と思ったけど >>705 じゃ短絡してないから >>704 の代わりにはならないか

707 :デフォルトの名無しさん:2014/05/03(土) 09:34:19.58 ID:q6SnZRBs.net
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.net
>>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.net
>>707の最大の問題点はもっと根本的なところにあるような気がしてならないが。

710 :デフォルトの名無しさん:2014/05/03(土) 13:36:49.89 ID:UmrjxM8O.net
> 要素の一部だけを削除したタプルを作りたい。
> 何か良い方法はないだろうか。

本気なら、>>707さんは、dict 使うべきだと思いますが。

711 :デフォルトの名無しさん:2014/05/03(土) 13:39:39.21 ID:HbUH8akr.net
タプルって変更しないものに使うんじゃないの

712 :デフォルトの名無しさん:2014/05/03(土) 13:41:27.86 ID:/IR7wR5K.net
目的と手段がおかしいんだな

713 :デフォルトの名無しさん:2014/05/03(土) 13:59:59.81 ID:CePx9Yr3.net
データ型が提供してるメソッドに不足を感じる場合は、用途を誤ってる事が多い。



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.net
なんでNamedtuple使ってんの?って聞いたら.で属性にアクセスできるからって答えた奴いたな

715 :デフォルトの名無しさん:2014/05/03(土) 15:29:10.28 ID:q6SnZRBs.net
>>714
いやまさにそれが目的で使ってる。
Pythonにおいて要素への名前アクセスをするには
クラスではなくnamedtupleが推奨と以前ここで見たので。
でも要素を削除する必要がある場合には向かないようだね。
operatorモジュールは取っつきにくくて避けてたんだけど、この機会に足掻いてみるよ。

716 :デフォルトの名無しさん:2014/05/03(土) 16:09:45.35 ID:/IR7wR5K.net
いや、そうだろうなとは思ってたよ

これコピペして使えばいい
http://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute-in-python

717 :デフォルトの名無しさん:2014/05/03(土) 16:31:54.81 ID:CePx9Yr3.net
同じ事思った>属性アクセス

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

要素を削除というか、単純なデータの変換処理だったら
変換後のデータも同じ様に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.net
Pythonにも、標準出力をバイナリモードに切り替えるような機能はありますか?
バイナリをprintしようとしたのですがうまく行かず困っています

719 :デフォルトの名無しさん:2014/05/03(土) 22:56:09.94 ID:/IR7wR5K.net
# 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.net
>>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.net
>>719,720
どちらでもうまくいきました!
ありがとうございます

722 :デフォルトの名無しさん:2014/05/03(土) 23:35:38.42 ID:by71bbn3.net
>>715
typesモジュールのSimpleNamespaceおすすめ
3.3からないけど、ちょっと書くだけで同じようにできる

723 :デフォルトの名無しさん:2014/05/04(日) 01:34:53.35 ID:fWNF7dW3.net
昨日からプログラミング始めた者です。
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.net
>>723
http://www.isl.ne.jp/pcsp/
↑に
> Javaを学んだ方が次にPythonを学ぶためのコンテンツです。
ってあるけど、Javaで一通りプログラミング学んでるのが前提のコンテンツっぽいよ

725 :デフォルトの名無しさん:2014/05/04(日) 02:02:44.07 ID:fWNF7dW3.net
一応、24回までは問題なく理解できて、わからないのが最終回だけなんです・・・
もしかして、デコレーターって初心者にとってはそんなに重要じゃない構文っぽい感じですか?

726 :デフォルトの名無しさん:2014/05/04(日) 02:07:37.16 ID:eLppgy1d.net
@deco
def func(): pass
これは
def func(): pass
func = deco(func)
と同じ意味になる、というのがデコレータ

727 :デフォルトの名無しさん:2014/05/04(日) 02:09:07.63 ID:3yZ8GKpR.net
>>725
最初はライブラリで用意されているデコレーターを使えるようにするといいと思う

728 :デフォルトの名無しさん:2014/05/04(日) 02:10:57.65 ID:3yZ8GKpR.net
>>725
最初はライブラリで用意されているデコレーターを使えるようにするといいと思う

729 :デフォルトの名無しさん:2014/05/04(日) 02:13:30.49 ID:3yZ8GKpR.net
うわ、大事なことなので二回言いましたw

730 :デフォルトの名無しさん:2014/05/04(日) 02:34:17.12 ID:fWNF7dW3.net
>>726
あっ、そういうことですか。ありがとうございます。
f()にfunc()が来てそれをreturnで返して
func()で出力するみたいなイメージで大丈夫ですか?

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

>>729
まだライブラリがなんなのかわかんないですw

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

デコレーターに引数を使うときって
@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.net
func = deco(False)(func)
下のは
func = deco(deco(func))

733 :デフォルトの名無しさん:2014/05/04(日) 03:30:38.19 ID:fWNF7dW3.net
>>732
助かりました。
本当にありがとうございます。

734 :デフォルトの名無しさん:2014/05/04(日) 03:35:47.48 ID:eLppgy1d.net
まあリファレンスに書いてあることなので自分で調べてね
docs.python.jp/2.7/reference/compound_stmts.html#def

735 :デフォルトの名無しさん:2014/05/04(日) 03:44:28.00 ID:3yZ8GKpR.net
>>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.net
>>734
うぉ。
頑張って基礎用語習得して、ググって自力で理解できるように精進します^^;

>>735
関係ないんですね、よかった。
ありがとうございます。

737 :デフォルトの名無しさん:2014/05/04(日) 11:13:50.72 ID:fWNF7dW3.net
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.net
失敬、連投規制にあったもので
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.net
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.net
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.net
環境はWin8.1 Python2.7 IDEはSpyder使用。

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

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

仮想環境はアプリごとに作成するイメージかと思っていたのですが、これでは切り替えが大変そうだと感じています。

742 :デフォルトの名無しさん:2014/05/04(日) 16:54:04.48 ID:/ciZwNf1.net
virtualenvのactivateがやってることは、突き詰めれば環境変数の設定だけです
逆に言えば、その辺が分からないうちはまともに使いこなせないでしょう

743 :デフォルトの名無しさん:2014/05/04(日) 21:17:13.57 ID:BMIVG0Uu.net
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.net
for a in (a1, a2):
 for i in a: a3.append(i["name"])

745 :デフォルトの名無しさん:2014/05/04(日) 21:51:16.36 ID:3yZ8GKpR.net
>>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.net
>>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.net
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.net
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.net
>>747-748
ありがとうございます
質問してよかったです

750 :デフォルトの名無しさん:2014/05/05(月) 04:40:06.89 ID:V3vcFv9Y.net
解けた( ゚∀゚)アハハ

dpaste.com/2MAMCN6/
デバックで鍛えられた気がする

751 :デフォルトの名無しさん:2014/05/05(月) 07:18:20.03 ID:cHX/h0cw.net
下の総当りの試し割りより遅かったことに驚きを隠せない
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.net
あー、行間が空いて煽ってるようしか見えないけどコピペ失敗しただけなので他意はない

753 :デフォルトの名無しさん:2014/05/05(月) 08:20:26.38 ID:7UNz02if.net
2014-05-05T22:37:16+09:00
2014年05月05日 22時37分という風に変換したいのですが
調べていろいろしてもうまくいきませんでした。お詳しい方教えてほしいです。

754 :デフォルトの名無しさん:2014/05/05(月) 09:16:12.13 ID:438PWgy8.net
>>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.net
>>753
ちなみにどういうコードを書いたのか教えて

756 :デフォルトの名無しさん:2014/05/05(月) 12:07:13.25 ID:qzGHizbC.net
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.net
>>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.net
>>753
ありがとうございます!関数でさくっと書けるのかと思ってたんですが
そうでもないんですね。
>>755
http://memo.yomukaku.net/entries/ousMbZn
このサイトの下の方のrfc3339の変換の所とかです。

759 :デフォルトの名無しさん:2014/05/05(月) 12:41:58.65 ID:Vmp3/Tts.net
>>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.net
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.net
何でそんな実装したいんだ

762 :デフォルトの名無しさん:2014/05/05(月) 15:50:05.31 ID:VmBcg0a4.net
>>760
a[0] = None

763 :デフォルトの名無しさん:2014/05/05(月) 16:58:40.05 ID:k18S6kVx.net
Noneを代入しているだけでけしているわけではないような・・

764 :デフォルトの名無しさん:2014/05/05(月) 17:09:14.91 ID:8DpUAbkT.net
>>760
まず「削除」の意味を説明してから。
そしてだれかしらに「馬鹿」と呼ばれるかもしれないという心の準備。

765 :デフォルトの名無しさん:2014/05/05(月) 17:11:08.58 ID:Vmp3/Tts.net
collections.OrderedDict が使えるかもしれないけどあくまで辞書だからなあ

766 :デフォルトの名無しさん:2014/05/05(月) 17:19:41.94 ID:k18S6kVx.net
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.net
>>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.net
len(a) == 2 && a[1] == 1 && a[2] == 2
となることを希望してるんだろうな、、、

769 :デフォルトの名無しさん:2014/05/05(月) 17:27:43.15 ID:psAfZxcP.net
len(a) == 2 && a[1] == 2 && a[2] == 3
となることを希望してるんだろうな、、、

770 :デフォルトの名無しさん:2014/05/05(月) 17:29:37.78 ID:075cSel2.net
大事なことなので

771 :デフォルトの名無しさん:2014/05/05(月) 17:42:26.85 ID:eaEmMsOF.net
>>742
virtualenvは環境変数が変わることで環境を切り替えるんですね。
その発想がありませんでした。

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

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

こんな感じで試してみようと思います。
なにか、勘違い等指摘ありましたらおねがいします。

772 :デフォルトの名無しさん:2014/05/05(月) 18:00:33.62 ID:xdltUMHs.net
pyenv localでプロジェクトごとに環境を指定しろ

773 :デフォルトの名無しさん:2014/05/05(月) 18:04:41.28 ID:Vmp3/Tts.net
>>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.net
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.net
a = [1,2,3]
d = dict(enumerate(a))
del d[0]

辞書である程度できるけど、ループさせる時とか面倒だし
PHPのarrayと同等のクラスを自作すべきじゃないの

776 :デフォルトの名無しさん:2014/05/05(月) 18:40:24.56 ID:Vmp3/Tts.net
>>774
普通の辞書だと順序が保持されないから
要素を追加してからループで回す場合などに不安がある

777 :デフォルトの名無しさん:2014/05/05(月) 19:18:16.62 ID:VYxUQVAf.net
>>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.net
覚え書き:関数内で変数を定義しないとUnboundLocalError

779 :デフォルトの名無しさん:2014/05/06(火) 00:43:30.98 ID:SnxCJScG.net
>>778
つ global、nonlocal

780 :デフォルトの名無しさん:2014/05/06(火) 02:19:05.68 ID:lMfO+tXs.net
>>779
おお、globalでもできました!
nonlocalは調べてみたけど日本語が難しくてわからんない(´・ω・`)

781 :デフォルトの名無しさん:2014/05/06(火) 03:29:11.08 ID:W1irTGxy.net
質問です
あるファイルオブジェクト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.net
破壊的に内容を書き換えるわけじゃないんだから当然の結果かと

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

リストのlist.append、list.removeなどは、ちゃんと元のlistを書き換えてくれるのですよね
わけわからなくなってきました

785 :デフォルトの名無しさん:2014/05/06(火) 03:52:54.40 ID:W1irTGxy.net
>>783
ありがとうございます
メソッドによって、元のデータを書き換える、書き換えないが決まっていて
統一したルールはないという感じなのでしょうか…

786 :デフォルトの名無しさん:2014/05/06(火) 03:56:20.79 ID:l/RnXGfS.net
ちなみに 2.7.3

787 :デフォルトの名無しさん:2014/05/06(火) 04:12:45.79 ID:yrujgySY.net
Rubyでは、sortなら新しい配列を返し、
sort! なら元の配列を変更する

破壊的なメソッドには、"!"が付く

788 :デフォルトの名無しさん:2014/05/06(火) 04:19:07.18 ID:4v5jSx26.net
text2 = text.rstrip("java").replace("ruby", "python")

789 :デフォルトの名無しさん:2014/05/06(火) 04:46:23.00 ID:W1irTGxy.net
>>787
正直その仕様うらやましいです。
私が慣れていないだけで、普通破壊的非破壊的は瞬時に分かるんでしょうか。
>>788
連結することができるんですね。ありがとうございます。
でも、変な中間オブジェクト作りたくないので、replaceのみを使うことにします。

790 :デフォルトの名無しさん:2014/05/06(火) 06:12:53.90 ID:Ov8NCVuR.net
破壊的なメソッドは名前が命令っぽいし非破壊的なら質問っぽいから大半は見分けがつく
どっちなのか不安になったらその都度マニュアルを読んだりサンプルを書いて調べる
ちなみに文字列はイミュータブル(変更不可)なオブジェクトだからメソッドが破壊的ということはないよ

791 :デフォルトの名無しさん:2014/05/06(火) 06:22:59.45 ID:mQys0jOp.net
基本型の範囲内で、イミュータブル型とミュータブル型の双方にあるメソッドで破壊的なのってあったっけ?

792 :デフォルトの名無しさん:2014/05/06(火) 07:20:46.43 ID:ajZm0pRN.net
odsファイルをlibreofficeで開きたいのですが方法が分かりません。
環境はlinuxです
ファイラーでファイルをダブルクリックした時の動作をpythonで実行させるにはどうしたらいいでしょうか?

793 :デフォルトの名無しさん:2014/05/06(火) 07:36:49.19 ID:en11SVnb.net
>>792
開くだけなら
import os
os.system('libreoffice /path/to/file')
フルパスのほうがいいかも

794 :デフォルトの名無しさん:2014/05/06(火) 08:24:29.54 ID:ajZm0pRN.net
>>793
即レスありがとうございました!出来ました!!

795 :デフォルトの名無しさん:2014/05/06(火) 10:03:38.14 ID:lMfO+tXs.net
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.net
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.net
>>789
text = text.rstrip("java")みたいに再代入すればいいだろ
それに変なことでもないし間違った考えは捨てるべき

798 :デフォルトの名無しさん:2014/05/06(火) 12:45:00.86 ID:lMfO+tXs.net
クラス例外ってのがあるのですね!
今早速python Japanのチュートリアルを調べてみたのですが、エラーの例外処理しか書いてなくて
基本構文がどう働いているのかわかんない感じです。それで例外処理のメソッドの作り方もちょっとわかりません。

www.bioinfo.sfc.keio.ac.jp/class/genpro/Texts/Python1_4.htm
の最後の課題を仕上げて例外処理はぜひモノにしたいです!

799 :デフォルトの名無しさん:2014/05/06(火) 13:39:43.39 ID:THhaAqsS.net
対話型でエンターを使わずに改行してそのまま打つ方法ってありますか?

800 :デフォルトの名無しさん:2014/05/06(火) 13:53:34.81 ID:IYRNLtkR.net
こういうことか?
>>> print("Hello, \
... World.")
Hello, World.

801 :デフォルトの名無しさん:2014/05/06(火) 14:08:47.29 ID:THhaAqsS.net
>>800
いや、長いプログラム書くときに

802 :デフォルトの名無しさん:2014/05/06(火) 14:09:57.93 ID:SnxCJScG.net
>>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.net
>>801
対話モードで長いプログラムを書くメリットがあるとは思えん
もしかしてテキストエディタを知らないとか?

804 :デフォルトの名無しさん:2014/05/06(火) 14:18:58.04 ID:THhaAqsS.net
>>803
あ、そうなんだ

テキストエディタは知ってるよ、ありがとう

805 :デフォルトの名無しさん:2014/05/06(火) 14:50:07.11 ID:HHA7qseK.net
モジュールのソースをダウンロードして python setup.py install という具合にインストールしようとしたのですが
pythonがvcvarsall.batを見つけてくれず途方に暮れています
vcvarsall.batを見つけられるようにpathにそれの入っている場所を通してはあります
これ以外の原因にはどんなものがあるんでしょうか

806 :デフォルトの名無しさん:2014/05/06(火) 14:51:48.03 ID:MUfoCXqr.net
変数内のhtmlタグはそのままで、htmlタグ以外の<>を&lt;と&gt;に変換したいのですが、
何かいい方法があれば教えて下さい。

807 :デフォルトの名無しさん:2014/05/06(火) 14:59:41.46 ID:mSyZL6kn.net
そんな壊れたhtmlを扱うのがおかしい
htmlを修正すればいい話で言語側で頑張る必要はない

808 :806:2014/05/06(火) 15:06:52.43 ID:MUfoCXqr.net
>>807
html側は修正出来ないのです。
取得元がそういう仕様なので。
出来ないのであれば、諦めます。

809 :デフォルトの名無しさん:2014/05/06(火) 15:10:38.12 ID:SnxCJScG.net
普通に正規表現で置換すればいいと思うけど

810 :デフォルトの名無しさん:2014/05/06(火) 15:25:38.23 ID:WFiBnAhm.net
pygame、PyOpenGLがインストールされているか確認する方法はありますか?

811 :デフォルトの名無しさん:2014/05/06(火) 17:33:14.27 ID:lZ9VvgZb.net
ねえねえPythonで猫は作れないの?

812 :デフォルトの名無しさん:2014/05/06(火) 17:42:42.86 ID:ZzGxE59U.net
>>806
HTML Tidy http://tidy.sourceforge.net/ をPythonから使うライブラリの
uTidylib http://utidylib.berlios.de/ が有効かもしれない

813 :デフォルトの名無しさん:2014/05/06(火) 19:53:15.64 ID:5XUZJ6Yv.net
>>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.net
おおおお、そういうことだったかのか!
一度寝てもう一回見てみたらすぐにわかりました!
疲れたらいろいろ見えなくなるんですねw
ありがとうございます
>>796
>>802

815 :デフォルトの名無しさん:2014/05/06(火) 22:16:58.03 ID:VFOQQ2EH.net
p e p 8がチェックできる日本語のライブラリってありませんか?

816 :806:2014/05/06(火) 22:40:12.03 ID:MUfoCXqr.net
>>812
情報有難うございます。
試してみましたが、思っていたものとは少し違うようでした。
しかし、BeautifulSoupでやりたいことが出来ましたので、解決しました。
どうもありがとうございました。

817 :デフォルトの名無しさん:2014/05/06(火) 23:06:52.08 ID:JE14s1BU.net
>>815
そもそもPEP8は英語使えといってるので諦めてはいかがですか?

818 :デフォルトの名無しさん:2014/05/07(水) 01:02:55.33 ID:aO+ETnaV.net
なんでおれは空白を入れないとp e p 8って書込ができないのにあなたは普通に書き込めるのか!?

819 :デフォルトの名無しさん:2014/05/07(水) 01:04:02.36 ID:MbwxJpTd.net
そんなばかな
pep8

820 :デフォルトの名無しさん:2014/05/07(水) 01:16:41.45 ID:aO+ETnaV.net
pep8

821 :デフォルトの名無しさん:2014/05/07(水) 01:17:08.16 ID:aO+ETnaV.net
PEP8

822 :デフォルトの名無しさん:2014/05/07(水) 01:18:07.88 ID:aO+ETnaV.net
あれおかしいなpep8じゃなかった
なんのキーワードに引っかかったんだろう

823 :デフォルトの名無しさん:2014/05/07(水) 03:19:51.82 ID:XMc35o9t.net
クマー

824 :デフォルトの名無しさん:2014/05/07(水) 10:45:11.98 ID:IG27RCGq.net
pep8がチェックできる日本語のライブラリってありませんか?

どれどれテスト

825 :デフォルトの名無しさん:2014/05/07(水) 10:59:31.11 ID:PrO7m2H3.net
パイソン勉強すると慶應女とやれるって聞きました
本当ですか?

826 :デフォルトの名無しさん:2014/05/07(水) 18:12:47.91 ID:afXZQj4c.net
俺がやれてないので嘘です
諦めてください

827 :デフォルトの名無しさん:2014/05/07(水) 19:07:36.21 ID:3Ol92AoL.net
PEP8ってファイルにエンコーディング宣言をするなっていうじゃないですか
ここの先輩方は書いてますか?

828 :デフォルトの名無しさん:2014/05/07(水) 19:27:13.74 ID:MbwxJpTd.net
書いてますよ
そもそもPEP8にしたがってませんから

829 :デフォルトの名無しさん:2014/05/08(木) 13:21:04.96 ID:x2u5Ly7T.net
使っているライブラリがだいたいPEP8違反品なので
俺だけルールを守るは癪に障る

830 :デフォルトの名無しさん:2014/05/08(木) 16:35:43.24 ID:cPEtHP5z.net
質問
linuxでwindowsみたいにダブルクリックで自動でコンソール開いて実行できるようにできますか?

831 :デフォルトの名無しさん:2014/05/08(木) 16:39:56.16 ID:pICCUeeH.net
>>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.net
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.net
いろいろパッケージいれまくってインストールしなおしたらimportできました

834 :デフォルトの名無しさん:2014/05/09(金) 01:02:39.44 ID:JCnUB0up.net
curses のときとまったく同じじゃないかもう

835 :デフォルトの名無しさん:2014/05/09(金) 01:40:44.28 ID:4s2/CMbE.net
まるでせいちょうしていない…のか?

836 :デフォルトの名無しさん:2014/05/09(金) 13:53:55.22 ID:EGRUO5Vh.net
class Foo(object):

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

こういう空行ってみなさん空白入れてます?

837 :デフォルトの名無しさん:2014/05/09(金) 14:08:53.76 ID:YrW3FNu3.net
docstring

838 :デフォルトの名無しさん:2014/05/09(金) 14:18:26.67 ID:nE7abbck.net
pep8的には入れないほうがいい
でもそこまできにしてない

839 :デフォルトの名無しさん:2014/05/09(金) 17:26:25.80 ID:9HGetkQv.net
PEP8的にはメソッド定義とメソッド定義の間には1行空き入れなきゃダメじゃね?

840 :デフォルトの名無しさん:2014/05/09(金) 17:51:59.51 ID:c/ZVCJmS.net
ルールを守るのは誰のためか

841 :デフォルトの名無しさん:2014/05/09(金) 18:14:43.74 ID:hUKEzlG4.net
なんでdef test(self)みたいにselfをいちいち書か無いといけないか
そうい議論のある英文のページがあったんですが誰か知りませんか?
結構前からあったんですがブックマークから消えてしまい探すにも探せなくなりました

842 :デフォルトの名無しさん:2014/05/09(金) 18:17:46.64 ID:Aqb6F0qE.net
ブックマークのバックアップが残ってるんじゃないかなー

843 :デフォルトの名無しさん:2014/05/09(金) 18:28:45.22 ID:JCnUB0up.net
>>841
このへん?
https://docs.python.org/3/faq/design.html#why-must-self-be-used-explicitly-in-method-definitions-and-calls
http://stackoverflow.com/questions/2709821/python-self-explained
http://neopythonic.blogspot.jp/2008/10/why-explicit-self-has-to-stay.html

844 :デフォルトの名無しさん:2014/05/09(金) 22:46:18.31 ID:hqonRqi4.net
左上x,y = 0, 0
右下x,y = 100, 100
の縦横100の四角形の面積を取得できる便利なパッケージを教えてください

845 :デフォルトの名無しさん:2014/05/09(金) 23:23:49.12 ID:0vzS+9FX.net
10000

846 :836:2014/05/10(土) 01:06:06.59 ID:7U2NdoEH.net
とりあえず空白だけの行が(一般的に)許容されない感じではなさそうですねありがとうございます

847 :デフォルトの名無しさん:2014/05/10(土) 01:40:57.47 ID:YTeWN6yt.net
>>843
んんんちがいます

848 :デフォルトの名無しさん:2014/05/10(土) 09:38:24.78 ID:DCeTf/Ac.net
初心者です。
://dpaste.com/3ZE6FR6/
これをコマンド実行すると

数当てゲーム ランダムに生成される1~100までの中の数を当てよう
あなたが答えだと予測する数を答えなさい: 3
3
25
3
25
正解よりも大きすぎますよ
あなたが答えだと予測する数を答えなさい:

となりますが、if x > n:の、どの辺がおかしいのでしょうか?
xとnに問題がある感じでしょうか?

助けてください

849 :デフォルトの名無しさん:2014/05/10(土) 09:45:07.34 ID:5aO9PoDI.net
xが文字列のまま比較してる
x = int(raw_input("あなたが答えだと予測する数を答えなさい: "))

850 :デフォルトの名無しさん:2014/05/10(土) 09:45:17.07 ID:O7mBqXvM.net
>>848
整数と文字列を比較してしまってるよ
randint() は整数を返し raw_input() は文字列を返す
直すには raw_input() の返り値の文字列を int() で整数に変換する

851 :デフォルトの名無しさん:2014/05/10(土) 10:40:25.62 ID:DCeTf/Ac.net
>>849
>>850
ありがとうございます!無事に動くようになりました!!

852 :デフォルトの名無しさん:2014/05/10(土) 11:00:58.04 ID:FyHL6scA.net
仕事で使うならPython2のほうでコードかけるほうがいいですか?
2020年まではPython3に手をつけても仕事になりませんか?

853 :デフォルトの名無しさん:2014/05/10(土) 11:02:46.36 ID:hc+7iE7K.net
そもそもPythonの仕事がないから
仕事がしたいなら他の言語にした方がいい

854 :デフォルトの名無しさん:2014/05/10(土) 11:12:51.46 ID:hc+7iE7K.net
あと言わせてもらえば
Python2が書けるならPython3も書けるよ
逆に言えば、そのぐらいできて貰わないとアピールされても笑うしかない

855 :デフォルトの名無しさん:2014/05/10(土) 11:37:11.38 ID:gCJbXOs2.net
仕事は与えられるもんじゃなくて作るもんなんだよ
公務員と馬鹿はそこを判ってないから日本が貧乏になる

856 :デフォルトの名無しさん:2014/05/10(土) 18:01:22.01 ID:syuWZrtz.net
公務員が仕事作ったら、民業圧迫されるけどな。

857 :デフォルトの名無しさん:2014/05/10(土) 18:15:35.72 ID:S6+Ypxbi.net
それで潰れた民業は数知れず

858 :デフォルトの名無しさん:2014/05/10(土) 19:47:12.58 ID:DCeTf/Ac.net
官僚が新しい仕事を作る(天下り用)

859 :デフォルトの名無しさん:2014/05/10(土) 19:54:29.33 ID:2hs2epHy.net
最近はビッグデータサイエンティスト協会とかあってワロス

860 :デフォルトの名無しさん:2014/05/10(土) 20:12:31.18 ID:hc+7iE7K.net
サイエンティストというよりアナリストの方があってる気はする

861 :デフォルトの名無しさん:2014/05/10(土) 20:30:20.23 ID:+BfkYh95.net
>>853
最近はそうでもない
少ない事は確かだけど

862 :デフォルトの名無しさん:2014/05/10(土) 20:41:43.05 ID:6rGtqNvJ.net
Python3で仕事あるの?

863 :デフォルトの名無しさん:2014/05/10(土) 20:46:18.08 ID:Om1HfajV.net
>>861
案件ある?
珍しい案件だと一年ぐらい前に Ada の案件があったけど、スクリプトの案件は見たことないなぁ。

864 :デフォルトの名無しさん:2014/05/10(土) 21:11:58.81 ID:YicDXZuz.net
Pythonでお願いしますって案件は無いけどGAE案件でPython使うならあるんじゃない?最近みんなAWS?

865 :デフォルトの名無しさん:2014/05/10(土) 21:13:54.59 ID:+BfkYh95.net
>>862-863
転職サイト登録してたら、今年入ってから何社からかPython使える人でスカウトみたいなのきたよ
2か3かはしらん

866 :デフォルトの名無しさん:2014/05/10(土) 21:27:17.14 ID:1UdWQOvd.net
python3.4(64bit) と python2.7.6(64bit) をインストールしているのですが
python 2.7.6 の IDLE が起動しません。
何が原因でしょうか?
以前は32bitだったので32bitに戻してみたりしたのですが、やはり起動しません。

タスクマネージャーを見ているとpythonw.exeは動いているがウィンドウはでない状況です。

以前は起動していたと思うのですが、、、
もしかしたら起動したことなかったかもしれません

867 :デフォルトの名無しさん:2014/05/10(土) 21:29:52.28 ID:MW3M2eQ/.net
ツールソフトウェアをサクっと作れちゃう人って重宝されそうだな

868 :デフォルトの名無しさん:2014/05/10(土) 21:36:14.87 ID:Om1HfajV.net
>>864-865
そうなのか、うちには来ないなぁ。
まあ、組み込みメインだからなぁ。

869 :デフォルトの名無しさん:2014/05/10(土) 21:37:30.38 ID:yuW7BMQH.net
pythonの仕事が(一つでも)ある?ならあるに決まってるし
pythonの仕事が(大量に)ある?ならないと言わざるを得ない

まず日本語

870 :デフォルトの名無しさん:2014/05/10(土) 21:55:17.88 ID:Om1HfajV.net
面倒な奴が現れた!!

  たたかう
  なかまにする
⇒ にげる

871 :デフォルトの名無しさん:2014/05/10(土) 23:13:28.06 ID:lPfouZhg.net
何でrailsは日本でたくさん仕事があるのか?
それは勉強会とか告知とかでrailsに興味を持つ人が増えたから
pythonはどうよソーシャルイベントサイト見ても勉強会なんて皆無じゃん
この違いだよ

872 :デフォルトの名無しさん:2014/05/10(土) 23:17:13.94 ID:lPfouZhg.net
>>866
http://lmgtfyドットcom/?q=python+idle+%E8%B5%B7%E5%8B%95%E3%81%97%E3%81%AA%E3%81%84

873 :デフォルトの名無しさん:2014/05/10(土) 23:20:30.12 ID:6rGtqNvJ.net
>>872
投稿禁止を頑張って貼り付けてますね
JIMに規制されてしまえ

railsなんていらないよ
rubyなんて爆発してしまえ!

874 :デフォルトの名無しさん:2014/05/10(土) 23:23:52.47 ID:hc+7iE7K.net
chef使えなくなると割と困る

875 :デフォルトの名無しさん:2014/05/11(日) 01:29:42.51 ID:JMTRN5uv.net
>>873
こびてんじゃねえよ

876 :デフォルトの名無しさん:2014/05/11(日) 03:59:27.66 ID:o03oWJtW.net
>>871
じゃあこのスレ有志で勉強会開く?

良いねぇ

誰も来ない

ラララ無人くんララララ

877 :デフォルトの名無しさん:2014/05/11(日) 05:30:23.75 ID:ZUz+4RUs.net
昭和生まれのセンス

878 :デフォルトの名無しさん:2014/05/11(日) 07:58:40.23 ID:uVLDDIJF.net
勉強会ってそれなりに人来てるでしょ

879 :デフォルトの名無しさん:2014/05/11(日) 16:53:34.76 ID:1uY5uXf8.net
すみません。
プログラミング初心者です

#coding:utf-8

import random

a = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
m = random.randint(0, len(a) - 1)
n = random.randint(0, len(a) - 1)
print a[m:m + 1] + a[n:n + 1]

これを出力すると?と表示され、どうも文字列のスライスができていないようです。
試しにabcdでやってみたらできました。
pythonは日本語文字列のスライスはできないのでしょうか?
もし、できないのであれば、それに代替する方法はありませんか?

880 :デフォルトの名無しさん:2014/05/11(日) 17:06:12.36 ID:CvVjg5xA.net
a = u"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"

881 :デフォルトの名無しさん:2014/05/11(日) 17:06:37.36 ID:/HIIktiB.net
>>879
初心者がなぜPython2とか使うのかね

882 :デフォルトの名無しさん:2014/05/11(日) 17:07:49.26 ID:o03oWJtW.net
馬鹿は Python3 使った方が良いよ

883 :デフォルトの名無しさん:2014/05/11(日) 17:24:04.53 ID:qkdWQCFA.net
import random

a = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"
m = random.randint(0, len(a) - 1)
print a[:m] + a[m:]

884 :デフォルトの名無しさん:2014/05/11(日) 17:25:05.30 ID:1uY5uXf8.net
>>880
ありがとうございます!
できました!!
今まで日本語入力のときuってつけてなくても大丈夫だったんですが
uってどんなときにつければいいのですか?

Macに最初から入ってる&ネットで書かれてる初心者向けのページにpython2が多い
でなんとなく使ってますが
移行とか考えたらpython3の方がいいんですかね

885 :デフォルトの名無しさん:2014/05/11(日) 17:27:05.30 ID:qkdWQCFA.net
print len("あいうえお")

886 :デフォルトの名無しさん:2014/05/11(日) 17:37:45.52 ID:1uY5uXf8.net
15...!?
そーゆことか(´・ω・`)

choiceってあるんだー覚えとこ

887 :デフォルトの名無しさん:2014/05/11(日) 17:44:23.91 ID:YJ73HR2B.net
解決したっぽいけど Python 2 の文字列はバイト列と UNICODE 文字列の二種類ある
"あいう" って書けばバイト列(str 型)だし
u"あいう" って書けば UNICODE 文字列(unicode 型)になる
>>879 が失敗してるのは文字ではなくバイト単位でスライスしてるから

888 :デフォルトの名無しさん:2014/05/11(日) 17:47:25.06 ID:CvVjg5xA.net
>>884
a = u"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん"

a = "あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん".decode('utf-8')

意味の違い(結果は同じ)を理解しろ

889 :デフォルトの名無しさん:2014/05/11(日) 17:48:05.41 ID:U9zKyXum.net
>>878
地方の勉強会は2012年前後に盛り上がってその後に衰退しているようです。

「python 勉強会 xx(都道府県名)」で検索すると数年前の予定ばかりがヒットします。

890 :デフォルトの名無しさん:2014/05/11(日) 17:54:04.15 ID:CvVjg5xA.net
わざわざ勉強会開かなくても使えるからなぁ

891 :デフォルトの名無しさん:2014/05/11(日) 17:55:18.17 ID:qkdWQCFA.net
なんとか女子とかなんとかgirlって名前の勉強会がちらほらあるけど女食い放題w

892 :デフォルトの名無しさん:2014/05/11(日) 18:00:37.41 ID:chwYgq40.net
勉強会って誰が教えてくれるの?

893 :デフォルトの名無しさん:2014/05/11(日) 18:02:22.57 ID:1uY5uXf8.net
>>887
なるほど
わかりやすい

894 :デフォルトの名無しさん:2014/05/11(日) 18:32:42.06 ID:8m9s6VXd.net
>>892
メーカーなどの公式や研究発表的な場だと、誰かが発表する形式
趣味な勉強会だと、相互に調べたことを発表したりすることも

895 :デフォルトの名無しさん:2014/05/11(日) 19:15:51.84 ID:CvVjg5xA.net
勉強会というより発表会やね

896 :デフォルトの名無しさん:2014/05/11(日) 19:28:58.79 ID:FSklA4+5.net
じゃあGoogle+のハングアウト機能(ビデオチャット)を使って勉強会しましょう
23才以下の女性限定です

897 :デフォルトの名無しさん:2014/05/11(日) 19:33:38.53 ID:Cg8vEtB8.net
>>896
もちろん君もその条件に当てはまってるんだよね?w

898 :デフォルトの名無しさん:2014/05/12(月) 05:36:20.08 ID:1hZHnOd8.net
勉強会に変なあこがれ抱いてる奴がいるな

899 :デフォルトの名無しさん:2014/05/12(月) 09:00:39.98 ID:5R38u7Kk.net
勉強会って技術もコミュ力も兼ね備えた奴がLTとかやって気持ちよくなるところでしょ?

900 :デフォルトの名無しさん:2014/05/12(月) 09:20:12.87 ID:wWq7mhJO.net
オフ会ですよ

901 :デフォルトの名無しさん:2014/05/12(月) 12:11:18.23 ID:VLzujVrW.net
アタシは一応女だけど女性限定なのに何故か数人男が混じってることもあったよ
口には出さないけど出会い厨なんだな〜って思いました

902 :デフォルトの名無しさん:2014/05/12(月) 12:12:10.04 ID:VLzujVrW.net
あとやたらTwitterで褒めてくる人とかも下心見え見え

903 :デフォルトの名無しさん:2014/05/12(月) 12:14:49.80 ID:9VQLdq3v.net
Connector/Pythonを使っている人がいたら訊きたいのですが

ここに載っているような
http://dev.mysql.com/doc/connector-python/en/connector-python-example-cursor-transaction.html

add_employee = ("INSERT INTO employees "
          "(first_name, last_name, hire_date, gender, birth_date) "
          "VALUES (%s, %s, %s, %s, %s)")
data_employee = ('Geert', 'Vanderkelen', tomorrow, 'M', date(1977, 6, 14))
cursor.execute(add_employee, data_employee)

この各columnのvalueとして与える値を第二引数にあてるやり方は
モジュールのほうで勝手に値をエスケープ処理してくれるんでしょうか

904 :デフォルトの名無しさん:2014/05/12(月) 12:18:16.18 ID:bllVZHXA.net
GUMIの社員さんが最近公開したmysqlライブラリあるよね

905 :デフォルトの名無しさん:2014/05/12(月) 13:08:22.95 ID:p51rX6eD.net
MySQLdb.escape_string("text");

906 :デフォルトの名無しさん:2014/05/12(月) 13:18:35.07 ID:1hZHnOd8.net
DB-APIの仕様だと、文字列をバインドする際には""を補ってくれます

他は特に規定されてないです
文字列の中に"が含まれている場合、適切にエスケープする・・・なんて仕様もないです
プレースホルダが動的か静的かも分からないです
ははは

907 :デフォルトの名無しさん:2014/05/12(月) 13:21:50.65 ID:1hZHnOd8.net
ちなみにMySQLdbでは>>905ですが、Connectorでは
mysql.connector.conversion.MySQLConverter.escape
などという名前のAPIを使います。

908 :デフォルトの名無しさん:2014/05/12(月) 13:46:09.93 ID:pvUJO8KZ.net
死にたい

909 :デフォルトの名無しさん:2014/05/12(月) 13:51:37.86 ID:M42ssIHT.net
僕も

910 :デフォルトの名無しさん:2014/05/12(月) 14:03:48.45 ID:1hZHnOd8.net
5月病?

911 :デフォルトの名無しさん:2014/05/12(月) 14:09:56.88 ID:fDUnFXu4.net
「死に体」(しにたい)は、相撲用語で自力で回復不可能なほど姿勢のバランスが崩れた状態を指す。

912 :デフォルトの名無しさん:2014/05/13(火) 01:40:47.72 ID:kDNoyhrO.net
http://maguro.2ch.net/test/read.cgi/pc2nanmin/1372918692/145
  ↑  ↑  ↑  ↑  ↑ 

913 :デフォルトの名無しさん:2014/05/13(火) 15:51:35.84 ID:a6/E78aI.net
他のプログラムが起動した時間を調べるのはどうしたらいいの?
プログラムを起動してから経った時間を表示するプログラムを作りたいんだけど・・・

914 :デフォルトの名無しさん:2014/05/13(火) 17:08:03.82 ID:QamV8/xT.net
バイナリを文字列に変換する方法を教えてください
こういうの→45c0 004c 7dff

915 :デフォルトの名無しさん:2014/05/13(火) 17:22:41.57 ID:byxjoTLq.net
>>914
バイナリは読み込む文字コードによって文字列が異なるから、つまり一つのバイナリから多数の文字列候補が存在することになるわけだが

916 :デフォルトの名無しさん:2014/05/13(火) 17:51:53.30 ID:YbBU7wze.net
>>913
起動時間をどこかに記録しておかないとダメ
Linux 使いなら
$ ps -p PID -o etime
でいける

あと、こういうのとか?
>>> os.times()
posix.times_result(user=0.16, system=0.03, children_user=0.08, children_system=0.02, elapsed=17418884.28)

917 :デフォルトの名無しさん:2014/05/13(火) 18:08:48.73 ID:/alfYFfo.net
>>915
UTF-8kEUC-JPかSJISだとお考えください

918 :デフォルトの名無しさん:2014/05/13(火) 18:42:45.14 ID:PyBUTxE2.net
>>914
http://docs.python.jp/3.3/library/stdtypes.html#bytes.decode

919 :デフォルトの名無しさん:2014/05/13(火) 19:11:06.90 ID:rubilRFQ.net
>>913
psutilが使える環境なら下のようにできる
from datetime import datetime, timedelta, timezone
import psutil

JST = timezone(timedelta(hours=9))

for proc in psutil.process_iter():
 try:
  name = proc.name()
 except psutil.AccessDenied:
  continue
 time = datetime.fromtimestamp(proc.create_time(), JST)
 print('{:30}{}'.format(name, time))

920 :デフォルトの名無しさん:2014/05/13(火) 21:17:24.71 ID:a6/E78aI.net
>>916
$ ps -p PID -o etime
これで経過時間を調べれることまではわかったんだけどその後どうすればいいのやら

例えばブラウザを起動したらこのプログラムも自動で起動して、ブラウザを使った時間を表示するプログラムを作りたいんだ

ブラウザを起動すると同時にこのプログラムも起動するのは無理?

921 :デフォルトの名無しさん:2014/05/13(火) 21:34:32.28 ID:a6/E78aI.net
import subprocess

x = subprocess.check_output(["pidof", "firefox"])
pid = x.decode().rstrip()
y = subprocess.check_output(["ps", "-p", pid, "-o", "etime"])
elapsed = y.decode().strip(" ").strip("ELAPSED").strip("\n").strip(" ")
print(elapsed)

ここまで書いたんだけどこれの実行結果が01:32:00みたいになって数値として扱えないじゃんって気づいて詰まった

922 :デフォルトの名無しさん:2014/05/13(火) 21:36:25.61 ID:FaOmhydn.net
そこまで書けてんのに何でだよギャグかよ

923 :デフォルトの名無しさん:2014/05/13(火) 22:05:06.72 ID:YbBU7wze.net
>>913
> プログラムを起動してから経った時間を表示するプログラムを作りたいんだけど・・・

> print(elapsed)

作ってるじゃん!
冗談としても、後は頑張って。
>>> hms = "01:02:03"
>>> tm = time.strptime(hms, "%H:%M:%S")
>>> print(tm)
time.struct_time(tm_year=1900, tm_mon=1, tm_mday=1, tm_hour=1, tm_min=2, tm_sec=3, tm_wday=0, tm_yday=1, tm_isdst=-1)

924 :デフォルトの名無しさん:2014/05/13(火) 22:10:55.62 ID:YbBU7wze.net
と思ったけど、できちゃったし、ここは超初心者用なので。
参考って事で。

>>> do = datetime.datetime.strptime("00:00:00", "%H:%M:%S")
>>> do
datetime.datetime(1900, 1, 1, 0, 0)
>>> dt = datetime.datetime.strptime(hms, "%H:%M:%S")
>>> ddiff = dt - do
>>> ddiff.total_seconds()
3723.0

925 :デフォルトの名無しさん:2014/05/14(水) 17:48:47.03 ID:TLDxGDFZ.net
from subprocess import check_output, CalledProcessError
from datetime import datetime
from tkinter import Label
from time import sleep
msg = "Firefoxを使い始めてから\n10分経ちました"

while True:
try:
x = check_output(["pidof", "firefox"])
pid = x.decode().rstrip()
y = check_output(["ps", "-p", pid, "-o", "etime"])
str_etime = y.decode().strip(" ").strip("ELAPSED").strip("\n").strip(" ")
etime = datetime.strptime(str_etime, "%M:%S")

if etime.minute >= 10:
label = Label(None, text=msg, font=("sans-serif", 16))
label.pack(padx=8, pady=8)
label.mainloop()
sleep(30)
except CalledProcessError:
sleep(30)

結局、こういう感じになった
昨日教えてくれた人ありがとう
これ裏で動かしても重くならないよね?

926 :デフォルトの名無しさん:2014/05/14(水) 17:49:37.26 ID:TLDxGDFZ.net
あれインデントが・・・

927 :デフォルトの名無しさん:2014/05/14(水) 21:07:01.61 ID:8hs3vCSL.net
>>925
手直ししてみた。bugの所は>>924で対処して。

from subprocess import check_output, CalledProcessError
from datetime import datetime
from tkinter import Label
from time import sleep
import re
threshold = 10
fmt = "Firefoxを使い始めてから\n{}分以上経過しました。"
msg = fmt.format(threshold)
while True:
try:
x = check_output(["pidof", "firefox"])
except CalledProcessError:
pass
pid = x.decode().rstrip()
try:
y = check_output(["ps", "-p", pid, "-o", "etime"])
except CalledProcessError:
pass
s = y.decode()
m = re.search("\d+:\d+$", s)
str_etime = m.group()
etime = datetime.strptime(str_etime, "%M:%S")
# 1時間1分経過したとき、etime.minute(=1) < threshold(=10) だと思うけど?
# 無限 loop 前提の動作なら、bug では?
if etime.minute >= threshold:
label = Label(None, text=msg, font=("sans-serif", 16))
label.pack(padx=8, pady=8)
label.mainloop()
sleep(30)

928 :デフォルトの名無しさん:2014/05/14(水) 21:17:29.10 ID:8hs3vCSL.net
丸一日以上経過すると、以下の形式で
DD-HH:MM:SS
日数が表示される。

想定していない使用方法何だろうけど、
丸一日以上経過した場合にも、頑張って対応してみてね。

$ ps -p 3813 -o etime
ELAPSED
7-05:23:11

929 :デフォルトの名無しさん:2014/05/14(水) 22:08:19.49 ID:SmuSFc1R.net
2.xと3.xで動くようにしたいんですがどうやって分岐させればいいですか
2.xはprint
3.xはprint()

930 :デフォルトの名無しさん:2014/05/14(水) 22:13:00.76 ID:cEJSRyyI.net
from __future__ import print_function

931 :デフォルトの名無しさん:2014/05/14(水) 22:40:42.90 ID:LUHpZdkB.net
2.xもprint()でいける
print (1+2)
と同じ扱いだけど

932 :デフォルトの名無しさん:2014/05/14(水) 23:07:49.58 ID:ExP2CQtU.net
githubでprint 1みたいなコードをprint(1)って修正したぷるリクエストを送るのはキチガイですか?

933 :デフォルトの名無しさん:2014/05/15(木) 06:21:15.57 ID:gi1Ps9QT.net
うぜえ奴だとは思う

934 :デフォルトの名無しさん:2014/05/15(木) 07:16:49.81 ID:XXKriScF.net
3対応ってことならいいと思う

935 :デフォルトの名無しさん:2014/05/15(木) 08:13:21.45 ID:/8rz2yiH.net
>>925
インデントわからないけど、tkinterの使い方に関してコード・レビュー

* GUIでは、メインスレッドで time.sleep は使わない。
 メインスレッドではUI関連のイベントを処理してるので、time.sleepで止めてしまうと、UIがフリーズします。
ツールキットが提供してるタイマー機能を使おう。tkinterだったら afterで指定時間後にコールバック関数呼出。

* Pythonの処理はmainloopで止まります。
mainloopの後ろが実行されるのは、ウィンドウが閉じられる等、tkのイベントループが終わった後。
 使い方によっては問題にならないかもしれないが、恐らくコードは意図通りの動作になってない。

* Labelをwhileループ内で生成してるけど、ウィンドウはループ外で一個のみ生成して、ループ内で更新するようにしよう。
 もしダイアログ的なものを表示したくてLabelを使ってるのなら、tkitnerのダイアログ系の関数に変える。
 GCの存在忘れてて、初見、リークしてるかもと思った。> while内でのlabel生成

936 :デフォルトの名無しさん:2014/05/16(金) 00:46:36.76 ID:ub/Eub/s.net
 

937 :デフォルトの名無しさん:2014/05/16(金) 17:18:03.57 ID:w4POSpYE.net
MVCのWEBフレームワークってありませんか?
コントローラーごとにファイルをわけるようになってるのがいいんですけど
bottleもfleskとかも全部同じファイルにコントローラー(というかルーティング)を描くようになっているので求めているものと違います
自分でimportで無理やりそういうふうになってるWEBフレームワークが欲しいんですけど誰かおしえてください

938 :デフォルトの名無しさん:2014/05/16(金) 18:08:02.03 ID:B3qssotm.net
djangoとかpyramidじゃないかな
使ったことないから間違ってたらごめん

939 :デフォルトの名無しさん:2014/05/16(金) 19:18:50.07 ID:DkOgc/BE.net
画像のサイズ(バイト数)って取得できますか?PILで探しているんですが見つけきれなくて。。

940 :デフォルトの名無しさん:2014/05/16(金) 19:37:19.31 ID:MfiAbdMM.net
os.statで取れる奴じゃなくて?

941 :デフォルトの名無しさん:2014/05/16(金) 20:00:56.19 ID:wXEQeSgl.net
ネット上の画像のデータサイズを取得したいんですが、それでいけるでしょうか?

942 :デフォルトの名無しさん:2014/05/16(金) 20:02:25.76 ID:MfiAbdMM.net
行けるわけがない
状況がよく分からんよ

その画像へのアクセス方法はなんなの

943 :デフォルトの名無しさん:2014/05/16(金) 20:03:16.91 ID:xH+zzs4U.net
pythonと相性いいのはOpenCV

944 :デフォルトの名無しさん:2014/05/16(金) 20:08:44.30 ID:KZ3d8Idq.net
HEAD リクエストを送ってヘッダの Contet-Length を読むか read() して len()

945 :デフォルトの名無しさん:2014/05/16(金) 20:33:25.94 ID:wXEQeSgl.net
>>942
urllibです。
http://zombiebook.seesaa.net/article/33192046.html
前にphpでネット上の画像を取得する際に、特定の容量以下だったらダウンロードしないっていうのは簡単にできたんですけど
似たようなことをpythonでやりたいと思っています。

946 :デフォルトの名無しさん:2014/05/16(金) 20:36:33.95 ID:MfiAbdMM.net
そのURLはどう見てもダウンロードしてからサイズを計っているが・・・

まあ>>944でいいだろ

947 :デフォルトの名無しさん:2014/05/16(金) 20:44:55.82 ID:wXEQeSgl.net
>>944
>>946
こういう事ですか!ありがとうございます!!
len(urllib.urlopen("url").read())

948 :デフォルトの名無しさん:2014/05/16(金) 20:46:19.62 ID:MfiAbdMM.net
そんな書き方すると2回ダウンロードすることになるぞ

949 :デフォルトの名無しさん:2014/05/16(金) 20:50:21.71 ID:wXEQeSgl.net
ありがとうございます。どう書けばいいでしょうか?

950 :デフォルトの名無しさん:2014/05/16(金) 21:15:48.49 ID:Iw38eLWP.net
馬鹿には無理

951 :デフォルトの名無しさん:2014/05/16(金) 21:54:32.15 ID:3UvUpAN3.net
>>947がなんで2かいだうんろーどしてることになるの!?

952 :デフォルトの名無しさん:2014/05/16(金) 22:18:59.95 ID:EySRVugt.net
>>951
>>948もいってるように書き方の問題。いざ保存しようってなった段階でまたurllib.urlopen呼び出すん?

953 :デフォルトの名無しさん:2014/05/16(金) 22:51:28.39 ID:gxrU3X5P.net
>>945
実際にダウンロードするなら機能不足な urllib じゃなくて httplib2 使う。

>>944
content-length は実際のファイルサイズではなく、転送される(た)データ量。
urllib は gzip とかの圧縮に対応してないから事実上ファイルサイズと等価になるかもしれんけど、
だからだとしたらそれってバッドノウハウじゃね?

954 :デフォルトの名無しさん:2014/05/16(金) 23:32:21.60 ID:a67oxNRj.net
大抵の画像ならgzip圧縮の影響は小さいんじゃない?
画像限定&厳密なサイズ判定が不要ならHEADでcontent-lengthを調べるのも有効だと思う

955 :デフォルトの名無しさん:2014/05/17(土) 02:17:28.11 ID:CIZJhZT4.net
Base64encodedな画像もあるのだよ

956 :デフォルトの名無しさん:2014/05/17(土) 02:43:21.77 ID:UAm0PdcU.net
5/3が2では1で3では1.666666666666666666となる仕様変更した歴史的理由を教えてください

957 :デフォルトの名無しさん:2014/05/17(土) 02:53:30.70 ID:iY0EkpEn.net
2.x 5/3 --> 1
3.x 5//3 --> 1

958 :デフォルトの名無しさん:2014/05/17(土) 06:53:32.08 ID:+RVHZm5v.net
>>956
PEP238に書いてある
Python3では演算子による数値の計算は数学的な結果に近づくように仕様を変更した
/に数学的な除算を、Python2仕様の除算は//に割り当てた

959 :デフォルトの名無しさん:2014/05/17(土) 08:17:14.87 ID:scIHL+Wy.net
>>956
http://legacy.python.org/dev/peps/pep-0238/
Motivation
The classic division operator makes it hard to write numerical
expressions that are supposed to give correct results from
arbitrary numerical inputs. For all other operators, one can
write down a formula such as x*y**2 + z, and the calculated result
will be close to the mathematical result (within the limits of
numerical accuracy, of course) for any numerical input type (int,
long, float, or complex). But division poses a problem: if the
expressions for both arguments happen to have an integral type, it
implements floor division rather than true division.
...

を全部読むとよい。

960 :デフォルトの名無しさん:2014/05/17(土) 19:02:57.39 ID:ftYujaP2.net
for i in "abcde": print(i)で1文字ずつ表示されますが
これを2文字ずつ表示して
ab
cd
e
なるようにするにはどうすればいいですか?
s = "abcde"
i = 0
while True:
print(s[i:2])
i += 2
一応こうはかけますけど・・・もっと楽に書ける方法ないですか

961 :デフォルトの名無しさん:2014/05/17(土) 19:17:24.52 ID:CIZJhZT4.net
i = iter('abcde')
for j in i: print j, i.next()

962 :デフォルトの名無しさん:2014/05/17(土) 19:27:28.35 ID:iFaOrIws.net
s = 'abcde'
for i, j in zip(s[::2], s[1::2]+' '): print i, j

963 :デフォルトの名無しさん:2014/05/17(土) 19:50:32.62 ID:jEECk74U.net
>>960
for i in range(0, len(s), 2):
  print(s[i:i+2])

964 :デフォルトの名無しさん:2014/05/17(土) 20:46:00.17 ID:B930i8T2.net
日本...PythonでOKか
>>960じゃないけど、にたようなことで悩んでて >>963が参考になった

965 :デフォルトの名無しさん:2014/05/17(土) 21:14:54.38 ID:yeieV1sE.net
文字列だったら

for chunk in re.findall(".{1,2}", "abcde"): print(chunk)


file-likeオブジェクトから 2 バイトずつ読み出し

stream = io.StringIO(s)
for chunk in iter(lambda:stream.read(2), ""): print(chunk)


汎用的な方法。データ型によっては効率よくない。

for chunk in zip_longest(*[iter(s)] * 2, fillvalue=""): print("".join(chunk))

966 :デフォルトの名無しさん:2014/05/17(土) 21:21:37.78 ID:DH0ccGDC.net
>>965
あんた天才だね。
それだけの知識と応用力があれば
かなり仕事が効率化できるだろうな。羨ましいぜ。

967 :デフォルトの名無しさん:2014/05/17(土) 22:45:29.07 ID:F+Anbw5h.net
いろんなやりかたがあるんですね勉強になりました

968 :デフォルトの名無しさん:2014/05/18(日) 21:59:43.85 ID:WpcSYClF.net
pythonでexeファイルを実行⇒既に実行中であればスルーしたいんですが、どのように書けばいいでしょうか?

969 :デフォルトの名無しさん:2014/05/18(日) 22:04:31.73 ID:YyDKMNJf.net
プロセスが存在するか確認しろ

970 :デフォルトの名無しさん:2014/05/19(月) 03:24:28.10 ID:6L2g2kAx.net
mutex

971 :デフォルトの名無しさん:2014/05/19(月) 15:05:04.67 ID:C9xN4CIo.net
くだすれPython(超初心者用) その23
http://toro.2ch.net/test/read.cgi/tech/1400479217/

972 :デフォルトの名無しさん:2014/05/20(火) 10:38:28.67 ID:71FP+W6l.net
3.4.1 リリース
https://www.python.org/download/releases/3.4.1

973 :デフォルトの名無しさん:2014/05/20(火) 10:52:35.45 ID:Y3VmLAx+.net
pyenv3.4.1が来るのはまだですか?

974 :デフォルトの名無しさん:2014/05/20(火) 19:07:28.18 ID:GWzIaQ0O.net
300以上のバグ修正か
さすが.1なだけある

975 :デフォルトの名無しさん:2014/05/20(火) 22:53:35.16 ID:iccyffSk.net
こんなにバグのある状態でリリースするとかユーザー舐めてんな
仕事に使って損害出たらどうするんだ

976 :デフォルトの名無しさん:2014/05/21(水) 00:13:24.78 ID:L2AgXKjx.net
オープンソースは自己責任だろう
アホか

977 :デフォルトの名無しさん:2014/05/21(水) 01:36:33.40 ID:Dhf0TdcH.net
こんな馬鹿が技術者やってんのかよ

978 :デフォルトの名無しさん:2014/05/21(水) 08:42:47.33 ID:/08zgsVl.net
>>975
HEADは少なくとも半年様子見るのが常識だろ

979 :デフォルトの名無しさん:2014/05/21(水) 14:53:53.09 ID:F1xnH4lV.net
>>974
おまえ食べ物に一品足りないだけで全額無料にさせようとするクレーマーだろ

980 :デフォルトの名無しさん:2014/05/21(水) 15:54:24.25 ID:UBUpb/UL.net
クレクレクレーマー

981 :デフォルトの名無しさん:2014/05/23(金) 19:42:28.21 ID:WVZoxCv3.net
くだすれPython(超初心者用) その23
http://toro.2ch.net/test/read.cgi/tech/1400479217/

982 :デフォルトの名無しさん:2014/05/24(土) 03:27:04.10 ID:4Shar09G.net
くだすれPython(超初心者用) その23
http://peace.2ch.net/test/read.cgi/tech/1400479217/

983 :デフォルトの名無しさん:2014/05/24(土) 05:01:13.94 ID:c2cnaKxK.net
パイトンってそんなにいいのか?

総レス数 983
251 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★