1 名前:デフォルトの名無しさん mailto:sageoff [2015/05/16(土) 17:09:30.55 ID:QT5s50C8.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その25 peace.2ch.net/test/read.cgi/tech/1415173201/l50 関連スレ Pythonのお勉強 Part50 peace.2ch.net/test/read.cgi/tech/1413474092/ ◆関連リンク 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 名前:デフォルトの名無しさん mailto:sage [2015/05/16(土) 22:55:19.26 ID:VKfhfpr8.net] バカはレスしないでくれる? 個人の主張として批判せず、いたずらにある類として扱うのは極めて恣意的かおバカの批判にあらざる攻撃の特徴。 まあ、その軽蔑すべき発想で返した俺も反省はしてもよいが はっきり言って精神病とバカの特徴でしかない論法でレスするなよ。 俺はバカと精神病きらいだからな。 おまえら、マジで精神病と思われる宣言的絶対主義の形而上学バカの一味は人類の公的な敵だとおもっているからな。 さしあたりお前らが馬鹿にされていることは科学的認識の健全性をそれなりに示すから喜ばしいがな。 それにしても、単なる知識を披露しあっているだけの時は頭良さそうなふりはできるが、 いよいよ自身の認識を問われる事態になるとここにいる連中、そこの浅さを露呈するやつ多すぎ 所詮、2chだな 精神病君かい? クズ
3 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 08:13:12.52 ID:azDp/x2p.net] 同じことの繰り返し(コピペ)は痴呆
4 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 13:47:17.65 ID:se+ydSXL.net] 同じことの繰り返し(コピペ)は痴呆
5 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 15:46:42.29 ID:tASFt5zk.net] python2.7です webページをDLして解析したいんですがいきなり躓いてます import urllib2 from xml.etree.ElementTree import * (略) req = urllib2.Request(url) response = urllib2.urlopen(req) html = response.read() #解析するよ root = fromstring(html) fromstring で xml.etree.ElementTree.ParseError: not well-formed (invalid token) 言われます レスポンスに手を加えずそのまま解析してるのですが…
6 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 15:56:55.86 ID:wvzPz3Ba.net] xmlとhtmlの区別は付きますか?(違いがわかりますか?) parse関数はパーサーオブジェクトをオプションで取ります パーサーオブジェクトを与えないとXMLParserを使います HTMLParserを与えてください
7 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 16:03:15.27 ID:wvzPz3Ba.net] 腐ったHTMLだとHTMLParserでも失敗します そうなったらアキラメロン
8 名前:デフォルトの名無しさん mailto:sage [2015/05/17(日) 17:41:57.69 ID:tASFt5zk.net] 報告です。 root = fromstring(html, HTMLParser()) としたら、 エラーは無くなりましたがタグを手繰ろうとすると NonType と言われて出来ませんでした。 HTMLParser を派生して parser = MyHTMLParser() parser.feed(html) parser.close() としたら、タグは読めました。 まだ先は長そうですが、ご教授ありがとうございました。
9 名前:デフォルトの名無しさん mailto:sage [2015/05/18(月) 00:08:11.12 ID:K8yFRBxU.net] beautifulsoup使ってみたら?
10 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 03:49:47.58 ID:L8E0K9w8.net] よろしくお願いします ジェネレータの勉強しています def gene(): print(1) while True: yield print(2) start = gene() #ここで1が表示されて欲しい next(start) #でもこっちで1になる 「gene()が呼び出された時点でwhileの中にまで進み、yieldの時点で処理がストップする」 こういう挙動だと思ったのですが実際に試してみると違いました gene()が最初に呼び出された時点でyieldの前のコードを実行する術は無いのでしょうか?
11 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 15:22:53.43 ID:ctmR18NT.net] def gene_init(): print(1) def gene_body(): while True: print(2) yield return gene_body() >>> g = gene_init() 1 >>> next(g) 2
12 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 15:23:51.57 ID:ctmR18NT.net] ありゃ、コピペ失敗失礼した
13 名前:デフォルトの名無しさん mailto:sage [2015/05/19(火) 23:13:22.76 ID:L8E0K9w8.net] >>11 ありがとうございます!期待していた通りの挙動になりました yieldは使いこなせると便利そうですが慣れるまではちょっと怖いですね 思わぬバグを作り込んでしまいそう
14 名前:デフォルトの名無しさん mailto:sage [2015/05/20(水) 05:29:20.44 ID:K3ViYaGA.net] googleのpython exercises終わったー 勉強がミッション化されてて面白かったw ログファイルから断片化された画像のURLを抽出して、並べ替え、ダウンロードして一つの画像として表示するとか、なんかワクワクしたw
15 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 01:18:06.15 ID:0lqSGmSk.net] 値とインデックスを使いたいときに for i, v in range(10) こういうふうにかけたらいいのに何でインデックス取るのに面倒な記述をしないといけないんだろう このへんはGoをみならってできるように改良してもらいたい
16 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 02:08:02.38 ID:oB9KNLHA.net] for i, v in enumerate(list):
17 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 05:29:50.91 ID:zzLeh6B9.net] そうでしたっけフフフ とでも言って流しておけばいいものを
18 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 10:57:04.88 ID:OSpceEvr.net] インデックスを使いたいがためにメソッドを呼び出すオーバヘッドが無駄
19 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 11:16:00.66 ID:LF23h3ro.net] ループを繰り返すたびに呼び出してる訳じゃないからそんなに気にすることはないと思う 自前でインデックスを計算するパターンと比べても遅いわけではない >>> import timeit >>> timeit.timeit(stmt='for i, v in enumerate(range(100)):pass') 6.08430373200099 >>> timeit.timeit(stmt='for v in range(100):i+=1', setup='i=0') 9.956800863998069
20 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 12:00:18.91 ID:iv04xADq.net] enumerateってイテレータ?ジェネレータ?なので 最初に呼び出す時はオーバーヘッドあってもその後ループ内では無いに等しい って解釈してるんですがあってますかね
21 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 12:12:51.55 ID:oB9KNLHA.net] rangeだってメソッドちゃんなのに、enumerateはダメなの? スペルが長いから? 処理速度だって同等かむしろ良いくらいだよ 全てメモリに展開せず、逐次ジェネレーターライクな動きするからオーバーヘッドも少ないよ
22 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 12:25:35.22 ID:Tg0bXDwp.net] この程度のオーバーヘッドが気になるならPython使うなよ^^;
23 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 17:26:43.43 ID:6dtMhhKG.net] blenderのaddon作成で、python勉強始めたんですが、__init__.pyがエントリーポイントになっていて、そこに、任意のクラスを作ると、クラス内にあるメソッドが呼び出されます。 質問なんですが、__init__.py内にある任意のクラス名をどうやって呼び出しているのでか?
24 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 18:14:07.06 ID:gn4elZ6J.net] pythonでライブラリ使ったことがあれば分かるはず ないなら勉強しろ
25 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 18:39:55.54 ID:6dtMhhKG.net] ライブラリを使うとしても呼び出すクラスなり、メソッド名は分かっててそれを使うと思うのですが、 自分で決めたクラスをblenderは、どうやって認識しているのでしょうか? モジュール内に定義されたクラス一覧を取得するメソッドでもあるのでしょうか? また、文字列でクラスを呼び出せるのでしょうか?
26 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 18:53:06.31 ID:gn4elZ6J.net] 両方yesだ import ho
27 名前:ge print dir(hoge) と実行してみろ そんで instance = getattr(hoge, 'HageClass')() とやればインスタンスが作れる [] [ここ壊れてます]
28 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 18:56:11.30 ID:iv04xADq.net] inspect.getmembers(~モジュール~) こういうことでは無くて?
29 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 18:58:20.99 ID:iv04xADq.net] ごめんなさい>>26 さんの方がいいですね 27は忘れてください
30 名前:デフォルトの名無しさん mailto:sage [2015/05/21(木) 19:06:10.14 ID:6dtMhhKG.net] どうもありがとうございます。 なるほどそうやってるんですね。
31 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 19:25:49.92 ID:GdCh1ajU.net] 可変長引数についてはドキュメントのどのページに載っているのか教えてください
32 名前:デフォルトの名無しさん mailto:sage [2015/05/22(金) 20:36:14.54 ID:j2+sj5Ou.net] https://docs.python.org/3/reference/compound_stmts.html#function このへん
33 名前:デフォルトの名無しさん [2015/05/22(金) 22:42:40.80 ID:GNpfjP2d.net] docs.python.jp/3.4/tutorial/controlflow.html#arbitrary-argument-lists 日本語のチュートリアルだとこのへん
34 名前:デフォルトの名無しさん [2015/05/22(金) 22:52:59.58 ID:GNpfjP2d.net] docs.python.jp/3.4/tutorial/controlflow.html#unpacking-argument-lists あと、その次の、4.7.4. 引数リストのアンパックも覚えとくと便利 l = ["hello", "my", "friend"] lというリストをスペース区切りで表示したいとき、↓でいける print(*l) print(" ".join(l)) とかしなくてもいい
35 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 10:39:29.12 ID:884F+n7v.net] >>31−>>33 ありがとうございます今から読んで学習します
36 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 16:38:39.10 ID:OjkyrBsZ.net] うおおお 超初心者なんだけどpythonのコンソールでぽちぽちしてたらgmail送れたーーー hello world届いてたーw なんかすげええ 他の言語でもこんな簡単に送れるものなのだろうか
37 名前:デフォルトの名無しさん mailto:sage [2015/05/23(土) 19:02:53.50 ID:mBWRn4xp.net] smtpを標準でサポートしてれば似たり寄ったりでないかな perlとかrubyはしてると思う nodeはしてない
38 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 04:56:53.13 ID:C4HQwhye.net] >>36 そうなんですか! 自分はC言語(の基本)しか習ってなくて、こんな仰々しいコードになるイメージでしたw hatenaclang.blogspot.jp/2014/10/libcurl-gmail.html それに比べてpythonのこの簡潔さはw クラス定義なんて省いて直接書いたらほんと数行ですよね qiita.com/HirofumiYashima/items/1b24397c2e915658c984 間違っても1行1行その場で怒ってくれるからすぐ直せたし
39 名前:デフォルトの名無しさん mailto:sage [2015/05/24(日) 21:20:44.95 ID:LHzJ6dIN.net] >>35 あなたは僕を超えました そしてあなたは僕の先生となりました ぜひブログでやり方を書いて紹介してください
40 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 10:13:00.28 ID:H/4xp/af.net] pyenvで入れた2.7.8を2.7.10にアップグレードしたいんですが いままで2.7.8を削除して2.7.10を入れて再度pipでパッケージをインストールしてました 同じメジャーバージョンならpipでパッケージを削除する必要ないと思うんですが pythonのバージョンだけ上げる方法ありませんか?
41 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 11:01:17.13 ID:R3oTKNZR.net] pyenvにそんな機能はない
42 名前:デフォルトの名無しさん mailto:sage [2015/05/25(月) 17:12:28.26 ID:XRMIkMF7.net] >>38 いや、なんか適当
43 名前:にこんな感じで送れました import smtplib from email.mime.text import MIMEText me, dest = '送信元@メールアドレス', '宛先@メールアドレス' msg = MIMEText( u'行きたくありません', 'plain', 'iso-2022-jp') msg['Subject'] = u'明日の会議について' msg['To'] = dest msg['From'] = me conn = smtplib.SMTP_SSL('smtp.gmail.com') #portは省略すると465 conn.login( me, 'gmailのパスワード') conn.sendmail( me, dest, msg.as_string()) #ehloもやってくれる conn.quit() [] [ここ壊れてます]
44 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 14:20:34.72 ID:JlsMtCsC.net] 何でgithubのcpythonリポジトリにはタグが付いてないんですか? 指定したバージョンのソースコードを手に入れたい時ってどうしたらいいんですか?
45 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 14:28:14.45 ID:fTI4HEOK.net] 公式で配ってるターボールか Mercurialのリポジトリから拾ってくる https://hg.python.org/cpython/tags ミラーされない理由? Mercurialとgitでタグのセマンティクスが微妙に違うからかなあ
46 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 15:38:55.32 ID:HsCFsvXb.net] 辞書を要素とするリストから、 辞書のキーの値によってある要素への参照を得るには、 どうしたらいいでしょうか。 例えば mylist = [{'num':1},{'num':2},{'num':3}] というリストがあるとして、キーnumの値が2である要素への参照を得たい場合、 私が思いつくのは result = [item for item in mylist if item['num'] == 2][0] もしくは for item in mylist: if item['num'] == 2: result = item の2つなのですが、他に方法はないでしょうか? ここではキーの値に重複はないと考えています。
47 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 16:02:58.67 ID:fTI4HEOK.net] リストを作ったときに逆参照mapでも作っておけばいいではないですか
48 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 16:28:14.46 ID:ME2Xw7j/7] next((item for item in mylist if item['num'] == 2), None)
49 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 20:44:53.01 ID:BsJ/nx2f.net] どやぁ(注:初心者) mylist[mylist.index({'num':2})]
50 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 21:38:59.86 ID:kkyk1kjT.net] print(1.j) このjってなんですか?
51 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 21:46:32.51 ID:oqPKm2sI.net] >>44 全く同じ事を今日やってた 45さんの言う通り逆参照の辞書持つのが一番楽かなと {} ただちょっとよくわからないのがそのリストのデータ構造は現実のリストなの? もし本当にこんなリストだとしてキーの値に重複が無いのなら、 リストを作る時に最初(つまりmylist[0])はNone、値1のものはmylist[1]、 仮にnum:4が無いならmylist[4]=Noneとやっていけば、num=1000はmylist[1000]と保証される これなら一つのリストで一応管理できる
52 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 21:56:36.25 ID:oqPKm2sI.net] >>47 確かに一見それで良さそうだけど、それでいけるならそもそも要素をmylistから持って来る必要が無いんじゃないのかな だってもう手元に{'num':2}ってあるわけだし お風呂上がりに眼鏡が見つからない何も見えないって言いながら眼鏡かけて眼鏡探してる感じがする >>48 qiita.com/shuhei/items/f5cf6c83fcfb5dd24c2d print(type(1.j))とやると<class 'complex'>ってなるから複素数らしい 虚部のところにjをつけてやるんだってさ はじめて知った
53 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 22:49:00.53 ID:HsCFsvXb.net] みなさんどうもありがとうございます 44です 先に挙げたリストは説明のために極力簡略化したものです 実際はキーに対する値は数値ではあるものの連番ではなく またリストに追加される順序も不定です ただし一意であることは保証されています また実際はこのキー以外にも複数のキーを持っています このnumキーがリレーショナルデータベースにおける主キーに相当するため このキーの値でスマートに要素を取り出せたらなと思い質問させていただきました 逆参照mapというのがどのようなものか私にはわからないのですが ここの例で言うとnumキーの値を辞書のキーにして その値にリストの該当要素への参照を対応させたものでしょうか 順序は問題にならないのでリストではなく辞書の辞書にすることも考えたのですが 必要であればどのキーを使ってでもすぐにfor ループが回せるという 分かりやすさも捨て難い気がして躊躇していました 48さんのおっしゃる最初からキーの値に対応したインデックスの箇所に収納する方法も確かにありますね 逆参照mapを作る方法と合わせて検討してみたいと思います
54 名前:デフォルトの名無しさん mailto:sage [2015/05/26(火) 23:21:56.28 ID:BsJ/nx2f.net] >>50 値じゃなくて、リストのその部分を編集するための参照が欲しいのかなと思ったんです・・・ 自分で構造を決められるなら、こんなじゃだめなのでしょうか? data = { str(numの値): {他データ}, str(numの値): {他データ}, , , , } 128番の情報が欲しい! → data[str(128)] みたいな感じで
55 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 01:16:34.91 ID:gIxiSbR2.net] >>52 それもいいですね ありがとうございます ただ今回はリストのフラットなデータ構造のままで それと同じことが分かりやすくできる方法があればと思い質問させていただきました
56 名前:デフォルトの名無しさん mailto:sage [2015/05/27(水) 17:56:08.90 ID:4cyo14pp.net] >>52 余計なことしてたので訂正です 辞書はキーに数字をそのまま使えました・・・ data = {1 : "value1", 2 : "value2", 3 : "value3"} for key in data: print key, >> 1, 2, 3
57 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 15:38:42.64 ID:+K9YB3fm.net] FacebookのRSSのタイトルを文字化けしないように変換したいのですが &#xXXXX;を文字に変換するにはどうすればいいのでしょうか import feedparser, urllib.parse rssurl="https://www.facebook.com/feeds/page.php?id=xxxxxxxxx&format=rss20" fdp = feedparser.parse(rssurl) for entry in fdp['entries']: title = entry['title'] link = entry['link'] print(title, link)
58 名前:デフォルトの名無しさん mailto:sage [2015/05/28(木) 23:55:25.53 ID:PkH09g+t.net] >>55 import html html.unescape(title)
59 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 10:58:53.01 ID:qxRvZ9TX.net] >>56 ありがとうございます。 変換することができました。
60 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 11:08:33.75 ID:RwL0vTGq.net] 3.5から.pycからSTORE_MAPが削除されるとかあったけど これって3.0〜3.4で作成された.pycを削除してから3.5の環境でスクリプトを実行して.pycを生成し直さないとトラブルになるってことですか?
61 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 13:24:15.16 ID:98Ume5mp.net] 最近リストの内包が書けるようになってきてコードが綺麗になって楽しいです dictも同様にできるようなんですが、 text = t for t in [a,b,c,d] #a , b , c , dに入ってる文字列を繋いでtextに setattr(self , k , v) for k , v in dict.values() #selfのプロパティをdictから作る なんてできたらいいなあと思ってるんですがさすがに無理なのでしょうか
62 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 13:25:29.87 ID:ENr5sicU.net] >>58 .pycってhoge.cpython-34.pycって感じでPythonのバージョンごとに 作られるから削除の必要はない
63 名前:デフォルトの名無しさん mailto:sage [2015/05/29(金) 13:40:11.39 ID:g6jbltjH.net] >>59 1つ目はstr.join() 2つ目はself.__dict__.update()
64 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 03:08:46.90 ID:rJ1AgvvX.net] class、並びにオブジェクトの表現方法について質問させてください。 「文」とそれを構成する「単語」の関係をclass化したいです。 文はそれぞれの単語を「持って」おり、また全ての単語は必ず文に「属し」ます。 (質問1) 以下のようにSentenceの中の配列にWordを入れることで表現していますが、どうでしょうか? class Sentence(): self.words = [Word,Word,Word…] #ここにWordオブジェクトを入れていく class Word(): self.sentence = Sentence #ここに自分が所属するSentenceオブジェクトを入れておく 例えば野菜->タマネギのような関係なら継承を使ったりするのでしょうが、文と単語の関係でそれは使えないと思います。 何かうまい表現方法がありますでしょうか。 (質問2) WordオブジェクトがどのSentenceに属しているか、という情報をWordクラスにうまく持たせる方法は無いでしょうか? 今はself.sentenceというところにSentenceオブジェクトを入れていますが、なんかスマートじゃ無い気がします。 classを最近ようやく理解したばかりなのでこういう使い方でいいのかどうか悩んでます。 本やネットを読んでもたいていは果物->りんご、のような関係で継承を説明してるのであまり参考になりません。 継承ではなく、上位の概念が下位の概念を「持っている」という関係をどう表せばいいでしょうか。 長くてすみません。
65 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 07:38:13.51 ID:Lk3iv4vp.net] >>62 の文と単語の関係はWordが必ずSentenceに属する必要性に疑問を感じます 質問1は複数あるWordの順序を保持する必要からlistを使うのは妥当だと思います 質問2はSentenceの情報はWordに持たせなくていいと考えてます
66 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 15:52:41.19 ID:rJ1AgvvX.net] >>63 ありがとうございます もしWordがSentenceの情報を持たない場合、 Word自身からではどのSentenceに属してるかわからなくなってしまいます Sentence<--どちらも相手を参照できる-->Word という関係性は必ず維持しなければならないという前提でアドバイスいただけるとありがたいです
67 名前:デフォルトの名無しさん [2015/05/30(土) 20:44:32.94 ID:lFJ1sGxF.net] ネット上からファイルをダウンロードする際に そのファイルのサイズを調べて一定以上のサイズならダウンロードする というようなプログラムが書きたいです。 ネット上のファイルサイズを取得する一番簡単な方法は何でしょうか? urlretrieveでサイズを表示することはできたんですが上手く数字を拾えなくて・・・ なにか簡単な方法をご存知のかた、教えてください
68 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 21:24:25.22 ID:zOKa2SxY.net] 普通はHEADを打ってContent-Lengthを見るだろう Pythonのurllib2はバカだから get_methodオーバーライドしないとHEAD打てないけど 意味分からんよな 誰だよこれ設計した奴
69 名前:デフォルトの名無しさん mailto:sage [2015/05/30(土) 22:06:26.17 ID:Il/jbsrm.net] httplib2かurllib3かrequestsを標準にして欲しい requestsはhigh layerすぎるからhttplib2かurllib3が妥当か
70 名前:デフォルトの名無しさん [2015/05/31(日) 20:01:30.99 ID:Yx/E9Xi4.net] 質問です。 Numpyのarray形式なのですが、 printで表示すると、 内容が長い場合、...,で省略されてしまいます。 savetxtでTEXTで書き出す場合も同様です。 この省略をさせない方法はないのでしょうか?
71 名前:デフォルトの名無しさん mailto:sage [2015/06/01
] [ここ壊れてます]
72 名前:(月) 02:47:52.53 ID:29A8lhcJ.net mailto: >>68 numpy.set_printoptions(threshold=numpy.nan) もしくはnumpy.set_printoptions(threshold='nan') でいけるらしい 自分で試してないので保証はしない http://docs.scipy.org/doc/numpy/reference/generated/numpy.set_printoptions.html [] [ここ壊れてます]
73 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 15:15:37.43 ID:nhaEWMLQ.net] djangoの勉強を始めたのですが、pyファイルで作った連想配列(値に日本語を使用)をhtmlファイルの組み込み関数で受け取るところが上手く出来ません。 {% for val in list %} {{val.key}}で値を取り出して処理 {% endfor %} この書き方ならば文字化けすることもなく値を取り出して使える事はわかりましたが、ソースを表示した時に処理がループ分記述されて冗長になるのを避けたいです。 ※scriptタグ内に記述 var list[] = {{list|safe}}; for( var i = 0; i < list.length" i++){ var.keyで値を取り出して処理 } このようにすれば・・・?と思ったのですが、list[]に代入した時に日本語の値がバイト文字列?になってしまいます。 どのようにすれば良いのでしょうか? 宜しくお願い致します。
74 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 15:59:29.65 ID:sxsqR351.net] なぜバージョンも示さないで質問するのか
75 名前:69 [2015/06/02(火) 17:30:52.40 ID:44VEslIO.net] 失礼致しました。 pythonは2.7.5、djangoは1.6.5でした。 よろしくお願い致します。
76 名前:デフォルトの名無しさん mailto:sage [2015/06/02(火) 23:00:09.86 ID:dwjHRJAm.net] djangoは専用スレがあるのでここでしないでもらいたい 今後同じことで悩んでいる人が情報を見つけやすくなるしdjangoスレにいって kohada.2ch.net/test/read.cgi/php/1323960422/
77 名前:デフォルトの名無しさん mailto:sage [2015/06/03(水) 00:45:17.77 ID:SWrh59QF.net] >>70 文字列や数値ならJS側に直接渡せるけど、リストとか辞書は渡せない なのでJSONにしてから渡す その際にテンプレート側でsafeフィルタは切ること 今Django試せないので推測での回答ですまないけど参考になれば
78 名前:ダメ五郎 [2015/06/03(水) 23:50:02.93 ID:zww4qzzD.net] Pythonスタートブックのメッソッドの初期化が全然分からないんですけど。 どうすればいいですか?死んだほうがいいですかね? import random class Dice: a = 6 def __init__(self): print('hello') def shoot(self): return andom.randint(1,self.a) __init__すると何かいいことあるのでしょうか?
79 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 00:03:57.61 ID:nTFCM4h6.net] その位置にa=6を書くとクラスのフィールドになるので self.aじゃなくてDice.aで参照する スタートブックに何が書いてあるのか非常に興味深いな… 新手のステマだろうか
80 名前:ダメ五郎 [2015/06/04(木) 00:07:15.15 ID:bBf7LCLq.net] >>76 a=6は class Dice: a = 6 def __init__(self): の位置にかいてありました。。
81 名前:ダメ五郎 [2015/06/04(木) 00:09:36.09 ID:bBf7LCLq.net] import random class Dice: a = 6 def shoot(self): return random.randint(1,6) インタラクティブシェルから上記を実行 import Dice sai = dice.Dice() sai.shoot() >>>2 __init__の説明の前に上記のようなデーター型をつくる 説明が、あって、実は、初期化が必要!!__init__を 使え!!みたいな説明です。さっぱり分からない状態です。
82 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 03:23:18.28 ID:oidqcGvt.net] Diceクラスを改変したものを書いておきます class Dice: """出目の上限を設定できるサイコロクラスです""" def __init__(self, limit): """サイコロオブジェクトを初期化します""" self._limit = limit # サイコロの出目の上限を記憶します print('サイコロオブジェクトが
83 名前:初期化されました!') def shoot(self): """サイコロを振って出目を返します""" # 初期化したときに記憶した出目の上限を使います return random.randint(1, self._limit) このクラスを使うときは下のように出目の上限を指定します sai = Dice(6) [] [ここ壊れてます]
84 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 05:29:12.39 ID:yBrKCk54.net] >>78 __init__(self,,,) はクラスをインスタンス化したときに「自動で実行」される特別なメソッドちゃん 一般ピーポのメソッドちゃん、shootは実行されてないでしょ sai = dice.Dice() ← インスタンス化ってのはこの部分ね てことで引数を受け取ったり、初期化したりは __init__(self,第一引数,第二引数,,)のところでやるのが作法なのさ
85 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 05:35:09.80 ID:UvhoGikT.net] どこが適切な相談場所なのかわからないため、こちらで失礼いたします。 webページ上に配置したgooglemapに対して、スマホからサーバに一定間隔で送信される位置情報を使って場所を示す仕組みを作りたいと思っています。 (ページのリロードはしないで、googlemapだけ更新されるイメージ) このような時、websocketを貼ってやれば出来るのかなと思うのですが、他のやり方を知らないのでそれが最適解なのかどうかがわからないです。 他に推奨されるやり方があったら教えて頂けませんか。 サーバはpython+flaskで、googlemapはjavascriptで呼び出しています。
86 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 07:08:46.96 ID:yBrKCk54.net] >>81 クライアント側のjavascriptで完結するんでないの? リアルタイム更新するなら navigator.geolocation.watchPosition()ってのがあるようだけど ブラウザ対応は Firefox (since 3.5) Safari (since 5.0) Google Chrome (version depends on OS) Opera (since 10.60) Internet Explorer (since IE 9) モバイル Safari Mobile (since iPhone OS 3.0) Android (since at least Android 1.6) 参考 https://www.youtube.com/watch?v=qYFkPFtfgdI&index=7&list=PLM4pPs1mzl_N6wJuBK5Atj5LDVWDDsed1 www.w3schools.com/html/html5_geolocation.asp
87 名前:80 mailto:sage [2015/06/04(木) 08:43:54.57 ID:GeWtCH2J.net] >>82 レスありがとうございます。 自分自身の位置を見るのではなくて、あくまでも送られてきた位置情報を使いたいのです。 例えば管理者が、部下の位置を確認するのに近いイメージかなと。
88 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:30:22.88 ID:ixdJmRIH.net] そのまんま部下の端末から位置情報を管理者サーバに送るコードを書けばいいじゃないの 30秒毎に位置情報をajaxでサーバ送るとかな
89 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 10:40:42.64 ID:5pAAiATn.net] Pythonまったく関係ないな JavaScriptスレ行ってこい
90 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:22:20.43 ID:GK2i9TQ1.net] メーリングリストにpaizaの規約違反する奴 www.python.jp/pipermail/python-ml-jp/2015-June/011408.html 最近のMLはレベルが低いねぇ
91 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:41:18.19 ID:9wvQs+dO.net] いつハイレベルだったのか教えて欲しい
92 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:47:51.55 ID:GdYLO45N.net] Jythonを使っています(sikuliというGUIスクリプトで) csvファイルをスクリプト側からExcelで開きたいのですが、 ググってもいい解決方法が見つけられませんでした。 どなたか解決策を教えていただけませんでしょうか?
93 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:51:05.40 ID:inTZReOp.net] ・ダメだった方法とどうしてダメなのか書く ・Google先生に聞く
94 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 16:57:19.45 ID:9wvQs+dO.net] まずexcelは起動できるんですか?
95 名前:csvはおいといて [] [ここ壊れてます]
96 名前:87 mailto:sage [2015/06/04(木) 17:44:40.55 ID:GdYLO45N.net] >>89 今家なんで試せないんですけど import subprocess import os path_to_notepad = 'C:\\Windows\\System32\\notepad.exe' path_to_file = 'C:\\Users\\Desktop\\hello.txt' subprocess.call([path_to_notepad, path_to_file]) こんな感じで試したのですがうまくいかなくて >>90 もちろん起動できますよ
97 名前:デフォルトの名無しさん mailto:sage [2015/06/04(木) 18:27:53.93 ID:Gjm6CwJx.net] >>81 websocketみたいな新しいのは知らないんだけど、俺ならajax使うかなあ スマホから位置情報送るときはflaskで送ってるんだよね? その時にajaxでやればページリロードしなくていいはず
98 名前:ダメ五郎 [2015/06/04(木) 19:42:09.83 ID:6dpaJYI0.net] >>80 解説ありがとうございます。なんとなく分かったような気がします。 >てことで引数を受け取ったり、初期化したりは __init__(self,第一引数,第二引数,,)のところでやるのが作法なのさ とのことですが、selfは引数ではないのでしょうか? さらに、__init__(self,第一引数,第二引数)で、 第一引数を使う時(初期化?)は、self.第一引数 第二引数を使う時 (初期化?)は、self.第二引数 とするのでしょうか?
99 名前:デフォルトの名無しさん [2015/06/04(木) 22:10:08.62 ID:6dpaJYI0.net] >>> class Dice1: ... def __init__(self): ... face_num = 6 ... print('初期化OK') ... def shoot(self): ... random.randint(1,self.face_num) ... >>> b = Dice1() 初期化OK >>> b.shoot() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 6, in shoot AttributeError: Dice1 instance has no attribute 'face_num' なんでエラーになってしまうのでしょうか?
100 名前:デフォルトの名無しさん [2015/06/04(木) 22:22:38.40 ID:TmBikWH3.net] AttributeError: Dice1 instance has no attribute 'face_num' だから。 def __init__(self, face_num=6): self.face_num = face_num にすれば問題解決。
101 名前:pythonスタートブックww [2015/06/04(木) 23:20:53.90 ID:6dpaJYI0.net] <-質問-> class Dice1: i = 6 def __init__(self): print('初期化OK') def shoot(self): return random.randint(1,self.i) i = 6はなぜdef shoot(self)メソッドの中で使えるのでしょうか? メソッドの引数(self)は、自分自身を参照するとのことですが、 def __init__(self):のselfは、class Dice1、つまりクラス全体を 参照しているということでしょうか? def shoot(self)のselfは、shoot()という自分自身を参照している のでしょうかそれともclass Dice1を参照しているのでしょうか? selfは自分自身を参照するといいますが、いったい自分自身とは どこのことを言っているのでしょう? どなたか分かるかたいますでしょうか? pythonスタートブックの説明が分からなすぎます。。。。
102 名前:デフォルトの名無しさん [2015/06/04(木) 23:42:12.44 ID:YagePnQ/.net] >def __init__(self):のselfは、class Dice1、つまりクラス全体を >参照しているということでしょうか? 違う >def shoot(self)のselfは、shoot()という自分自身を参照している >のでしょうかそれともclass Dice1を参照しているのでしょうか? そのどちらでもない >selfは自分自身を参照するといいますが、いったい自分自身とは >どこのことを言っているのでしょう Dice1クラスのインスタンス >>class Dice1: i = 6 def __init__(self): print('初期化OK') def shoot(self): return random.randint(1,self.i) def get_id(self): return id(self) >>> d = Dice1() 初期化OK >>> d.get_id() == id(d) True その本読んだことないけど、ちゃんと読んだら書いてありそうだけど。 ていうか質問みてたら、明らかに本ちゃんと読めてなさそうな質問してるし、もう一度読み直したほうがいいよ わからないところあれば公式のチュートリアルを補足に使うのもいいと思う docs.python.jp/2.7/tutorial/index.html
103 名前:pythonスタートブックww [2015/06/04(木) 23:58:28.26 ID:6dpaJYI0.net] >>97 >もう一度読み直したほうがいいよ 10回以上読み直してます。 インスタンスを参照するなんて文言は一言も書いていません。すべて、自分自身を参照 とか、インスタンスを「self」と呼ぶことが決められています。と記載してあります。 Pythonスタートブック P233 で、 >def __init__(self):のselfは、class Dice1、つまりクラス全体を >参照しているということでしょうか? 違う →じゃあ、何を参照しているのですか? >def shoot(self)のselfは、shoot()という自分自身を参照している >のでしょうかそれともclass Dice1を参照しているのでしょうか? そのどちらでもない →じゃあ、何を参照しているのですか? pythonスタートブックには、自分自身と記載してありましたよ。
104 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:17:06.98 ID:3MWYDBgR.net] 「Dice型のインスタンスを用意するとき、ユーザーがどのような変数名を割り当てるかはわかりません。(...)どのような名前でDice型のインスタンスが作られても良いように、メソッドの第一引数でインスタンスを『self』と呼ぶことが決められているのです」(P.233) 「インスタンスとは、ある型に属する実際のデータ(実体)のことです」(P.94) 「データの実体のことを、インスタンスと呼ぶ インスタンス(実体)は、初期化メソッドで作る」(P.80) 「初期化メソッドで、インスタンスを作るときの動作を細く制御できる」(P.240) 「初期化メソッドの本当の名前は、__init__というちょっと変わった名前なのです」(P.235) (いずれも『Pythonスタートブック』より引用) a = Dice() b = Dice() aとbはそれぞれDiceクラスのインスタンス。 同じクラスから作られるが実体は別。 トヨタカローラアクシオという同じ型の車であっても、 Aさんの所有しているアクシオとBさんの所有しているアクシオは実体は別、というのと同じ。 aのselfはa自身(aというインスタンス)を参照し、 bのselfはb自身(bというインスタンス)を参照している。
105 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:28:18.57 ID:lsMoUydE.net] なんかいちいち煽り口調だよねこの人… 別にその本に限らないけど入門書でクラスの概念をちゃんと説明するのはページ数足らないよ 一つ上の書き込みすら読まずに「じゃあ何を参照してるのですか?」連発って何なんだこの人 クラスから作られるインスタンスを指すって書いてるじゃん クラスはそのまま使うんじゃないんだよ 例えば車2台あるんなら車クラス1、車クラス2なんて同じクラス定義コードを書かないよね 2台なら2つの「車クラスのインスタンス」を作る car1=Car() car2=Car() ここまではわかる?
106 名前:pythonスタートブックww [2015/06/05(金) 00:30:47.44 ID:15nsAZUD.net] >>99 class Dice1: i = 6 def __init__(self): print('初期化OK') def shoot(self): return random.randint(1,self.i) >aとbはそれぞれDiceクラスのインスタンス。 >同じクラスから作られるが実体は別。 でも、 a=Dice1() a.shoot()と実行しても b=Dice1() b.shoot()と実行しても 上記コードの場合同じ結果ですよね?aもbも同じDice()を参照していますよね??
107 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:31:11.27 ID:lsMoUydE.net] あらめっちゃ被った… >>99 さんの書き込み10回読んでもわからないなら、とりあえずクラスのことはよくわからないままトライ&エラーするといいよ そのうち体でわかってくると思うので
108 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:38:03.45 ID:lsMoUydE.net] 同じ設計図を元に作られたからといって、そのサイコロとか車は現実世界で同じものなんですか? 違うよね? あなたのプリウスと他人のプリウスのハンドルは同じ形してるし機能も同じだけど、別の物体だよね? それともあなたのプリウスのハンドルは回したら世界中のプリウスのハンドルが一斉に回る? 回らないよね? ここまでわかる?わからない?どっち?教えて?
109 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 00:59:32.98 ID:Hxz0Gz0r.net] JavaじゃなくPythonでこのぶつかり稽古感嫌いじゃないな クラスを理解するのにここでつまづく人も少なくないと思うから
110 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 01:07:15.59 ID:lsMoUydE.net] selfが引数にあるから余計にわからなくなっちゃう人は多そう
111 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 01:38:05.86 ID:CO7i0u7Y.net] サイコロ工場長の視点で解説しよう 机の上にサイコロの設計書があります class Dice1 これが 【クラス】 設計書に基いてつくったサイコロを作ろう ガッチャンガッッチャン a=Dice1() , b=Dice1() これが 【インスタンス】 サイコロは基本6面だから、共通の変数作っとこ i=6 これが【クラス変数】 ちょ 全サイコロ共通じゃなくて一個一個カスタマイズできる変数が欲しいよね self.a = a って書くことにしよう これが【インスタンス変数】 self はインスタンス自身を指すよ
112 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 02:07:56.35 ID:CO7i0u7Y.net] a.shoot() はサイコロa を振ってる b.shoot() はサイコロb を振ってる 設計書Diceを振ってるわけじゃない クラス変数とインスタンス変数の違いについては、自分でいろいろ代入して試しながら解説を読まないとピンとこないと思う bacspot.dip.jp/virtual_link/www/si.musashi-tech.ac.jp/www/Python_IntroProgramming/05/index-1c.html
113 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 02:40:12.22 ID:3MWYDBgR.net] >>101 「データ型は、よりシンプルなデータ属性(アトリビュート)と関数(メソッド)の集まりでした。どのようなアトリビュートとメソッドがあるのかを決める仕組み(設計図)が、クラスという概念なのです」(P.228) a = Dice() Diceクラスへの参照がaに代入されているわけではなく、 Diceクラスの初期化メソッドが呼ばれ、インスタンスが作成され、インスタンスへの参照がaに代入されている。 Diceの後ろに、関数を呼び出すときと同様に()がついていることに注意。 クラスからインスタンスが作られるとき、 メソッドは同じものが各インスタンスで共有されるが、 データ属性は各インスタンスに個別にメモリが割り当てられる。 組み込みのデータ型であるリストを例に挙げると、 sort()やcount()などのメソッドはどのリストでも同じ処理だが、 具体的にどんなデータを内容として持っているかは、実際に使われるリストごとにそれぞれ違う。 それと同じ。 a = Dice() a.shoot() b = Dice() b.shoot() a.shoot()とb.shoot()が同じ内容のメソッドを実行していることはその通りだが、 同じ結果を返すかどうかはshootメソッドの内容によって決まる。 例えばそれぞれのインスタンスのデータ属性を参照してそれを元に結果を返す関数だった場合、 aとbで同じデータ属性でも具体的な値は違う可能性があるため、 その場合違う結果が返る。 ここでは、shootメソッドの内容は、1〜6の数字をランダムに返すというものなので、 a.shoot()とb.shoot()では同じ結果にならないし、 a.shoot()を繰り返し実行した場合でもその都度違う結果になる。
114 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 05:01:22.18 ID:0CNX1oFz.net] クラスのメソッドを関数として書くと下のようになります class構文がないプログラミング言語ではこのような形のOOPを見ることがあります import random class Dise: pass def dise_init(self): self.n = 6 def dise_shoot(self): return random.randint(1, self.n) def main(): sai = Dise() dise_init(sai) kekka = dise_shoot(sai) print(kekka)
115 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 08:02:54.15 ID:8RwZ5SRI.net] お前らやさしいな
116 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 08:19:25.89 ID:BJJqeoyH.net] 暇なんだろ
117 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 10:06:46.46 ID:j5ZekPWl.net] こんなとこで解説するならブログにでやったほうが有益なのに
118 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 10:26:56.43 ID:GyFRMyRF.net] それはどうだろ? 検索すらできないからここで聞いてるんでしょ ブログに書いたところでたどり着かないだろうし そもそもこんな初歩を解説しているところは既にある 情報の再生産は賢くない
119 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 11:02:22.23 ID:j5ZekPWl.net] ってことはここで解説することも再生産になるな なるほどなるほど
120 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 11:13:23.82 ID:C29rFbOn.net] 上の質問者ではないけど、車の例えやサイコロ工場の例はすごくわかりやすかったです。 私の中では日本語だからたまたまなんだけど、Classは型、 つまり鋳型みたいなものという理解だったのだが、だいたい合っているようでよかった。
121 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 22:31:30.92 ID:lsMoUydE.net] ここ掲示版、それも質問スレってわかってる?
122 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 22:32:37.25 ID:CO7i0u7Y.net] 2chで解説してもブログでやっても大差ないもん 情報がばらばらになってる時点で、stackover flowみたいなとこに集積されてる英語圏とは比べものにならにあ 日本語版stackover flow
123 名前:ェリリースされたら移住しよで [] [ここ壊れてます]
124 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 22:39:58.60 ID:8RwZ5SRI.net] >>117 ja.stackoverflow.com
125 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 22:47:21.99 ID:lsMoUydE.net] いやそういう問題でもなくて 質問スレでわからないっていう書込みがあったからみんな答えてるわけで、それに対してブログでやれってのは意味がわからない 目の前で出血多量で倒れてる人がいるのに止血しないで「こういう人を救うために僕は医者になるんだ」と決意するぐらい遠回り
126 名前:デフォルトの名無しさん mailto:sage [2015/06/05(金) 22:56:04.78 ID:Po70kg5k.net] 金曜だからハイになってるのかな?
127 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 10:40:09.46 ID:fshGdHb4.net] PyQt5の勉強しようとIPythonでサンプルプログラム打ち込
128 名前:だらカーネル死亡してわろたw どうやらIPythonもPyQtでできてるので干渉してるらしい しょうがないからSpyderでやるかーと思ったら、SpyderもPyQtでできててわろた [] [ここ壊れてます]
129 名前:デフォルトの名無しさん [2015/06/06(土) 11:38:16.40 ID:DEqjSCNd.net] >>119 意識不明になりかけの緊急手術の直前に本人に同意書へのサインを何枚も書かせるような感じ?
130 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 13:27:48.72 ID:MyhE4x2q.net] >>121 ipythonはコマンドラインツールだからpyqt使ってないんだけど
131 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 17:52:09.89 ID:/Aft5CBs.net] withが気になってるんですがどこ見てもファイルへのアクセスに便利だぐらいのことしか書かれてなくて、 それ以外の利用法がいまいち思い浮かばないです 皆さん使ってますか?
132 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 18:00:31.27 ID:9TAyXKx2.net] それはなぜ便利なのか理解してないからでは with使わずに書いてみればなぜ便利なのか分かるよ どういう風に使えるのかも
133 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 18:06:40.87 ID:9TAyXKx2.net] ブロックに入るときと出るときに定型処理を要求されるなら何にでも使える ロックしかりセッションしかり ってのが全てだけど、想像できないでしょ
134 名前:デフォルトの名無しさん mailto:sage [2015/06/06(土) 20:54:41.78 ID:2JQblal0.net] Withの機能って英語ネイティブの連中だと ふだんの用法から類推できるのかな? いまExcelでVBA書いてるけどWithの機能が Pythonとはまた違うような…
135 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 04:49:37.07 ID:P+H+q5eJ.net] >>123 おかしくなる原因わかった QT衝突だけじゃなかった 1.QTメインループ発射すると、IPythonのイベントループから処理を奪ってしまう 2.Qt同士の衝突(QtConsle, Spyder) 3.Qtウィンドウを閉じてもappオブジェクトは残るので、消したつもりで二個目を作るとカーネル死 対策: 1.IPythonのマジック関数「%gui pt5」でメインループ作成。app.exec_からは作らない。 3.appオブジェクト作成前に既に存在するかどうか確認する app = QCoreApplication.instance() if app is None: __app = QApplication(sys.argv) 以外とはまる罠 4.sys.exitや quitをしない。Pythonでは正常通り動くけど、IPythonだとカーネルごと死んじゃう
136 名前:デフォルトの名無しさん mailto:sage [2015/06/07(日) 05:57:06.55 ID:J7/rKSpK.net] かよこってだれだよ
137 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 01:17:40.83 ID:FYS9ZuUR.net] 質問です Win8.1にPython3.4をインストールしたのですが そこにwxPythonを導入できません 色々試しているのですがすべて失敗します コマンド c:\Python34\Scripts>pip install --pre –f wxpython.org/Phoenix/snapshot-builds wxpython-phoenix 結果 Exception: Traceback (most recent call last): File "C:\Python34\lib\site-packages\pip\basecommand.py", line 223, in main status = self.run(options, args) (中略) File "C:\Python34\lib\site-packages\pip\_vendor\pkg_resources\__init__.py", line 2891, in parse_requirements raise ValueError("Missing distribution spec", line) ValueError: ('Missing distribution spec', '?f') Python3.4でwxPythonを使うことは可能なのでしょうか?
138 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 01:50:38.99 ID:kUihiJyv.net] -fのハイフンがおかしい。 どっか変なとこからコピペでもしたんだろう。
139 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 03:05:46.27 ID:1CV/YMqS.net] 今月Cythonの書籍が2冊ほど発売されますが、CythonはBottleやFlaskでWebページを作る場合にも高速化に役立つのでしょうか?
140 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 04:48:57.05 ID:TkpGbpl3.net] いいえ
141 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 07:31:43.53 ID:UvAzbTzo.net] 問題設定が奇妙だ Q.Webアプリを作る際のボトルネックがPython側にある場合、Cython高速化の役に立つのでしょうか? A.立ちます
142 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 09:16:47.89 ID:PuuH78/z.net] Cython ―Cとの融合によるPythonの高速化 ともう1冊はなんだろ?
143 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 09:19:35.76 ID:xp3ZJS47.net] >>130 wxpython使うならpython 2.7を使え どうしてもpython 3.4でやりたいならpyqt5とかpysideを使え
144 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 10:34:15.07 ID:IBO2jVeF.net] 3に対応してるwxPython開発者バージョンってどのくらい安定してるのかね? せっかくだし是非人柱になっていただきたい
145 名前:デフォルトの名無しさん mailto:sage [2015/06/08(月) 10:42:07.07 ID:IBO2jVeF.net] >>130 てかコマンドがいろいろおかしくね? fの前のハイフンと、末尾wxPythonのアンダーバー pip install -U --pre -f wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix それでもエラーでたらファイルをDLしていれたらうまくいったって報告がいくつかあるよ wxpython.org/Phoenix/snapshot-builds/ ここから下のほうにある最新版のwhlファイルを落として、 コマンドプロンプトでwhlがあるフォルダにいって、 pip3 install -U --pre wxPython_Phoenix-3.0.3.dev1820+49a8884-cp34-none-win_amd64.whl
146 名前:デフォルトの名無しさん mailto:sage [2015/06/09(火) 07:41:01.24 ID:CCwBvSiM.net] 129です >>138 にあるwhlをダウンロードする方法でうまくいきました! 問題なく動くっぽいので今日から色々作ります >>131 >>138 ありがとう!
147 名前:デフォルトの名無しさん [2015/06/09(火) 08:41:14.82 ID:il7QxJ4a.net] どういたしまして
148 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 14:45:46.94 ID:P6xkiuvh.net] setattrでクラスのインスタンス変数は動的に作れるようですが、 普通の変数は動的に作ることはできないのでしょうか?
149 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 15:09:07.35 ID:quZXc/6x.net] モジュール内のスコープなら globals()['hoge'] = 1 print hoge でいける 関数内のスコープでは該当機能なし locals()には書き込めない
150 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 19:14:44.56 ID:z8625JCz.net] ubuntu pyenv . ~/pyenv/versions/3.4.3/lib/python3.4/curses/__init__.py, line 13, in <module> from _curses import * ImportError: No module named '_curses' どうすればいいんでしょうか?
151 名前:デフォルトの名無しさん [2015/06/12(金) 19:24:56.91 ID:qp6MkQCv.net] https://github.com/yyuu/pyenv/issues/240 stackoverflow.com/questions/28840867/compiling-python-with-curses-support
152 名前:デフォルトの名無しさん mailto:sage [2015/06/12(金) 23:36:54.43 ID:P6xkiuvh.net] >>142 ありがとうございます globals()とlocals()というdictの存在は知りませんでした 勉強になりました
153 名前:デフォルトの名無しさん [2015/06/13(土) 03:17:49.96 ID:NUKk6CPY.net] どういたしまして
154 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 11:48:55.19 ID:AciwpV5F.net] >>143 GoogleでImportError: No module named '_curses' でググれば一発だろうが・・・
155 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 12:11:35.04 ID:AmgidL1k.net] そういう発想に至れないから聞いてんだろうが馬鹿か ゴミのお前らを多少なりとも社会の役に立ててやろうとしてるのに何様だ 役立たずは土に帰れ って思ってるでしょうから代弁してあげました
156 名前:デフォルトの名無しさん [2015/06/13(土) 12:57:33.62 ID:NUKk6CPY.net] ありがとう って伝えたくて
157 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 13:45:05.39 ID:d6cyRLaO.net] 検索したけど、ディレクトリがないとかコマンドが無効とかでわかんなかったから。 他のでもエラー出たし、超初心者用って書いてあるからいいのかと。 >>144 >>147 解決しました。ありがとうございました。 >>148 思ってない。
158 名前:デフォルトの名無しさん mailto:sage [2015/06/13(土) 14:30:05.53 ID:AmgidL1k.net] それは失礼した
159 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 03:21:19.95 ID:heCu4ibl.net] 一部変な奴もいるけど気にせずに初心者はどんどん質問してくださいな
160 名前:デフォルトの名無しさん mailto:sage [2015/06/14(日) 06:00:50.39 ID:zPXILR6N.net] >>91 notepad.exe はExcelではなく、 最初から、Windowsに付いている、メモ帳ソフトだよ また、試してうまく行かないのなら、 そのエラーメッセージも書くこと!
161 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 11:57:46.42 ID:UXrUNkbZ.net] #!/usr/bin/python これ書く必要ないと思うんですが何で皆書いてるんですか?
162 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 12:27:08.68 ID:CEFvwvlb.net] なぜ書く必要がないんだ ドザかキサマ
163 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 12:40:00.85 ID:/ZcDX49o.net] 常にpythonコマンドの引数として実行してるから プログラム中に書く必要が無いっていう意味かもよ
164 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 12:53:12.01 ID:CEFvwvlb.net] なるほど
165 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 14:12:49.62 ID:nCXuemSD.net] sympyのチュートリアルにtype(_)みたいに引数がアンダーバーの例が結構出て来るんですけど どういう意味なんですか?
166 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 14:12:58.25 ID:+3PE6uzO.net] {'a': 0.1, 'b': 0.4, 'c': 0.5} こういう確率分布に沿ってランダムにa~cを返すようなスマートな書き方って無いでしょうか 今はこんなリストを生成してrandom.choice(list)してるんですが酷過ぎますよね [a,b,b,b,b,c,c,c,c,c]
167 名前:デフォルトの名無しさん [2015/06/15(月) 15:12:19.08 ID:6FCFdlNB.net] >>158 直前に実行した結果の値
168 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 15:13:37.21 ID:6FCFdlNB.net] >>159 それでいいよ
169 名前:デフォルトの名無しさん [2015/06/15(月) 15:50:40.17 ID:23esbdI0.net] >>159 import random def get_random_abc_smart(random_abc): r = random.random() for name, value in random_abc.items(): if r < random_abc[name]: return name r -= random_abc[name] raise ValueError() if __name__ == "__main__": random_abc = {'a': 0.1, 'b': 0.4, 'c': 0.5} for i in range(10): abc = get_random_abc_smart(random_abc) print(abc)
170 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 16:15:41.68 ID:/ZcDX49o.net] >>158 もう回答ついてますが、補足すると、 対話モードでPythonを実行しているときに、 Pythonインタプリタが最後に表示した式がその都度、 ビルトイン変数である _ に代入されます。 >>> 2 2 >>> _ 2 >>> _ + 8 10 >>> _ 10
171 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 16:24:13.59 ID:/ZcDX49o.net] >>159 randomモジュールの公式ドキュメントの最後のところに、 「ありがちな作業として、重み付けされた確率のrandom.choice()を作ることがあります」 として、コード例が二つ、挙げられていますよ。
172 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 16:47:22.20 ID:+3PE6uzO.net] >>164 3系のドキュメントには確かに書いてありました ramdomにそういう関数があるんじゃないかと思って隅から隅まで読んでたんですが、 検索で最初に出て来たのが2.7のドキュメントだったのでそっちを読んでました 新しい方のドキュメントを読むようにしないとダメですね ありがとうございました
173 名前:デフォルトの名無しさん [2015/06/15(月) 17:11:38.07 ID:23esbdI0.net] 確率なら私は、>>162 を押すけど・・・ 何これ滅茶苦茶になってる。 書き直し import random def get_random_abc_smart(random_abc): r = random.random() for name, value in random_abc.items(): if r < random_abc[name]: return name r -= random_abc[name] raise ValueError() if __name__ == "__main__": random_abc = {'a': 0.1, 'b': 0.4, 'c': 0.5} for i in range(10): abc = get_random_abc_smart(random_abc) print(abc)
174 名前:デフォルトの名無しさん [2015/06/15(月) 17:18:53.77 ID:23esbdI0.net] 3分ルール。 3分以内だから書き直して良し。 import random def get_random_abc_smart(random_abc): r = random.random() for name, value in random_abc.items(): if r < value: return name r -= value raise ValueError() if __name__ == "__main__": random_abc = {'a': 0.1, 'b': 0.4, 'c': 0.5} for i in range(10): abc = get_random_abc_smart(random_abc) print(abc)
175 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 20:33:01.67 ID:TKCLtNo1.net] 向いてないよお前
176 名前:デフォルトの名無しさん mailto:sage [2015/06/15(月) 23:57:55.27 ID:kyy3xBtw.net] >>155 CGIで動かすなら書く必要はあるけどそれ以外で書く必要ある?
177 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 00:01:08.17 ID:b7Inp4eU.net] なぜCGIで動かすために必要なのか分かれば用途も分かるんじゃ?
178 名前:デフォルトの名無しさん [2015/06/16(火) 07:25:00.65 ID:5/n3i9e1.net] cron が実行する時とか書いておいた方がいいじゃん
179 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 08:32:21.66 ID:550Q7INi.net] cronだろうがCGIだろうがその気になれば書かんでも動くけどな
180 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 19:45:46.31 ID:RI7md6Vl.net] むしろお前の気分など微塵も関係ないわw
181 名前:デフォルトの名無しさん [2015/06/16(火) 19:50:16.97 ID:A7ypZhpv.net] 長すぎるスクリプトがあって2つに分割したいのですが、 最初のスクリプトに定義した定数(みたいなもの)に後のスクリプトからアクセスできません foo.py -------------------- FOO = "foo" import bar bar.py -------------------- print foo.FOO #エラー 2つのスクリプトから共通に定数を参照することはできないのでしょうか?
182 名前:デフォルトの名無しさん mailto:sage [2015/06/16(火) 20:01:32.04 ID:VP0cCW3e.net] bar.pyの中で先にimport fooしてからfoo.FOOを使う
183 名前:デフォルトの名無しさん [2015/06/16(火) 20:10:01.18 ID:A7ypZhpv.net] ありがとうございます 循環的にimportしてもいいのでしょうか
184 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 00:11:28.65 ID:zdNvSItr.net] >>1 hをわざわざ抜かんでもいいよね リファラー漏れたって構わんだろ
185 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 05:37:25.05 ID:kNv7Xml9.net] >>174 これどうするんだろ 試してみたけどエラーになるし 共通変数だけ3つ目のスクリプトを作ってそこに記述するとか?
186 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 06:32:07.61 ID:LjoNHjol.net] 共通定数を定義した3つ目を作ってimportするしかないんじゃないの
187 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 07:01:05.48 ID:81IWqnhU.net] モジュールから公開するものは定数、関数、クラス つまり再代入しない書き換えない前提のものだけにするべきだ
188 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 09:21:43.00 ID:7KhQ6AFD.net] Cのincludeとかと勘違いしてんじゃね
189 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 09:57:22.15 ID:oj1Iwp6E.net] フレームワークとかで見かける@app.routeって書き方が何なのかを学びたいんですが この機能についてPythonのドキュメントのどこに載ってますか?
190 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 10:44:14.01 ID:IK4mFl8b.net] デコレータのことなら 用語集のdecoratorの項目 言語リファレンスの複合文の項目の関数定義およびクラス定義の項目 英語でよければPEP318とPEP3129
191 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 10:57:46.10 ID:0Srw9Hnu.net] お前もデコレートしてやろうか
192 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 12:01:08.92 ID:l25RfAPf.net] >>176 docs.python.jp/2/faq/programming.html 関数の中とかでimportするようにすれば循環を解消出来る
193 名前:デフォルトの名無しさん [2015/06/17(水) 12:31:24.46 ID:r36nFuSU.net] デコレータの使い所がつかめない
194 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 13:17:06.78 ID:0Srw9Hnu.net] 無理につかむ必要なし スルーして先に進め
195 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 15:58:52.42 ID:QfA6ONQ8.net] 今からpythonを始めるなら3系がいいの?
196 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 18:06:59.25 ID:Qul178yg.net] 何をしたいのか明確で必要なライブラリがPython3対応なら3 そうでないなら2 何をしたいのか分からないボクちゃんは2にしとけ
197 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 19:22:24.73 ID:/LVZEvtO.net] 何いってんだ やりたいことが決まっててそれが2しか対応してないなら2 それ以外でいまから2やる理由などない 時代遅れも甚だしい
198 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 19:39:54.69 ID:lLs1gGcm.net] パイソンをやめたいんだが
199 名前:デフォルトの名無しさん mailto:sage [2015/06/17(水) 19:56:55.43 ID:Qul178yg.net] お前はもう家の子じゃない 勘当だ!でてけ!
200 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 00:54:51.07 ID:847qU7kl.net] いまさら2から始めるのはないと思う。 ある程度使えるようになることにはサードパーティのライブラリでも3対応になってるはず。
201 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 04:26:12.53 ID:R8kyw3Rj.net] 言語本体だけ見れば2系を選ぶ理由はもう全く無い 日本人が2系で入門するとUnicodeDecodeErrorを最低100回以上は見る事になって辛いよ いまだに2を使ってる人が多い理由は大きくわけると2つあって ・言語本体以外のライブラリが3系に対応していない ・今まで書いて蓄積して来た2系のコードを3系に移植するのが大変なのでそのまま2で開発続行 今から始めようっていう人にとって2と3どっちを選ぶかは結局のところ使うライブラリが対応してるかどうか ここ1~2年で急激に3系へのライブラリ対応が完了つつあるので絶対3をお勧めしたい 3系やるなら3.3か3.4で 3.0~3.2は色々な事情でダメ もうすぐ3.5が出るけど初心者は様子見で3.3か3.4で入門して欲しい
202 名前:デフォルトの名無しさん [2015/06/18(木) 06:16:54.84 ID:qj3FW4Pj.net] なんで3から2のライブラリを使えるようにしなかったんだ
203 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 06:44:21.31 ID:Zk4Vy/pu.net] 使えるようにしつつ満足のいく言語仕様の変更ができなかったから に決まってるだろうがよぉー
204 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 07:42:22.87 ID:SQas+mXZ.net] 残ってるサードパーティーライブラリの癌はgeventだな あれのせいでイベントループ系のフレームワークが全滅
205 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 07:59:34.32 ID:aPbhwQoO.net] 3.5はバラ色の未来ですねわかります
206 名前:デフォルトの名無しさん [2015/06/18(木) 08:01:31.33 ID:rHijCFtm.net] そんなに3が凄いならいっちゃおうかな
207 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 08:06:55.17 ID:7/h/PzkV.net] >>197 kwsk
208 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 09:44:38.69 ID:Gsq65laO.net] GAE待ちとか
209 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 09:51:46.91 ID:7/h/PzkV.net] それな
210 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 19:37:20.29 ID:rESrKy3o.net] G!A!E!
211 名前:デフォルトの名無しさん mailto:sage [2015/06/18(木) 20:00:46.48 ID:qj3FW4Pj.net] GAEと言えば7月にMasterSlave店じまいセールだな
212 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 00:29:37.61 ID:pwEd9MNq.net] >>186 デコレータは機能を追加する 例えば、ログを表示する、log() という関数がある時、 f1() の内部で、log()を呼び出すと、 f1()のソースコードを変更しなければならない def f1(): log() デコレータなら、f1()のソースコードを変更しなくてもよい @log def f1(): また、イベントのように、複数の機能も追加できる @log @sort def f1(): 下のデコレータから呼ばれるので、 ソートしてから、ログを表示する また、関数宣言として、デコレータを使うこともできる @atexit.register def f1(): f1()はプロセス終了時に、呼び出される
213 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 05:26:58.65 ID:XxXXr7Os.net] pythonのatexitがマルチプロセスなプログラムと相性が悪い件 taichino.com/programming/1199
214 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 09:58:16.55 ID:u8L6JLuV.net] >>194 IronPythonとJythonが今のところ2系だからって理由も追加しておいてくれ
215 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 10:21:50.56 ID:Rpgf6TLH.net] そういえばJython2.7出てたね つい先月まで2.5相当の骨董品だった環境を 使っている人間がどれだけいるのか知らんが
216 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 11:25:33.18 ID:gzzqdCD8.net] 質問スレはここでいいでしょうか? こんな感じのテストパターンを計算でiPython Notebookで作りたいのですけどどのライブラリを使うのがいいでしょうか? グレーの濃度をガンマ2.2用に変えたものを作りたいのです https://commons.wikimedia.org/wiki/File:SMPTE_RP-133_small.png 本当に作りたいのはAAPM-TG-18-PQCのパターンです(輝度が0.2%違うラインが一杯並んでいる)
217 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 11:26:22.69 ID:gzzqdCD8.net] 追記 https://upload.wikimedia.org/wikipedia/commons/8/88/SMPTE_RP-133_small.png
218 名前:デフォルトの名無しさん [2015/06/19(金) 11:47:20.00 ID:DjrbuAgm.net] 質問です ---------------- import sys, os, time import subprocess def newproc(t): p = subprocess.Popen('hoge.py', shell=True, bufsize=4096, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, close_fds=False) if p.pid == 0: time.sleep(t) sys.exit() else: print 'forked: %d' % p.pid newproc(5) newproc(10) print os.wait()[0] print os.wait()[0] ---------------- これを hoge.py というファイルで保存して実行したときに 子プロセスかどうかの判定で失敗するようなのですが どうすれば pid を正しく取得出来ますか? 環境は Windows 7/8.1 です
219 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 12:40:35.57 ID:Rpgf6TLH.net] 正しく取得できてるから0じゃないんだよ subprocessとos.forkは違う
220 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 12:43:26.32 ID:Rpgf6TLH.net] 期待を裏切っておくと Windowsでfork相当のことはできないよ 考え直すんだね
221 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 12:44:25.26 ID:DjrbuAgm.net] >>212 そのようですね ありがとうございます 後出しで済みませんが 子プロセス側で自分が子プロセスかどうかを判別する方法はどうすれば良いのでしょうか?
222 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 12:47:40.56 ID:Rpgf6TLH.net] 手っ取り早いのは起動する時に引数を指定することだろう
223 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 12:52:56.49 ID:Rpgf6TLH.net] >>206 これよお forkとatexitシステムコールのman読めば分かることだが forkはatexitの登録も継承するんだよ(execは継承しない) だからforkした回数だけ起動されて当たり前だ Pythonがどうとか御託を並べる前と後にRTFMしろ脳プリンが
224 名前:デフォルトの名無しさん [2015/06/19(金) 13:12:03.39 ID:4Vx29HIc.net] えっ?RTFM? retweet format? aRT fm radio? > RTFMしろ脳プリンが 脳プリンさんってコテハンがRTFMするんです???
225 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:17:30.92 ID:X0p5IxAK.net] >>216 実は私もそう思ったんです >どうするのが綺麗なのか解りませんが、今のところ終了処理にpidを渡して無理矢理処理を振り分けています。 みたいなふざけたこと言ってるので 例えば atexit.register(exitfunc) fork_process(5) fork_process(10) を fork_process(5) fork_process(10) atexit.register(exitfunc) にするだけで良いんじゃないかと
226 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:23:36.39 ID:r/oYBuQO.net] お客さん意外と辛辣ね…
227 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 13:42:54.95 ID:FzphauAa.net] 少なくとも 「相性が悪い」 というのは的外れな表現ですね
228 名前:デフォルトの名無しさん mailto:sage [2015/06/19(金) 17:54:53.41 ID:yCMOiWgQ.net] >>209 作ったことないから適当に言うけど 計算はNumpy 描画はPIL(Pillow)って感じでは
229 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 00:39:34.78 ID:m/GPi3MC.net] いまどきなぜ cv をつかわずに Ipl なのか
230 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 04:18:02.13 ID:q1zQqH1k.net] ざーっと基礎を押さえたあとネットでDive into pythonを読んだんだけど良書すぎて困惑した 日本語訳もけっこういいし これ日本語のpython入門本とか立場ないよなw
231 名前: [] [ここ壊れてます]
232 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 05:02:07.47 ID:05xfGfjh.net] あれはまさにPythonを知ってる人向けの再入門本じゃないかなあ 少なくともプログラミング未経験者にはわけわかめだと思う
233 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 06:02:17.49 ID:YRdpRuuN.net] 立場ないとか意味不明
234 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:24:30.35 ID:ZS6UT+M0.net] デコレータ関連で調べていくうちに出会った組込関数のstaticmethod これは何をする関数なんだろう ドキュメントには以下の解説があるが、これでわかる人いる? staticmethod(function) function の静的メソッドを返します
235 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:41:42.24 ID:837NZnyd.net] >>225 >>223 は Dive into Python の翻訳者かな?
236 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:42:52.18 ID:837NZnyd.net] >>226 @classmethod と @staticmethod の違いについて述べよ
237 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 08:57:58.95 ID:ZS6UT+M0.net] >>228 メソッドってクラス内にある関数のことでしょ それが静的・動的という言葉と何の関係があるのかさっぱりですわ
238 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 09:17:31.21 ID:837NZnyd.net] なんだアスペか
239 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 09:43:41.94 ID:VCJJENu0.net] 超初心者に分かるように説明するのは難しいなあ
240 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 10:02:36.41 ID:ZS6UT+M0.net] >>230 中傷はお腹いっぱいだから解説が欲しいなあ >>231 公式ドキュメントがアレな時点で覚悟はしていたが 人に説明するのが難しい概念なのか じゃあ追い求めるのはやめとくよ クラスを作ることのない自分にはたぶん不要でしょ
241 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 10:47:37.17 ID:EgcPeahS.net] >>214 multiprocessingを使え
242 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 11:15:04.01 ID:JS1ARM9p.net] >232 staticおじさん乙
243 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 11:32:33.23 ID:q1zQqH1k.net] >>232 公式ドキュメントの日本語は酷いよなw 自分がググったなかではこれが一番分かり易かった stackoverflow.com/questions/12179271/python-classmethod-and-staticmethod-for-beginner
244 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 18:06:53.98 ID:EIopszoh.net] wxpythonで、例えばwx.Panelクラスを継承する場合 class MyPanel(wx.Panel): def __init__(self, *args, **kwargs): wx.panel.__init__(self, *args, **kwargs) pass と書きますが、このときコンストラクタに任意の引数を追加したい場合はどうすれば良いのでしょうか class MyPanel(wx.Panel): def __init__(self, value=0, *args, **kwargs): wx.panel.__init__(self, *args, **kwargs) self.value = value このようなことをしたかったのですが、これだとエラーが出てしまい困ってます
245 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 18:13:02.77 ID:BwBYUmlz.net] value=0, *args を逆にしたら通らないか? 今試せないから間違いならごめんよ
246 名前:デフォルトの名無しさん [2015/06/20(土) 18:35:54.79 ID:m1xwf2/2.net] >>236 class Parent(object): def __init__(self, *args, **kwargs): print("in Parent()") print("args =", args) print("kwargs =", kwargs) class MyChild(Parent): def __init__(self, *args, **kwargs): # print("MyChild() kwargs =", kwargs) if not "value" in kwargs: kwargs["value"] = -1 self.value = kwargs["value"] Parent.__init__(self, *args, **kwargs)
247 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 19:02:56.23 ID:n/MPx6ZH.net] Parentにvalueを渡しても良いなら value = kwargs.setdefault('value',0) 渡したらダメなら、上の後で del kwargs['value']
248 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 20:01:07.38 ID:m/GPi3MC.net] class MyPanel(wx.Panel): def __init__(self, *args, **kwargs): super(self, MyPanel).__init__(*args, **kwargs) pass
249 名前:デフォルトの名無しさん mailto:sage [2015/06/20(土) 23:07:53.60 ID:vDkYH4Pd.net] >>211 linuxでは、ps コマンドや、 /proc/[pid]/stat で、プロセスの状態を見れる pid は、プロセス ID。 ppid は、このプロセスの親プロセスの PID つまり、PIDから、ppidがわかる 逆に、親から子は、簡単にはわからない。 親子は、1対多の関係だから Windowsでも、同じだと思う
250 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 02:00:24.62 ID:4AMULbus
] [ここ壊れてます]
251 名前:.net mailto: >>235 ありがと、せっかくだから読んでみたが、やっぱ今の自分には無理そうだ クラスを使わない自分にはサンプルコードから使いどころが見えてこない あとデコレータは「Python文法詳解」の本に公式より詳しい説明があったから 読んでみたら、おぼろげに見えてきた 要は、Aという関数のオブジェクト作成時(呼び出し時ではない)にBという関数を 呼び出す仕組みであり、このBをデコレータと呼ぶらしい ただ、この仕組みが実務で何の役に立つのか、初学者はサンプルから読み取れない それが困ったところだ [] [ここ壊れてます]
252 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 05:40:21.64 ID:w9NVD211.net] 説明はしないけど標準ライブラリを使って下のような例を挙げておく import functools @functools.lru_cache(maxsize=None) def fibonacci(x): if x <= 1: return x else: return fibonacci(x-1) + fibonacci(x-2)
253 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 07:11:08.54 ID:DNozaEUf.net] >>242 前にselfで質問してた人かな?
254 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 08:40:34.98 ID:/JS5ft5/.net] decorator で引数の型チェックするとかはあったな 実用化成功してるとするなら普及しないのが不思議だけど
255 名前:デフォルトの名無しさん [2015/06/21(日) 10:04:24.99 ID:WzG+ayAj.net] >>234 そいつは static おじさん以下だろ static おじさんの方が百倍マシ
256 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 14:19:07.26 ID:cvS/M2oc.net] 初めてのプログラミングでpython学ぼうと思うんだけど おすすめのサイトとか本とかある?
257 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 18:44:15.00 ID:0g6EdVmv.net] 料理の本でも書った方がマシ
258 名前:デフォルトの名無しさん mailto:sage [2015/06/21(日) 23:02:16.53 ID:YQGPuxlq.net] 100円のKindleのん
259 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 21:35:08.52 ID:cyUuMoVS.net] GUIやりたいんだけど、 GTKとかQtとかwxとかいろいろあるみたいだけどどれがいいの?
260 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:37:04.46 ID:mEuvJOmb.net] Tkinter
261 名前:デフォルトの名無しさん mailto:sage [2015/06/22(月) 22:53:48.77 ID:1mBrqKiW.net] 邪道な選択肢かもしれんが IronPythonでWindows FormとかXAMLとか
262 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 00:53:22.47 ID:KSGpzryS.net] Tkinterはないわ 鉄板だけどライセンスが欠点の Qt ライセンスが緩い Wx、 PySide(開発停滞中) モバイル端末のマルチタッチでも遊べる kivy
263 名前:デフォルトの名無しさん [2015/06/23(火) 02:29:50.57 ID:VWqqouSb.net] python3 以降でeasyDialogs の代わりになるものってないのですか?
264 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 02:34:00.43 ID:C02P46O1.net] >>247 みんなのPython 第3版
265 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 02:38:55.91 ID:oDIwBgEe.net] Qtって鉄板なんだ Wxのほうがポピュラーなのかと思ってた
266 名前:デフォルトの名無しさん [2015/06/23(火) 07:44:24.48 ID:p2719NN5.net] pygameのことも忘れないで
267 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 08:15:33.54 ID:rzZlb/rV.net] ブラウザだってguiだわ
268 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 08:24:15.40 ID:p2719NN5.net] ブラウジャはjavascriptだからつまらん
269 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 08:48:29.15 ID:LQs/3Np0.net] Brython
270 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 16:31:27.73 ID:pUNJxfqT.net] 横レスだけど、Tkinterってダメなの? これから勉強しようとしてる初心者ですが、最終的にGUIアプリを作りたいので 一番簡単そうに思えるTkinterを勉強しようと思ってた 見た目がダサくなるらしいのはちょっと調べて分かったけど それ以外にも難点があるんですか?
271 名前:デフォルトの名無しさん [2015/06/23(火) 17:26:52.29 ID:y0iv9VtA.net] 何度でも言うよ GTK は糞
272 名前:デフォルトの名無しさん [2015/06/23(火) 19:38:47.63 ID:fcD/yaWG.net] tkinterでつく
273 名前:ったことあるけど、別に悪くないよ tkdocsのチュートリアルが結構しっかりしてる [] [ここ壊れてます]
274 名前:デフォルトの名無しさん [2015/06/23(火) 19:56:55.85 ID:R8jZDKIo.net] pathで躓いてる binというディレクトリの下でしか動かないバイナリ を別のディレクトリから動かすにはどうすればいい?
275 名前:デフォルトの名無しさん mailto:sage [2015/06/23(火) 20:06:10.26 ID:kckphfdj.net] >>264 そのディレクトリをbinにリネームする以外に打つ手はない
276 名前:デフォルトの名無しさん [2015/06/23(火) 20:21:51.72 ID:wv+JII7F.net] スレちだし、聞き方が生意気だから教えてやらない
277 名前:デフォルトの名無しさん [2015/06/23(火) 20:23:57.19 ID:wv+JII7F.net] >>265 余計な事、言わんと黙ってて悩ませれば良かったのに!
278 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 01:29:41.38 ID:e2++j1ht.net] >>262 開発環境と手に入る情報量の差? GUIをコードだけで開発してたら効率悪いってんで、PyQt・PySideにはQtDesighner(QtCreator)、 wxPythonにはwxGladeっていうビジュアル的な開発環境がある TkInterにもあるんだろうけどこれだってやつを聞かない 使用人口の差で困ったときに答えが見つかりやすいのが前者2つなんじゃないかと
279 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 02:30:10.98 ID:D119baBl.net] >>266 きもちわる…
280 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 09:12:24.62 ID:qjEYFQ4L.net] >>263 安心しました ありがとう
281 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 10:00:21.60 ID:ySM4xiac.net] >>205 なんで変更しなければならないんですか?
282 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 10:04:20.61 ID:L+KbIIX3.net] >>268 Gladeもと元々GTKな気がする
283 名前:デフォルトの名無しさん mailto:sage [2015/06/24(水) 10:47:21.39 ID:GWC9jKuq.net] >>271 どこぞのNPO代表小学生みたいなこと言ってんじゃねえ
284 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 12:36:40.01 ID:rwNizRxv.net] windowsならpyqt5一択 pythonでgui作る時点でそーすこーど公開を気にしてんじゃねえよ 個人ごときがpythonで作ったguiを有料で配るのなんてなんて需要ねえよ 仕事でやるなら会社がライセンス買うだろ だから個人でwindows向けはpyqt5でいい
285 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 12:38:03.35 ID:rwNizRxv.net] macでもlinuxでもwindowsでも動かしたいならtkにしろ tkかpyqt5の二択で十分
286 名前:デフォルトの名無しさん mailto:sage [2015/06/25(木) 20:14:15.78 ID:VjgLzB4a.net] Linuxメインで簡単なGUIツール作るんだったら何がいいの?
287 名前:デフォルトの名無しさん [2015/06/26(金) 03:39:38.77 ID:TeHEn9G0.net] 何度も言うよ GTK は糞
288 名前:デフォルトの名無しさん [2015/06/26(金) 09:30:50.13 ID:/s2R/Gz1.net] pythonにCでいうところの#ifdef DEBUGみたいのないの?
289 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 09:55:38.57 ID:/s2R/Gz1.net] すまん自己解決。if __debug__で、消すときは-Oオプションつけて実行か。
290 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 09:59:29.10 ID:FScQfCb1.net] インデントの闇は深い
291 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 23:30:23.51 ID:lmpExqE6.net] if a == b and c == d: こういう文があるんですが行が長くなる場合があるので複数行に分ける方法を教えてください if a == b and c == d: だとエラーになりました
292 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 23:42:02.09 ID:tcE5k47V.net] ()
293 名前:デフォルトの名無しさん mailto:sage [2015/06/26(金) 23:45:24.88 ID:Ni9a9rCI.net] 全体を括弧で括るか、バックスラッシュを継続させる行末に置く (a == b and c == d) a == b and \ c == d
294 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 00:22:25.19 ID:KOTMWkTF.net] ファイルを読み書きモードで開いた場合、書き込み前の文字列が残っちゃうんですが どうやって上書きできますか? [a.txt] a b c [test.py] with open("a.txt", "r+") as fp: ____fp.write("z")
295 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 00:25:49.25 ID:KOTMWkTF.net] ぐぐってすぐ解決策見つかりました
296 名前:デフォルトの名無しさん [2015/06/27(土) 04:40:06.78 ID:8NDoKwy7.net] ぐぐってからききなさい
297 名前:岡村隆史「嫌なら見るな」 mailto:sage [2015/06/27(土) 08:29:56.28 ID:yJT4XZQ/.net] 新聞購読を止めて、月3000〜4000円、年間36000〜48000円の節約 新聞にそのような金を払う価値はない ただでさえ要らない なぜなら新聞は国民の方を向いておらず、広告主のための報道しかしないからだ それに金を払って購読することは自らの首を絞める自殺行為に等しい
298 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 08:41:08.09 ID:p3jpLBAy.net] class MyClass: def __init__(self): self.data = (1, 2, 3, 4, 5) self.index = 0 def __iter__(self): return self def next(self): if self.index < len(self.data): self.index += 1 return self.data[self.index - 1] else: raise StopIteration for n in MyClass(): print(n) Python2でエラーが出なくて、Python3でエラーが出るのですが理由がよくわかりません 超初心者にもわかるように解説お願いします
299 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 09:08:16.96 ID:ZoA4Szzx.net] __next__() を使うとうまくいくと思います。 下記に関連する説明があります。 diveintopython3-ja.rdy.jp/porting-code-to-python-3-with-2to3.html#next
300 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 09:09:19.67 ID:Z90g4rXx.net] 仕様が変わったからです next(self)は廃止され__next__(self)になりました
301 名前:デフォルトの名無しさん mailto:sage [2015/06/27(土) 09:18:56.46 ID:p3jpLBAy.net] >>289 >>290 理解しました、ありがとうございます。
302 名前:デフォルトの名無しさん [2015/06/28(日) 02:53:32.39 ID:x9WH9E/Z.net] forループ内で加工したpandasのdfをすべて行で連結していきたいのですが どうやればいいのでしょうか? for i in range(0,10): ... print(df) で出力されるdfをそれぞれ連結させていくイメージです
303 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 03:48:54.20 ID:n02SzJDq.net] https://ideone.com/4Qy3GL StringIOでも良かろう
304 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 08:54:24.66 ID:zKGg/T0h.net] 私の日本語力では>>292 が何がしたいのかわからないのでそれっぽいの貼っていきますね pandas.pydata.org/pandas-docs/stable/merging.html
305 名前:デフォルトの名無しさん [2015/06/28(日) 09:18:15.12 ID:x9WH9E/Z.net] >293 うまくいかないため、すみませんがもう一度お願いします。 以下で得たい出力を得るにはどうしたらよいでしょうか? data = {'A':[0,0,0],'B':[4,5,6],'C':[7,8,9]} df = Dataframe(data) for i in range(0,3): df['A'] = 1*i print(df) 得たい出力 A B C 0 0 4 7 1 0 5 8 2 0 6 9 0 1 4 7 1 1 5 8 2 1 6 9 0 2 4 7 1 2 5 8 2 2 6 9 実際の出力 A B C 0 2 4 7 1 2 5 8 2 2 6 9
306 名前:デフォルトの名無しさん [2015/06/28(日) 09:30:12.24 ID:x9WH9E/Z.net] >>293 あれ、スペースが抜けてしまいました df['A'] = 1*i の前にスペースです forを抜けた後で得たい出力を使いたいです
307 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 10:50:57.03 ID:zKGg/T0h.net] import pandas as pd data = {'A': [0, 0, 0], 'B': [4, 5, 6], 'C': [7, 8, 9]} frames = [] for i in range(3): data['A'] = i frames.append(pd.DataFrame(data)) print(pd.concat(frames)) これでいいのかな 全角スペース入れたから直してね
308 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 11:00:55.00 ID:zKGg/T0h.net] import pandas as pd data = {'A': [0, 0, 0], 'B': [4, 5, 6], 'C': [7, 8, 9]} df = pd.DataFrame(data) frames = [] for i in range(3): df['A'] = i frames.append(df.copy()) print(pd.concat(frames)) pandas上で加工するならこっちか
309 名前:デフォルトの名無しさん [2015/06/28(日) 11:15:31.30 ID:x9WH9E/Z.net] >>298 できました! ありがとうございます!!
310 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 17:53:46.47 ID:5QGv7jmz.net] ライブラリのosとos.pathって何が違うんですか? osをimportしてもos.path使えますよね os.pathってなんのために分かれてるんですか?
311 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 18:40:22.51 ID:n02SzJDq.net] 歴史的な経緯
312 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 20:58:44.00 ID:92vB0cyt.net] os.walk/os.path.walk みたいにはっきりしてほしい
313 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 21:00:42.00 ID:Y74sbUOE.net] PythonでWebやりたいんだけど、どのフレームワーク?ライブラリ?を使えばいいの? MySQLとかも使いたいんだけど
314 名前:デフォルトの名無しさん [2015/06/28(日) 21:02:44.67 ID:I4CbUbOX.net] 聞く前に作ってみたほうが早いんじゃね?
315 名前:デフォルトの名無しさん mailto:sage [2015/06/28(日) 22:13:06.89 ID:92vB0cyt.net] Dja いや なんでもない
316 名前:デフォルトの名無しさん [2015/06/28(日) 23:01:49.82 ID:WE2Gt4yN.net] python3まったくわかんないです 助けて
317 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 06:06:28.45 ID:um2QSBwJ.net] 2は分かるのかよコラァ
318 名前:デフォルトの名無しさん [2015/06/29(月) 06:15:48.27 ID:PjeoFJ6W.net] ここのひとか kanae.2ch.net/test/read.cgi/php/1409423461/
319 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 15:57:57.09 ID:06ru4abg.net] windowsのbrackets使っているひといませんか? 設定で教えて欲しいのですが flake8 lintの設定ができなくて defaultPreferences.jsのpathを変えてみたのですが うまく表示されません。 わかるかたがいれば教えて下さい。
320 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 17:22:56.95 ID:rbxhDT3n.net] >>303 kanae.2ch.net/test/read.cgi/php/1329996601/l50 専用スレが合ったのであっちで回答しました
321 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 18:37:37.37 ID:mk7+9Q5S.net] >>310 トンクス
322 名前:デフォルトの名無しさん mailto:sage [2015/06/29(月) 23:40:20.99 ID:WnsvTum+.net] >>303 BottleとSqlalchemyで基本を掴んだらPyramidかDjangoへ。
323 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 00:11:30.42 ID:3BrZHobQ.net] python2のドキュメントに関する質問です ドキュメントに載っていないようなコンストラクタの引数はどこで見つけているのでしょうか? 例えばasyncore.dispatcherにキーワード引数で、 sockという引数がコンストラクタの引数として指定できるようなのですが、 ドキュメントには書いてありません このような引数はソースコードを直接読む以外に見つける方法はないのでしょうか
324 名前:308 [2015/06/30(火) 01:14:19.91 ID:U4iTFw9A.net] bracketsをやめて正式版がでたatomに移行しました。 atom-beautifyでautopep8も動くし linter-flake8でflake8も使えるようになりました。 ただautocomplete-plus-python-jediをインストールしたのですがエラーで動きません。 これが動くといいのですが
325 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 01:16:51.36 ID:BpE3E8n5.net] 自分で定義した関数は取得できるが組み込みの引数はできない ソースコードを読むしかない
326 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 01:17:54.51 ID:BpE3E8n5.net] >>314 何をどうしたのか 何のエラーがでたのか こういう情報をきっちり書いてもらわないと無視されるよ
327 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 02:54:11.78 ID:FzvalkoK.net] >>306 「みんなのPython 第3版」を読む
328 名前:313 mailto:sage [2015/06/30(火) 09:03:30.25 ID:YGccIQHd.net] >>316 すみません。 atom-beautify autocomplete-plus-python-jedi file-icons japanese-menu linter linter-flake8 linter-jshint minimap script のパッケージをインストールして 補完機能が働くたびに Uncaught Error: This socket has been ended by the other party events.js:141 View Issueを押すと https://github.com/tinloaf/autocomplete-plus-python-jedi/issues/21 に飛びます https://github.com/tinloaf/autocomplete-plus-python-jedi/issues/21
329 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 12:53:01.89 ID:j2uh7iS9.net] atom使ってないから知らないけどプラグインがatomの正式版に対応してないんじゃないの? Emacしか知らないからそんなクソみたいなエディタ使ったことないから知らないがソフトウェア板で聞いたほうが早いんじゃないのか anago.2ch.net/test/read.cgi/software/1393852602/l50
330 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 12:56:33.08 ID:j2uh7iS9.net] あとjedi開発者のreadmeに載ってたけどhttps://atom.io/packages/autocomplete-pythonとか他のプラグインを試してみるとか
331 名前:317 mailto:sage [2015/06/30(火) 14:21:31.34 ID:YGccIQHd.net] >>319-320 ありがとうございます。 他のインストール時にバージョンが対応してない表示がでるのもあるので インストール時に警告はでていないので大丈夫だと思います。 autocomplete-pythonも入れてみたのですがこちらも動きません。(エラーはなし) ATOMの方で聞いてみます。 パッケージインストール時にすごく重くなるので それが原因かもしれません。
332 名前:317 mailto:sage [2015/06/30(火) 14:33:09.56 ID:YGccIQHd.net] autocomplete-plus-python-jediの設定にある Complete Arguments for Functions This will cause the suggestions for functions to include their arguments のチェックを外してみるとエラーなく使えました。
333 名前:デフォルトの名無しさん [2015/06/30(火) 21:36:46.13 ID:yag52Vu+.net] 例えばなんですが テキストエディタ上で選択されている文字を取りだして 加工してテキストエディタに戻す このようなことはpythonで可能でしょうか? 可能ならヒントなどを教えていただけると助かります。 よろしくお願いします。
334 名前:デフォルトの名無しさん [2015/06/30(火) 22:03:09.99 ID:w+OVDF0x.net] これ使え Zim - A Desktop Wiki Developing custom tool scripts Remove line breaks custom tool https://github.com/jaap-karssenberg/zim-wiki/wiki/Remove-line-breaks-custom-tool
335 名前:デフォルトの名無しさん [2015/06/30(火) 23:11:52.70 ID:yag52Vu+.net] >>324 ありがとうございます。 試してみます。
336 名前:デフォルトの名無しさん mailto:sage [2015/06/30(火) 23:25:45.78 ID:heQlMeyV.net] >>323 Pythonで出来るのは「文字列を加工する」部分だけだな。 「テキストエディタ上で選択されている文字を取りだしてPythonに渡す」 「加工した文字列をPythonから受け取ってテキストエディタに戻す」 この部分は使ってるOSとテキストエディタの機能に依存する。 俺の使ってるOSとテキストエディタでは出来る。 あなたの使っているOSでもできる筈だがあなたの使っているテキストエディタでそれができるかどうかはわからない。
337 名前:デフォルトの名無しさん [2015/06/30(火) 23:52:35.57 ID:yag52Vu+.net] >>326 レスありがとうございます。 325さんのOSは何でしょうか? 自分はmacなのですが、 OS付属のAppleScriptというスクリプトでは可能で AppleScriptとPythonを組み合わせて使うことが出来ることまでは ネットで調べてわかったのですが Python単独でもできないのかなと質問してみました。
338 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 00:19:56.04 ID:1d/Huarr.net] >>327 俺もOS Xですよ。 俺が使ってるのはCotEditorというテキストエディタで、 これはAppleScriptだけでなくPythonやRuby、Perlといったスクリプトと直接文字列をやり取りすることができます。 他にもJedit XっていうテキストエディタだとAppleScriptで同様のことができるので、 その場合だとあなたのおっしゃる通りAppleScript経由でPythonを実行することになりますね。 俺の知ってるエディタだとそれぐらいですが、他にも同様のことできるテキストエディタはあると思いますよ。miとか。 あと以前使っていたコンテキストメニューのプラグインにシェルスクリプトを実行できるのがあったので、 これ使ったらテキストエディタの種類に依存せずに、文字列を選択→右クリックからスクリプトを実行、ていうのができるんじゃないかな。 ただこれは何年も使ってないので今のOSでも使えるかどうかわかりません。興味あれば調べてみますが。
339 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 01:30:21.19 ID:ftDlylXp.net] プログラミングに使えるテキストエディタならプログラム実行機能ぐらいはついてる vimでもemacsでもsublimetextでも
340 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 03:52:02.49 ID:Wf/LILTy.net] python2.7でコーディングしてます vimになれるためとりあえずはプラグインなしで書いてましたが、そろそろもう少し便利な機能
341 名前:ヘないものかと辛くなってきました。 pythonを書く上でおすすめのプラグインはありますか? [] [ここ壊れてます]
342 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 07:22:47.74 ID:WrSpGcQO.net] >>326 Pythonで出来るのは「文字列を加工する」部分だけだな。 「テキストエディタ上で選択されている文字を取りだしてPythonに渡す」 「加工した文字列をPythonから受け取ってテキストエディタに戻す」 MS Word なら win32com で全部 python で桶
343 名前:デフォルトの名無しさん [2015/07/01(水) 09:26:39.82 ID:M4xoLOwL.net] >>328 詳しくありがとうございます。 普段Jedit+AppleScriptを使っていて Pythonを使えないのかなと考えたんですけど 環境に環境次第なんですね。 CotEditor面白そうですね。試してみます。 コンテキストメニューは自分で調べてみます。
344 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 10:33:09.71 ID:1/FsmcZH.net] >>330 jedi
345 名前:デフォルトの名無しさん [2015/07/01(水) 20:47:17.26 ID:20mfxfYF.net] >>330 Vundle vim-indent-guids nerdtree nerdcommenter gruvbox jedi-vim syntastic + flake8 プラグイン入れたり消したりするなら、Vundleみたいなプラグイン管理系のプラグインいれとくと楽
346 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 20:54:11.62 ID:NJjcaf84.net] クラスのインターフェイスってやらないのがpythonの流儀ですか?
347 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:12:53.39 ID:jqzDD9Cy.net] 流儀というか ダックタイピングの言語でやる価値はあまりないような 抽象クラスなんかは普通に活用するが
348 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:26:13.45 ID:byy0SjFx.net] コードにインターフェースを定義するか ドキュメントにインターフェースを定義するかの 違いだからね。 俺としてはコードに書きたいんだが、 書いた所で守らないこともできるし、 そこら辺は実装は仕様を守らないとダメよという ルールを強制させられる方がいいな。
349 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:46:32.23 ID:HevIhCYT.net] class Test: __def show(self): ____print(100) obj = Test() これを o['show']() みたいにしてアクセスする書き方を教えてください
350 名前:337 mailto:sage [2015/07/01(水) 22:51:59.18 ID:HevIhCYT.net] 訂正 class Test: __def show(self): ____print(100) このクラス名を変数nameに格納して、nameからTestクラスのオブジェクトを作成する方法を教えてください name = "Test"
351 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:52:10.14 ID:jqzDD9Cy.net] __getitem__を定義してshowメソッドを返せばいいのでは
352 名前:デフォルトの名無しさん mailto:sage [2015/07/01(水) 22:53:22.46 ID:jqzDD9Cy.net] 全然意味違うじゃねーか 原型とどめてねえ物を訂正というのかお前の出身地では
353 名前:337 mailto:sage [2015/07/01(水) 22:53:30.96 ID:HevIhCYT.net] PHPだと $obj = new $name()でいけるんですが pythonで name = "Test" obj = name() って書いても作れませんでした
354 名前:337 mailto:sage [2015/07/01(水) 22:54:30.23 ID:HevIhCYT.net] >>341 すみませんorz
355 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:11:36.17 ID:/Kue2IfO.net] >>342 obj = globals()["Test"] で、いけないかな?
356 名前:デフォルトの名無しさん [2015/07/02(木) 00:37:01.55 ID:P1VXT2gY.net] >>> obj = eval("{}()".format(name)) >>> obj <__main__.Test instance at 0x0000000002DB9BC8> >>> exec("obj = {}()".format(name)) >>> obj <__main__.Test instance at 0x0000000002DBB1C8>
357 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 00:43:13.14 ID:DrUxfqIB.net] そんな直感的じゃないことしないとできないもんかな Pythonらしくないな
358 名前:デフォルトの名無しさん [2015/07/02(木) 00:45:37.33 ID:P1VXT2gY.net] 動的にコード生成するのってきもちわるいよね
359 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 02:50:01.54 ID:hbh5BBnI.net] >>338-329 わろた
360 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 03:18:17.47 ID:hbh5BBnI.net] >>342 o = globals()['Test']() または mo = __import__('hoge.test', {}, {}, []) o = getattr(getattr(mo, 'test'), 'Test')[]
361 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 03:21:07.48 ID:hbh5BBnI.net] なんか変にミスった >>342 o = globals()['Test']() または mo = __import__('hoge.test', {}, {}, []) o = getattr(getattr(mo, 'test'), 'Test')()
362 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 15:33:57.81 ID:3bRQFrby.net] ひでえ記事だな 和訳ドキュメントの文章をちょっと変えてほぼ丸コピペしただけじゃん ttp://qiita.com/sesame/items/3c03ac7ebeecb060af4f
363 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 16:37:28.62 ID:TdrXBmul.net] 例え丸コピペだったとしても お前が文句を言う筋合いは無い 例え丸コピペだったとしても彼が投稿した事で助かる人は居るかもしれないが 2chでウダウダ言って晒して馬鹿にしようとしてるお前の行動で 助かる人は誰もいない
364 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 17:13:23.00 ID:bMzAU0w9.net] >>351 非情に助かりましたありがとうございます
365 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 17:27:22.39 ID:WW9VzXPI.net] 確認してきたら引用ってレベルを超えて盗作じゃねえかwww
366 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 17:46:59.14 ID:x/POinmv.net] こういう事があるから翻訳するのだるくなるんだよなぁ
367 名前:デフォルトの名無しさん mailto:sage [2015/07/02(木) 22:57:49.71 ID:vUmxObwA.net] 最近qiitaひどくなってきてるからな。 内容のレベルは低いし、 どこかのサイトのコピペだし。
368 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 00:16:24.15 ID:yuhxNbcX.net] 噛み砕いてくれてるブログ記事は初心者にとってとはてもありがたいです。
369 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 00:41:23.15 ID:C6li+8cU.net] どこも噛み砕かれてないという件
370 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:29:24.04 ID:OisPLDc8.net] リストから、特定の文字列を含む要素を抽出する上手いやり方ってありますか?
371 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:38:00.16 ID:ZITOwf17.net] >>359 サンプルがわからないので適当に data = ['aaa','bbb','ccc','abc','cba'] test = [i for i in data if 'a' in i] print(test)
372 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 11:59:35.22 ID:oEEd62YQ.net] [i for i in ...
373 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 13:18:03.16 ID:2GnRhJxr.net] >>359 data = ['aaa','bbb','ccc','abc','cba'] test = filter(lambda word: "a" in word, data) print(*test)
374 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 20:02:37.48 ID:Ms6a58jc.net] >>362 このwordって何?
375 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 20:18:00.49 ID:Ms6a58jc.net] あ、lambda <引数>:<式>か ちなみに最後の,dataって何してるの? "a" in data,data すると真偽と配列が全部帰ってくるけど、内部でどういう処理が行われてるわけ?
376 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 20:23:05.96 ID:eeinSX8C.net] あ?調子のんなハゲ
377 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 21:26:15.70 ID:A29HzBau.net] 馬鹿なことを聞いている気がするが教えて欲しい pypiでclassifier+キーワード検索ってどうやるんだろう? そもそもできるのか?
378 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 22:13:42.22 ID:VwEn5rR7.net] xmlrpcのインターフェースはsearchとbrowseで完全に分離されてるよね。 searchではclassifierが使えず、browseでは検索ができない。 なぜこんな仕様にしたんだろう。
379 名前:デフォルトの名無しさん [2015/07/03(金) 23:02:34.50 ID:QSBaxiRc.net] import cv2 とだけ書かれたコードを実行しようとすると UnicodeDecodeError: 'ascii' codec can't decode byte 0x82 in position 20: ordinal not in range(128) と出てしまいます moduleが見つからないというわけではなさそうなのですが。。。 解決法を御教示していただきたいです
380 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 23:17:24.97 ID:ONNQmPA2.net] 2chにエラーをコピペする前にグーグルでエラーを検索しようとは考えないんだろか あと質問するときにバージョンすら書かないのはなんでなんだろか いくらくだスレだって最低限の礼儀っていうかそういうのあんだろ
381 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 23:36:28.31 ID:KFfcBnqi.net] >>364 自己解決しました 最後の,dataってfilterの第二引数だったのね
382 名前:デフォルトの名無しさん mailto:sage [2015/07/03(金) 23:43:56.37 ID:IVmenh/A.net] >>368 ぐぐったら1ページ目にいくつか解決策が見つかったけどもうみたの?
383 名前:デフォルトの名無しさん mailto:sage [2015/07/04(土) 23:29:04.76 ID:RxNq2g3r.net] とりあえず2は早く滅びて欲しい 非英語圏の初心者は辛すぎでしょ
384 名前:デフォルトの名無しさん [2015/07/05(日) 05:20:08.61 ID:XIvEwRaJ.net] たぶん、0x82 みたいな文字が無くて、 decodeできないのだろう Rubyや一般的なエディタなどでは、 不明な文字は、? に置き換えられる
385 名前:デフォルトの名無しさん [2015/07/06(月) 17:43:18.44 ID:3teVeJk8.net] そうか不明な文字は例外で全部?にすればいいのか
386 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 21:45:11.64 ID:m90nGVji.net] try使うってこと?いやそれはまずいよ decode encodeの時点で変換できない文字に対する立ち振る舞いを設定するのがいい errorっていうオプションあるんでそこでignoreにしたら無視、つまりスルーする 置換したりもできる
387 名前:デフォルトの名無しさん mailto:sage [2015/07/06(月) 23:11:52.08 ID:REKKz9Ad.net] "もじれつU"の様な機種依存文字を含む文字列を %xxの形にエスケープされたものを、urllib.parse.unquoteしようとした時 Uが消えてしまうのですが、消えない様にする方法を教えてください。
388 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 02:45:51.12 ID:JbsGCfj6.net] UTF-8でないコードでパーセントエンコーディングされてると思われるので unquoteの第二引数で正しいencodingを指定する
389 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 07:39:17.88 ID:rV+pZ+JS.net] >>377 もじれつ の部分はeuc-jpでunquoteできているのですが U だけができない。 encoding変えると もじれつの部分さえunquoteできない。
390 名前:デフォルトの名無しさん [2015/07/07(火) 08:06:36.04 ID:eOuV1Gqp.net] フォント
391 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:09:35.56 ID:Ge7MDcMZ.net] 消えるってどう消えるんだよ \uFFFEで置換されるはずだろ
392 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:19:26.66 ID:Ge7MDcMZ.net] もし\uFFFEへの置換をさせたくないなら CodecInfoを定義してcodecs.registerで登録する あるいはエラー処理関数を定義してcodecs.register_errorで登録する
393 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:22:57.78 ID:Ge7MDcMZ.net] あとはbackslashreplace使えば 表示はできないけど情報は落ちない
394 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:30:53.40 ID:oR9xV2kd.net] pythonって主にどういう分野で使われているんですか? pythonじゃないと出来ない、或いは他の言語だと書きづらいなどの処理が有るんですか? 昔、私の知合いの超優秀な人がpython絶賛していたので関心有ります。
395 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 08:42:16.93 ID:JbsGCfj6.net] >>378 それはコードがEUC-JPじゃない euc_jis_2004かeuc_jisx0213を試してみて
396 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:08:41.41 ID:N/5cXPjN.net] 文法にそこまで気を使わなくていいので、 プログラマー以外にも人気。 自分は物理シミュレーションに使用してる。
397 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 09:55:01.60 ID:Ge7MDcMZ.net] 日本でPython使っている奴の98%は統計や言語処理、機械学習などの研究目的 ソースは俺調べ Web?誰も使ってないよ
398 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 10:02:38.04 ID:KY0I5Qgs.net] >>383 PerlやRubyの守備範囲に加えて科学技術やデータ分析ライブラリが充実してるので、 研究者に好んで使われるところが一番特徴的だと思う スクリプト言語なんで計算速度は遅いんだけどnumpyっていうライブラリを通せばCとほぼ等価 これが重要インフラになってて科学技術ライブラリが星の数ほど産まれてる また可読性高い文法なので理工系学生のファースト言語に選ばれることが多い C、JAVA、JavaScriptとは守備範囲が違いすぎて比較にならないけど、 RubyPerlPHPが出来ることは
399 名前:全部できた上でアカデミックな方向に突出して強いのがPython [] [ここ壊れてます]
400 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 10:05:32.86 ID:H29+ArEW.net] たのしいRuby 第4版、2013 みんなのPython 第3版 この2冊を、この順で読んで。 そうすれば、この2つの言語が、 ほぼ同じだと言うことがわかる
401 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 10:24:52.36 ID:oR9xV2kd.net] >>385 ,385,386,387 詳しい説明ありがとうございました。 私の知り合いも大学の数学の先生でした。確かに研究者好みなんですね。 最近Webプログラミング勉強中でJavaScriptをある程度習得できたので 次にRuby,Perl,PHP,Pythonのどれかをやってみようと思ったのですが、 Pythonにします。
402 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:18:30.59 ID:NbSxZEiE.net] >>381 replaceした場合でしょ?置換は ignoreしてるから ignoreやめると例外が発生する >>384 これ試してみます
403 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 12:38:03.08 ID:Ge7MDcMZ.net] デフォルトはreplaceだろうが ignoreしてるって一言でも断りがあったかボケナス
404 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 21:11:38.84 ID:NbSxZEiE.net] >>391 失敬
405 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 21:59:34.86 ID:N4S2iI2W.net] python3.xで日付を与えるとその日が月の何周目か返してくれるってのを探してるんだけど誰か知らない?
406 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 22:50:53.31 ID:i7XTlt4K.net] 月の何周目ってどういう意味 その月の何回目の何曜日っていう意味 それともカレンダー表示した時の何列目っていう意味
407 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 22:52:32.02 ID:oR9xV2kd.net] >>394 多分後者じゃあないか
408 名前:デフォルトの名無しさん mailto:sage [2015/07/07(火) 23:53:42.28 ID:NbSxZEiE.net] euc_jis_2004で解決しました。 ありがとう
409 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 02:56:45.44 ID:xAyjZhMy.net] 後者なら datetime型のweekdayで、与える日付の月の1日(ついたち)の曜日を取得 →(調べる日+1日の曜日シフト) / 7 でわかるんじゃないかな 1日の曜日シフトってのは、例えば左端が日曜日始まりのカレンダーなら 日曜日なら + 0 月曜日なら + 1 って感じ 割った答え+1で行がわかる あまりで列がわかる
410 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 05:21:29.45 ID:Y+kE74C9.net] import calendar
411 名前:デフォルトの名無しさん mailto:sage [2015/07/08(水) 15:14:08.50 ID:0vLepN94.net] wxPythonってもしかして3.x系使えない…?
412 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 00:09:04.93 ID:nypWSsiv.net] docs.python.jp/3/library/xml.html このページものすごく大切なことが書いてあると思うんだけど翻訳がおかしい
413 名前:デフォルトの名無しさん mailto:sage [2015/07/09(木) 18:45:02.70 ID:wjer6XlU.net] おかしいと感じるほどの英語力とPython力があるのなら 君が翻訳担当になってもいいのよ?
414 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 04:14:09.67 ID:a8irpPFK.net] >>399 だけど、 誰か3.x系で使えるおすすめのGUIのライブラリ?教えてください
415 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 05:25:43.26 ID:tfwLFx83.net] 言語的にアカデミックな方向に特化してるってことは、やっぱりこのスレにはポスドク難民とか高学歴ニートがけっこういたりすんのかね
416 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 09:37:54.98 ID:kVbIsLFs.net] Python3 数万行のテキストファイルをイテレータで、最終行から1行目方向に 読み出したいんですけど出来ませんか? メモリーは数十KBしか使えないので、readlinesで読みだして 逆順に変換するのはムリなのです。
417 名前:デフォルトの名無しさん [2015/07/10(金) 10:01:49.15 ID:cwv+HnzL.net] seek setpos
418 名前:デフォルトの名無しさん [2015/07/10(金) 10:10:10.14 ID:cwv+HnzL.net] ごめんsetposは忘れて qiita.com/t2y/items/ef66c871731bddd8ef1d
419 名前:デフォルトの名無しさん [2015/07/10(金) 10:54:04.29 ID:01rWRpTa.net] >>403 ネットワークエンジニアだけど使ってるよ
420 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 12:17:44.11 ID:0KQmg
] [ここ壊れてます]
421 名前:FVg.net mailto: >>404 メモリーが少ないなら、1行の長さ制限が必要 [] [ここ壊れてます]
422 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:27:20.43 ID:tfwLFx83.net] >>407 仕事で使うの?趣味?
423 名前:デフォルトの名無しさん [2015/07/10(金) 21:47:28.48 ID:ClCVGawJ.net] >>404 offsetを記録してfseek使ってって思ったけど、 単純には無理そう。 2万個の要素を持つlist, tupleで160kbのmemoryが必要だ。 >>> L = [None] * 20000 >>> L.__sizeof__() 160040 >>> tup2 = tuple([None] * 20000) >>> tup2.__sizeof__() 160024 C拡張を書いて頑張るしかないんじゃないの? >>> 4 * 20000 80000 素のPython3では無理。 が、>>404 への答え。
424 名前:デフォルトの名無しさん [2015/07/10(金) 21:56:08.47 ID:ClCVGawJ.net] >>404 素のPython3では無理だ。 Cで、offsetをmemberに持つ一方向listの構造体作る戦法でいこう。 readlineで読み込む毎にoffset記録していく。 しかないよ。 Cでmemory切り詰めても数十kbのmemoryではぎりぎりだもの。 数十を具体的に言うとどれくらい?10?40?70?
425 名前:デフォルトの名無しさん mailto:sage [2015/07/10(金) 21:58:40.63 ID:UloSnGtD.net] >>404 stackoverflow.com/questions/2301789/read-a-file-in-reverse-order-using-python 上から6番目のreadlines_reverseしか試してないけどしっかり動いてそう
426 名前:デフォルトの名無しさん [2015/07/10(金) 22:15:23.79 ID:ClCVGawJ.net] >>412 def filerev(somefile, buffer=0x20000): これか、最後まで一度飛んでおいて、 buffer分、後戻りして読み込んでsplitして、 またbuffer分、後戻りして、、、 の繰り返しでいけるんだ。 勉強になりました。 2chすげーな!
427 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 13:00:42.51 ID:Evu65U1k.net] >>402 PySideでいいんじゃね。pipでさくっとインストールできるし。 あとどうしても3系でwxPythonがいいならここからダウンロードできる。 wxpython.org/Phoenix/snapshot-builds/
428 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 21:56:05.14 ID:rYJP34gT.net] 会社のソラリス上のpython2.6でどうしてもほしい機能がある。助言をくれ。 ログ.logってテキストファイルの中身が下記のようだとして 0000000a 11111111 0000000b 22222222 0000000c 33333333 0000000a 11111111 ログ.log ファイルに対して0000000aを指定すると 11111111 11111111 という風にラベルの後のデータだけ抜き出したファイルを作成してくれるスクリプトなのだけど。 python勉強中だがこのスクリプトが急ぎでほしい 教えてくれ
429 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 22:06:49.82 ID:oXXQGP14.net] sedだけで出来そうな気がするwww
430 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 22:13:09.76 ID:rYJP34gT.net] >>416 sedって知らなかったありがとう。スクリプトできれば月曜日にほしいから今日明日で頑張って作る予定 今日は家のPCにubuntu入れたよ
431 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 22:20:06.39 ID:frozGINP.net] 0000000a 11111111 0000000a 0000000a 0000000c 0000000a 0000000a 11111111 っていうパターンがあった場合はどこを抜き出したらいいの
432 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 23:06:47.60 ID:6O+dLUsd.net] >>418 0000000a 11111111 0000000a 0000000a 0000000c 0000000a 0000000a 11111111 なら 11111111 0000000a 0000000c 0000000a 11111111 にする 超単純に、指定した4バイトのパターン(例では0000000a)を見つけたらその直後の4バイトを抽出したい。 建設的な指摘に感謝!
433 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 23:36:30.53 ID:oXXQGP14.net] ここまで書いたけど後がよくわかーんなーい、しくしく(;o;) import re with open('ログ.log') as f: l = [re.findall(r'0000000a (\S*)', item) for item in [line for line in f]] print(l)
434 名前:デフォルトの名無しさん mailto:sage [2015/07/11(土) 23:45:58.02 ID:oXXQGP14.net] >>419 あ、>>420 は開業後の000000cには対応できんな・・・
435 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 01:51:01.90 ID:V3tyjNbC.net] # -*- coding: utf-8 -*- f = open('ログ.log', 'r') L = [] #ここに出力したいのを入れていく F = f.read().split() #半角スペースと改行コードで区切ってリストに for i,d in enumerate(F): #enumerateは何回目のforloopかをiに記録する if d == "0000000a": #指定した文字列だったら L.append(F[i+1]) #リストの次の文字列が欲しいもの print(L) もしlogファイルが相当大きい場合はファイルを2行づつ読むとかやった方がいいかも 4バイトとか欠損データは考慮してない
436 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 07:26:47.55 ID:ixUGyiXY.net] 2行ずつ読むぐらいなら、前の文字列を覚えておく方が楽
437 名前:デフォルトの名無しさん mailto:sage [2015/07/12(日) 07:45:02.33 ID:EY9Ri2mE.net] >>420 >>422 ありがとう! テストしてみる!!
438 名前:デフォルトの名無しさん [2015/07/12(日) 07:58:29.04 ID:ixUGyiXY.net] ....は空白の代わり with open('ログ.log') as f: ....last = '' ....for line in f.readline(): ........for word in line.split(): ............if last == r'0000000a': ................print(word) ............last = word ファイルを全部メモリに読み込んで良いなら、 with open('ログ.log') as f: ....last = '' ....for word in f.read().split(): ........if last == r'0000000a': ............print(word) ........last = word
439 名前:デフォルトの名無しさん mailto:sage [2015/07/13(月) 23:26:07.79 ID:bcTxDEgF.net] 大変助かりました! ありがとう!!
440 名前:デフォルトの名無しさん mailto:sage [2015/07/14(火) 22:37:05.11 ID:apYZaEjz.net] rubyの[1..10]みたいなのってpythonにはありませんか? range(1, 11)ってやるのが一番短いですか?
441 名前:デフォルトの名無しさん [2015/07/14(火) 23:41:42.95 ID:Iv0YaWuW.net] んだんだ
442 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 05:03:39.16 ID:W+0V5wr0.net] なんで未満指定なんだろうね
443 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 08:03:14.49 ID:Es/kK6ei.net] スライスと同じ理由かね 本当のところはguidoに聞かないと分からないけど
444 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 08:24:23.35 ID:Es/kK6ei.net] ちなみにスライスの理由というのは >>> s = 'abcdef' >>> s = s[0:3] + s[3:len(s)] True となるようにしたかったという話
445 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 08:46:24.00 ID:Es/kK6ei.net] よく見ると等号が足りない
446 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 11:00:07.38 ID:EyOqG4HO.net] 単にC言語の感覚と同じにしたじゃんない? Pythonはあえて残してる部分がちらほら見受けられる int i; for (i = 5; i < 10; i++) { printf("%d\n", i); } for i in range(5, 10): print(i)
447 名前:デフォルトの名無しさん [2015/07/15(水) 11:20:15.06 ID:PEfcCBMc.net] >>430 rangeは関数だから気に入らなきゃどうとでも出来るから、スライスの方が重要だね。 a=range(4) a[4:0:-1] ってやると、不思議な感じになる。 正しくは、a[4::-1]とかa[::-1]
448 名前:デフォルトの名無しさん [2015/07/15(水) 14:51:31.70 ID:LSJGAlFE.net] pythonがどういう流れで動くのかを図で解説している記事ありませんか?
449 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 15:14:18.08 ID:Es/kK6ei.net] 流れってなんだ パソコンはなぜ動くのかレベルの話か?
450 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 15:14:50.48 ID:PDrqXUBW.net] プログラムはなぜ動くのかって本があったと思う
451 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 22:29:36.34 ID:n27Ug+NB.net] python で作った web アプリをスマートフォンのストレージに保存して、それを任意のブラウザから実行することは可能ですか? python で作ったスクリプトをスマートフォンで動かしたいのですが、QPython や SL4A は入れたくないので、上記の発想に至った次第です。 なお、私はそもそも Web アプリが何なのかもよくわかっていないので、トンチンカンな質問をしているかもしれません。ご容赦ください。
452 名前:デフォルトの名無しさん mailto:sage [2015/07/15(水) 22:57:36.67 ID:KI5mj/c8.net] 解説するのは面倒くさい 無理だと思え
453 名前:168 mailto:sage [2015/07/15(水) 22:59:26.83 ID:n27Ug+NB.net] >>439 ありがとうございます。 別の方法を考えます。
454 名前:デフォルトの名無しさん [2015/07/16(木) 00:05:47.22 ID:A7eEJIoC.net] >>438 ローカルストレージ使うんだったらHTML5とJavascriptでアプリ作るとか? Pythonは関係ないか
455 名前:デフォルトの名無しさん [2015/07/16(木) 04:33:03.68 ID:MREKRM2C.net] brython
456 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 07:10:05.39 ID:y2OuNFMd.net] スマホでPythonを動かしたいってどんな用途なんだ Pythonはテキストデータ加工専用言語だと思ってる俺には想像できん
457 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 07:22:22.31 ID:LIw9URyA.net] 馬鹿には無理
458 名前:デフォルトの名無しさん [2015/07/16(木) 07:48:07.99 ID:/b6luSAZ.net] >>438 入れたくないならあきらめましょう 入れたくない理由なんてどうせくだらねえ理由なんだろうけど
459 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 08:11:52.88 ID:6s3Asl9o.net] >>441-442 ご紹介ありがとうございます。 brython より python スクリプトが動くこと、確認できました。
460 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 16:22:40.86 ID:FwVCRsFY.net] むしろテキストデータ加工にしか使ってない人の方が少ないと思う 多分>>438 はDjangoあたりでアプリ作ってサーバーを立てずに ローカル(スマホ)だけで動かせないか?みたいなことを模索したんじゃない まあそういうのならブラウザで完結するJavascriptが得意中の得意なのでそっちの方がいいと思うけど
461 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 16:34:14.78 ID:JsJrinDm.net] awsにでも立てるとか プログラミングなんて1年以内に90%飽きるから ほとんどの人間は無料分だけで間に合うはず
462 名前:デフォルトの名無しさん [2015/07/16(木) 20:32:50.46 ID:A7eEJIoC.net] プログラミングだけを目的にすると確かに飽きる
463 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 20:59:08.62 ID:8UcfF16i.net] rubyのbundlerみたいにプロジェクトごとにパッケージを分けたいんですが venvやvirtualenvだと仮想環境を分けるのでpython本体をアップグレードした時に再度構築し直さないといけないのが面倒です
464 名前:デフォルトの名無しさん mailto:sage [2015/07/16(木) 21:01:28.55 ID:8UcfF16i.net] ググって便利なものをみつけました https://github.com/Deepwalker/pundler
465 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 02:12:54.65 ID:WgF9+eDU.net] Qpython入れている奴いるのか? あれ中華アプリじゃないか。
466 名前:デフォルトの名無しさん [2015/07/18(土) 07:12:47.04 ID:oDsD2wef.net] >>427-434 Rubyの範囲演算子は、「..」「...」の2つある 3..5 → 3,4,5 (5を含む) 3...5 → 3,4 (5未満) また負のインデックスは、末尾から数える 0..-1 → すべての要素を表す
467 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 07:31:19.49 ID:lzEf6NGn.net] >>453 それがどうした? それは>>427-434 の会話に何か有効な知見を加えるのか?
468 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 07:55:07.39 ID:OXmClLpi.net] 他の言語はこんなことができるんだぞ!と書かれてもここP
469 名前:ython スレだしなぁ うんうんそうだねとしか [] [ここ壊れてます]
470 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 08:00:34.26 ID:jN6NYLvO.net] そんな目くじらたてることかよ…
471 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 09:04:50.07 ID:OGP7IcNL.net] まあ、ここ3日ほどのkadongo38川上量生と shi3z清水亮ほど攻撃される理由があるとは思えない
472 名前:デフォルトの名無しさん [2015/07/18(土) 11:10:25.55 ID:/T3VXxy+.net] 川上さんまたなんかやらかしたん?
473 名前:デフォルトの名無しさん [2015/07/18(土) 12:01:42.45 ID:/T3VXxy+.net] 自己解決 これが原因か www.amazon.co.jp/dp/4004315514
474 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 12:29:40.59 ID:/T3VXxy+.net] これは貼れないのか togetter.com/li/847364
475 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 12:49:43.
] [ここ壊れてます]
476 名前:97 ID:o4iyQyYi.net mailto: "{:02d}".format(1) この2の部分を変数aに入れたいんですがエラーでダメでした "{:0" + a + "d}".format(1) TypeError: Can't convert 'int' object to str implicitly 変数で値を管理したいんですがどうかけばいいですか? [] [ここ壊れてます]
477 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 12:51:37.26 ID:aTAx2eLl.net] あとスレチみたいなので目玉付く前に引っ込みます anond.hatelabo.jp/20150716100058 togetter.com/li/847777 coresugo.com/kadowa-kawakami/ d.hatena.ne.jp/shi3z/20150718/1437173802 d.hatena.ne.jp/shi3z/20150717/1437087254 ほんとうにありがとうございました
478 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 12:54:13.58 ID:aTAx2eLl.net] >>461 "{:0" + str(a) + "d}".format(1)
479 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 12:55:24.44 ID:47zg+pIq.net] ("{:0" + str(a) + "d}").format(1)
480 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:11:33.78 ID:o4iyQyYi.net] >>463 >>464 カッコで囲むと望む結果になりました 何でカッコつけたらえらーにならないんでしょうか docs.python.jp/3/library/stdtypes.html#str.format みましたがこれについて載っていません
481 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 13:15:31.87 ID:15GkacxM.net] >>461 ,464 >>> a = 2 >>> '{:0{}d}'.format(1, a) 01
482 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 16:19:55.60 ID:KW5V467a.net] すいません、pipの環境をつくろうと思い get-pip.py を持ってきたのですが、インストールする方法が分かりません・・・ インストールと言う言葉が合っているのかすら不明ですが。。
483 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 16:51:55.45 ID:KW5V467a.net] pipはどうやら無事入ったようなのですが、以下のように出てしまい、つまづいています・・・ 具体的には、youtube-dlというのを走らせたいのですが Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. >>> sudo pip install youtube-dl SyntaxError: invalid syntax と、出てしまうのです。。
484 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:24:00.59 ID:iPFcwwwg.net] >>468 Python3か2.7.9以上ならpipはもとからはいってるはずだけど、ディストリビューションによったりするのかな あと、pipを実行するのはPythonインタープリタ上ではなくコマンドプロンプトとかターミナル (my_env) C:\Users\Kaji\my_env>pip install youtube-dl Downloading/unpacking youtube-dl Installing collected packages: youtube-dl Successfully installed youtube-dl Cleaning up...
485 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 17:31:28.07 ID:KW5V467a.net] >>469 すいません、IDLE ってコレ、エディタであって、実行うんぬんとは関係なかったんですね・・・
486 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 22:40:17.94 ID:q+K0D9Kt.net] >>468 pythonでやりたいことがyoutube-dlだけならWindows用の実行ファイルが 公式で用意されてるんで素直にそれ使った方がいいよ
487 名前:デフォルトの名無しさん mailto:sage [2015/07/18(土) 23:19:23.25 ID:KW5V467a.net] >>471 それを使ってたんですが、使いこなせるように勉強してみようかなぁと思ったんですが あまりにも難しくて・・・ 出直してきたほうが良さそうですねw とりあえず、YouTube動画を保存する目的は果たしているので、少しずつ勉強してみようかと思います
488 名前:デフォルトの名無しさん [2015/07/19(日) 17:43:17.23 ID:qsMi3+rD.net] >>463-465 >"{:0" + str(a) + "d}".format(1) ( )で囲まない場合、"d}".format(1) の部分が、 先に処理されてしまって、エラーになるのでは? >>472 「みんなのPython 第3版」を読めば?
489 名前:デフォルトの名無しさん mailto:sage [2015/07/19(日) 23:26:10.54 ID:Xne2bw2/.net] python のファイル読み込みで ある文字列が含まれる行から下に6行とって来て処理を施して別ファイルに保存したいです。 (grep -A6 *** >>outputのようなことをしつつ処理を施したい) うまい方法を教えてください。
490 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 01:00:04.87 ID:1kLeVcDt.net] >>474 ある文字列が二行連続で出てきた場合、どっから6行とるの
491 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 04:08:04.78 ID:saoe/X12.net] 例えばC言語のソース ---------------------- #include <stdio.h> int main(void) { int num, i; printf("2以上の整数を入力してください\n"); scanf("%d",&num); for (i = 2; i <= num; i++){ if(i == num){ printf("%dは素数です\n",num); } else if((num % i) == 0){ printf("%dは素数ではありません\n", num); break; } } return 0; } ------------------------ から作ったtest.exeに整数を入力して test.exe内で出力された文字列を全て取得するみたいなプログラム はどうやって書けばよいのでしょうか いまいちsubprocessを使いこなせません 環境はpython2.7,Windows7,VisualStudio2013です よろしくお願いいたします
492 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 08:44:00.43 ID:gMPbYmvA.net] python sample.py < test.exe [sample.py] # python3 print(input())
493 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 08:47:19.23 ID:gMPbYmvA.net] subprocessについてはドキュメントにサンプルコードがあるからみろ docs.python.jp/2/library/subprocess.html
494 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 22:52:39.12 ID:saoe/X12.net] >>478 ありがとうございます もうひとつ、.communicate()[0]の[0]ってどいう意味なんでしょうか
495 名前:デフォルトの名無しさん mailto:sage [2015/07/20(月) 22:56:44.04 ID:mx9ysNLA.net] communicateはstdoutとstderrのtupleを返すので [0]はstdoutを指す ただstdoutしか要らないならsubprocess.check_outputを使った方が手っ取り早い
496 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 00:14:40.34 ID:FJtQ/kTm.net] >>475 ありがとうございます。 取得先のファイルは一種のログファイルで、6行毎に記録される仕様になっています。 なので、もし連続するようなことがあればエラーを返して停止する仕様にします。 素直にgrep 使ってシェル使った方が楽なんでしょうが、シェルはシェルで複雑なことが苦手っぽいので
497 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 00:46:29.39 ID:8iq/aP4z.net] >>481 文字列を splitlines してループにかけるなり、finditer を使うなりいろいろあると思うけど、なにか試した?
498 名前:デフォルトの名無しさん [2015/07/22(水) 07:03:08.97 ID:UgzmRSIV.net] >>474 # 一致した(matched)フラグを初期化する matched = False count = 0 # File Open with open('ファイル名') as f: # ファイルの先頭から、1行ずつ読み込む for line in f: # lines にコピーする lines = line if matched: count += 1 if count <= 6: lines += line if count = 6: # linesをファイルに書き込む break # if matched: に対応する else: else: # その行に、検索パターンがあれば、 if line.indexof(pattern) > -1: # 一致した(matched)フラグを立てる matched = True
499 名前:482 mailto:sage [2015/07/22(水) 07:14:09.60 ID:UgzmRSIV.net] >>474 >483 を修正 # 一致した(matched)フラグを初期化する matched = False count = 0 lines = None # File Open with open('ファイル名') as f: # ファイルの先頭から、1行ずつ読み込む for line in f: if matched: count += 1 if count <= 6: lines += line if count = 6: # linesをファイルに書き込む break # if matched: に対応する else: else: # その行に、検索パターンがあれば、 if line.indexof(pattern) > -1: # lines にコピーする lines = line # 一致した(matched)フラグを立てる matched = True
500 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 11:01:08.40 ID:Iz7cB0cB.net] お前ら暇だね
501 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 12:54:57.53 ID:4zVzLLkn.net] 暇ってのは尊い贅沢だぞ 下々は生きるのに忙しいからな
502 名前:482 mailto:sage [2015/07/22(水) 14:10:39.80 ID:UgzmRSIV.net] >>483-484 修正します。 ただし、漏れも、Pythonは初心者で、 ソースコードを実行したわけではないので、あしからず
503 名前: >if count = 6: if count == 6: [] [ここ壊れてます]
504 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 17:00:44.90 ID:Hp3Ht5RA.net] >>474 入力に間違いがない前提 import sys def getlog(pattern, inp=sys.stdin, out=sys.stdout): buf = [] for line in inp: if pattern in line or len(buf) > 0: buf.append(line) if len(buf) >= 6: break out.writelines(buf) with open('input.txt') as i, open('outout.txt', 'w') as o: getlog('pattern', i, o)
505 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 17:01:50.60 ID:W3xYZwPB.net] 丸投げくんのことはスルーすけど >>484 改行削除しなくていいのか
506 名前:487 mailto:sage [2015/07/22(水) 17:02:03.67 ID:Hp3Ht5RA.net] 失礼、コピペに失敗した
507 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 18:56:16.91 ID:NL3fu3kF.net] みんな2chでインデント表現する時って全角スペース?
508 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 20:12:25.74 ID:GPDjs6+w.net] んなわけねえだろ ちっとはあたまつかえ
509 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 20:14:38.92 ID:wGm6aIa7.net] 俺はideoneに貼る
510 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 20:41:58.90 ID:E01nq8P+.net] >>492 頭使えも何も、半角スペースは一文字にまとめられちまうんだから 見た目に空白を維持するなら全角スペースを使うしかない
511 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 21:01:22.54 ID:Hp3Ht5RA.net] インデントは &160;
512 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 21:03:13.62 ID:Hp3Ht5RA.net] またミスした  
513 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 22:29:19.11 ID:TVwdgeFO.net] <てすと
514 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 22:29:52.69 ID:TVwdgeFO.net] &rm;
515 名前:デフォルトの名無しさん mailto:sage [2015/07/22(水) 23:09:04.94 ID:GPDjs6+w.net] 馬鹿には無理
516 名前:デフォルトの名無しさん [2015/07/23(木) 12:29:56.79 ID:aHQAOynK.net] pythonのとあるプログラムで独自の画像オブジェクトがあり。 これをオブジェクトの入子に複数格納することはできないでしょうか
517 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 12:43:30.19 ID:ab3XmIzW.net] [obj1, obj2, obj3] [[obj1, obj2], [[obj3], [obj4, obj5]]]
518 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 12:50:28.05 ID:aHQAOynK.net] >>501 できましたありがとうございます。
519 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 12:59:11.20 ID:ab3XmIzW.net] いいのかよ 独自の画像オブジェクトって情報は何か意味があるのかと思ってた
520 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 13:04:03.50 ID:aHQAOynK.net] >>503 はい、ちゃんとその後の処理でも画像オブジェクトとして機能しましたので 問題ないようです。
521 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 13:54:21.82 ID:JtElrAyf.net] くらくらするな
522 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 14:47:38.00 ID:P0N6qRSq.net] オブジェクトの入れ子って3重くらいまでなら常識の範囲内か?
523 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:02:31.50 ID:IBTyWZjg.net] >501 のことなら 入れ子になってるのはリスト構造だけで オブジェクトの階層は一つしかないぞ
524 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:15:00.12 ID:WUAvzM35.net] 意図的にツリーにしてるなら何段でもいいんじゃないの build.xmlとかpom.xmlは見ると頭痛がするが
525 名前:デフォルトの名無しさん mailto:sage [2015/07/23(木) 15:58:49.63 ID:IBTyWZjg.net] クラクラクラクラ
526 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 19:44:48.05 ID:Sy3v921p.net] class A(): _def __init__(self): __print('a' in self) A() self.aが存在するか調べたいんですが TypeError: argument of type 'A' is not iterable ってエラーになります どうやって調べるのか教えてください
527 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 19:46:37.27 ID:3P6rWc8H.net] hasattr使え
528 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 19:49:10.95 ID:h3JVcYsp.net] class A(): _def __init__(self): __print(getattr(self, 'a', None))
529 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 19:53:13.65 ID:Z3gsNXcC.net] self.a
530 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 20:12:48.64 ID:h3JVcYsp.net] 例外出ないのか
531 名前:デフォルトの名無しさん mailto:sage [2015/07/24(金) 22:27:25.98 ID:Z3gsNXcC.net] 出たらいかんのか?
532 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 03:07:51.49 ID:lUWpyqrt.net] たまに使うことがあるんですが、 a = list(range(1000)) len(str(len(a))) ← こうやってるんですが、 桁数をとるのにいい方法ってあります
533 名前:か。 [] [ここ壊れてます]
534 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 05:03:08.65 ID:FlzLI2sd.net] log10()
535 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 11:07:42.80 ID:/x7wsywu.net] こことお勉強スレ何でスレ分かれてるのかおしえて
536 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 11:47:14.12 ID:N2oZlVgp.net] くだすれとは… 多少揺らぎはあるが「くだらない質問はここで聞けスレ」の略 同じ言語で2つ質問スレが立っている場合、 片方は高確率でくだすれを源流としている(ふらっとC#とか) くだすれが立つとき、本スレは当然くだらない質問で荒れている 荒れているが、その荒れも永遠に続くものではないので 今のように分かれている意味が分からない時期もある
537 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 13:36:52.96 ID:wxu4sip9.net] モジュールのリロードについての質問なのですが from mymodule import MyClass このようにモジュールからあるクラスのみをインポートした場合、 ソースコードを変更した後に再度このクラスのみをインポートするにはどうすればいいですか? 下記の幾つかの方法を試しましたが、いずれも望む結果が得られませんでした。 >>> imp.reload(MyClass) TypeError: reload() argument must be module >>> imp.reload(mymodule) NameError: name 'mymodule' is not defined >>> from mymodule imp.reload(MyClass) SyntaxError: invalid syntax >>> imp.reload(mymodule.MyClass) NameError: name 'mymodule' is not defined >>> import mymodule >>> from mymodule import MyClass >>> (スクリプトを実行) (→実行結果はソースの変更が反映されていない)
538 名前:デフォルトの名無しさん [2015/07/26(日) 14:01:49.41 ID:FlzLI2sd.net] reload(mymodule)
539 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 15:31:07.59 ID:wxu4sip9.net] >>521 >>> import mymodule >>> tmp.reload(mymodule) >>> from mymodule import MyClass ですね。ありがとうございました。
540 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 17:38:46.20 ID:sjjuAaNb.net] こんにちわ、Pythonの超初心者です… PYCファイルからPYファイルへのデコード(逆コンパイル)の方法をおしえてください いくつかsetup.pyをダウンロードしてはcmdでやってみたんですがどうしても逆コンパイルでつまづいでしまいます… お願いします助けてください
541 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 17:56:10.36 ID:N2oZlVgp.net] 超初心者がやるようなことじゃねえと思うがな… デコンパイルしないと命を失うくらいに、どうしてもそれが必要か?
542 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 17:58:50.05 ID:sjjuAaNb.net] >>524 どおおおおおしても必要です 一度やり始めたからにはきちんとできたほうがいいですし… お願いします! 助けてください!
543 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 18:14:02.03 ID:N2oZlVgp.net] uncomyle2は普通に動いたよ pastebin.com/BM4FZGxa 3はためしてないけど、まあ動くんじゃないか
544 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 18:15:38.65 ID:sjjuAaNb.net] >>526 すいません やり方軽くでいいんでおしえてください・・・
545 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 18:30:37.89 ID:N2oZlVgp.net] コンソールのログなんだからやり方も糞もねえだろ
546 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 18:39:58.48 ID:sjjuAaNb.net] >>528 すいませんぼくwindowsのcmdでやってるもんでLinuxと違ってよくわからなかったです… 今uncompyle2のソースをすべてダウンロードしてcmdで python setup.py bdist_rpm python setup.py install python setup.py install --home=<dir> という順序で進めていますが 1番目のbdist_rpmで error: don't know how to create RPM distributions on platform nt がでてしまいます… C直下にフォルダを作成してやってるのになんでしょうかね… おしえてください!
547 名前:デフォルトの名無しさん [2015/07/26(日) 18:55:11.11 ID:FlzLI2sd.net] マルチしてるので回答中止な
548 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 19:15:08.45 ID:C5DOIUuU.net] 初心者じゃなくてもそんなことをする機会ってないんじゃないかな あとWindows使ってるからLinux分かりませんって言い訳にもならない せっかくサードパーティ製ライブラリを教えてもらったんだからVirtualBoxにLinux入れて試せばいいんじゃないでしょうか
549 名前:デフォルトの名無しさん [2015/07/26(日) 19:47:03.10 ID:FlzLI2sd.net] >>531 >あとWindows使ってるからLinux分かりませんって言い訳にもならない おいおい そのりくつはおかしい >Linuxと違ってよくわからなかったです っつってんだから528の主張はLinuxならよくわかるってことだ あんたが528本人なら話は別
550 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 19:50:48.41 ID:N2oZlVgp.net] 僕もドザーには厳しく当たることにしてるのでこれ以上は嫌ずら ドザーは死ね クソマカーも死ね
551 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 21:28:05.08 ID:52hX4QEC.net] >>532 が言ってることがよく分からなかった とりあえずマルチ4ネって事で終了
552 名前:デフォルトの名無しさん mailto:sage [2015/07/26(日) 21:36:07.12 ID:2fAT+AOZ.net] 530は別に変なこと言ってないよ。 Linux環境がないからVirtualBoxにLinux入れて試せってことでしょ。 質問者がLinux分かるって言うのは文章からは読み取れない。
553 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 01:45:16.54 ID:7QPACxki.net] 質問者が命を失うぐらいに必要なんだから、もうちょっと待てば、もう質問してこれないはずだよ。
554 名前:デフォルトの名無しさん [2015/07/27(月) 02:09:36.43 ID:/8w8BvTq.net] 夏だね
555 名前:デフォルトの名無しさん [2015/07/27(月) 02:57:18.10 ID:Yd8xNCrh.net] Windowsで使えないという事は、それだけで弱点と言えます。 NginxをWindowsで運用することはありませんが、それでもWindowsで動きます。 Windowsで動かないという事は、使うなという事を意味します。 NginxがWindowsで動かなかったら、それは使うなという意味ですから、 ここまで広がることは無かったでしょう。 PHPは糞言語と言われつつ、何故ここまで広がったのでしょう。 それはWindowsで動くからです。 Windowsに対応した途端、一気に広まったのです。
556 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 07:55:28.55 ID:rIdflrhB.net] まだ生きていましたか 仕方がありません 私がとどめを刺してあげましょう
557 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 08:27:41.20 ID:IMvB71j8.net] >>538 試したけどwindowsでもuncompyle2動くじゃん ここから導かれる結論は ・あなたのPCにインストールされたWindowsが一般的なものと比較して糞 ・あなたのPCは幻覚でPCに見えており、本当はみかん箱か何か どちらだろう
558 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 08:37:38.50 ID:q4XoOyft.net] キチガイ荒らしが棲みついてるみたいなので もれはもぐるわ しばらく激高した荒らし続くかも知れんが いなくなるまでしつこい荒らしは当分無視しろよ スレ過疎っても荒らしのせいだけど おまいらごめんな
559 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 08:46:15.97 ID:rCgM2BeH.net] 涼しくなった頃にまたおいで。
560 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 15:12:40.83 ID:JJPg7kwZ.net] class A: __def v(self): ____print(1) class B: __def v(self): ____print(2) class C(A,B): __pass obj = C() AとBを継承したCクラスでAとBそれぞれのvメソッドを使いたいんですが obj.v()するとクラスAのvメソッドが呼ばれます クラスBのvメソッドはどうやって呼び出せますか?
561 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 15:46:37.89 ID:pS+RQVuM.net] class A: __def v(self): ____print(1) class B: __def v(self): ____print(2) class C(A,B): __def v(self): ____A.v(self) ____for i in range(10000000): ________B.v(self)
562 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 15:54:36.38 ID:JJPg7kwZ.net] >>544 pythonって親クラスに直接アクセスできるんですね super使う方法を見つけてこれでもいけました super(A, self).v() # 2
563 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 20:09:54.88 ID:gGLbTc2k.net] クラスを継承しない場合はobjectを継承しろって言われたことがあるんですが これって2.7までの話ですよね?
564 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 20:59:12.30 ID:DdDzdSYJ.net] >>545 むしろAとBが無関係でも動くんだよなぁ、これ class A: def me
565 名前:s(self): print('class A method') class B: def mes(self): A.mes(self) b = B() b.mes() [] [ここ壊れてます]
566 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 21:30:52.71 ID:C09rWlqr.net] あ、ほんとだなんで???????????????????? class A: def a(self): print(1) class B: def b(self): print(2) A.a(object) B.b(object)
567 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 21:35:54.72 ID:WvAcX5y2.net] >>546 全然違う 新スタイルクラスを使うならobjectを継承しろ、だ しかもPython3に旧スタイルクラスは存在しない 旧スタイルクラスを使わないと殺される場合でもなければ新笥スタイルクラスを使え
568 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 23:40:42.98 ID:ZHHP3cwX.net] Pythonで作成されたアプリケーション(JETCreator)を使用しようとすると、 TypeError:cannot deepcopy this pattern object というエラーが出て動作しません。 自分が作ったものでなく、AndroidSDK等にも初めから用意されている者なのでプログラムのエラー ということはないと思います。(現verのSDKには入ってなく、古いverの方からjetフォルダを戴きました。)
569 名前:デフォルトの名無しさん mailto:sage [2015/07/27(月) 23:53:54.90 ID:ZHHP3cwX.net] >>550 詳細 Tracevack(most recent call last); File"I:\kaken\sdk\tools\jet\JetCreator.py",line 410, in OnsegmentAdd saveState = JetState(self,jet_file,self,currentSegmentIndex,self,currentEventIndex) File"I:\kaken\sdk\tools\jet\JetUtils.py",line 95,in_init_ self.jet_file = copy.deepcopy(jet_file) File"I:\Python27\lib\copy.py",line 190,in deepcopy y = reconstruct(x,rv,1,memo) File"I:\Python27\lib\copy.py"line 334, in_reconstruct state = deepcopy(state,memo) File"I:\Python27\lib\copy.py"line 163, deepcopy y = copier(x,memo) File"I:\Python27\lib\copy.py"line 257, in_deepcopy_dict y[deepcopy(key,memo)]= deepcopy(value,memo) File"I:\Python27\lib\copy.py"line 163, in_deepcopy y = copier(x,memo) File"I:\Python27\lib\copy.py"line 298, in_deepcopy_inst state = deepcopy(state,memo) File"I:\Python27\lib\copy.py"line 163, in deepcopy y = copier(x,memo) File"I:\Python27\lib\copy.py"line 257, in_deepcopy_decit y[deepcopy(key,memo)]= deepcopy(value,memo) File"I:\Python27\lib\copy.py"line 174, in deepcopy y = copier(memo) TypeError: cannot deepcopy this pattern object です。
570 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 00:14:18.22 ID:AL/+2NkH.net] >>550 >>551 すみません自己解決しました。荒らしてしまって申し訳ありませんでした。
571 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 08:56:29.07 ID:m3UChEdn.net] 自己解決したならそれを書けよ
572 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 09:19:38.25 ID:dueMFxCg.net] 例えゴミでもゴミから堆肥に昇格する権利くらいはあったのに
573 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 16:56:02.34 ID:eB7VWbpU.net] ./codes/mycode.py ./test/test_code.py こんな感じで ./test/がカレントディレクトリとします test_code.pyから../codes/mycode.pyをimportする場合 import os import sys sys.path.append(os.path.join('../', 'codes')) import mycode こんなふうに書きましたがこれだとPEP E402に違反します どうやって書き直したらよいですか?
574 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 17:55:48.59 ID:dueMFxCg.net] わざわざ変な構成にしてるんだから PEPの文句なんて無視すればいいじゃん おすすめ構成は以下 /project/bin/entrypoint.py /project/mypackage/__init__.py /project/mypackage/mycode.py /project/test/test_mycode.py /setup.pyなど
575 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 18:04:34.02 ID:dueMFxCg.net] 間違えた /bin/entrypoint.py /mypackage/__init__.py /mypackage/mycode.py /test/test_mycode.py /setup.pyなど
576 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 18:22:10.22 ID:eB7VWbpU.net] ええええ、/直下に作るんですか?それってありなんですか?
577 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 18:23:14.73 ID:dueMFxCg.net] プロジェクトルートの意味だと思って貰えれば
578 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 20:52:02.58 ID:eB7VWbpU.net] ルートのはそういうことか、なるほどわかりました。 でもおすすめしてもらった構成だとぼくの変わらないと思うんですよね あとPEPで決められたルールもあるので正攻法がある気がするんですよ
579 名前:デフォルトの名無しさん [2015/07/28(火) 21:05:11.62 ID:9GgK2udL.net] >>560 Python3 であり正攻法か知らないけれど、 以下の方法はどうでしょう? import os abspath = os.path.abspath(__file__) dirpath = os.path.dirname(abspath) here = dirpath parent = os.path.join(here, "..") libpath = os.path.join(parent, "lib") print("abspath =", abspath) print("dirpath =", dirpath) print("parent =", parent) print("libpath =", libpath)
580 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 21:14:05.11 ID:ZRk8WaCe.net] いやPYTHONPATHにパッケージルートを入れるだけだろ sys.pathが出てくる理由が全く分からない
581 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 21:24:01.05 ID:9GgK2udL.net] >>562 PYTHONPATH って環境変数でしょう? 環境変数をいじるのは嬉しくないと思う。 それよりは、sys.path.append()使って、 環境変数に触らずにtest_code.pyを実行したい。 というのが>>555 の考えなんじゃないの?
582 名前:デフォルトの名無しさん mailto:sage [2015/07/28(火) 22:12:14.70 ID:c7bvE2d8.net] setupのtest_suiteでテストパッケージを指定して setup.pyからテストを実行すればいいんじゃない?
583 名前:デフォルトの名無しさん [2015/07/28(火) 22:14:04.86 ID:dzOUJwwo.net] 普通にインストールしてからテストすればいいんじゃないの
584 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 05:39:43.45 ID:qvSRsKX3.net] test$ ln -s ../codes codes
585 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 18:48:23.87 ID:C31cMPRb.net] def test(): ・・ continue while True: test() このような感じで、関数内からwhile Trueに対してcontinueする事はできますか?
586 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 19:54:32.01 ID:4360Pw2a.net] ??? 再帰ってこと? 多分、したい事の解決方法が間違ってる。 したい事は、なぁに?
587 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 20:04:23.92 ID:C31cMPRb.net] イカのような処理で例えばtest1()内のチェックでひっかかった場合、 test2()に移行せずwhile True:のはじめからやり直したいんです while True: __test() __test1() __test2() __test3() SyntaxError: 'continue' not properly in ~~~ となります
588 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 20:05:23.12 ID:RH5K4X2w.net] こんなんやろ? class Continue(Exception): def __init__(self, *values): self.values = values def test(i): if i % 2: raise Continue(i) return i * 2 def main(): for i in range(10): try: v = test(i) print('{} => {}'.format(i, v)) except Continue as c: print('continue: {}'.format(c.values))
589 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 20:12:57.40 ID:3xGNJCY0.net] >>569 成功したらTrueなりFalseを返して判定 import time def a(): print(1) return False def b(): print(2) return True def c(): print(3) def d(): print(4) while True: time.sleep(1) if a(): continue if b(): continue if c(): continue if d(): continue
590 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 20:18:01.61 ID:C31cMPRb.net] >>571 やりたいことこれです、ありがとうございます。
591 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 20:23:40.48 ID:c3o2n8R7.net] pythonってちょっと齧った程度なんですが、c++,JSの経験しかない私には文法が独特な感じがしました。 関数には{}使わないんですよね。
592 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 22:10:41.56 ID:cW7qEMuX.net] {}使わなくていいのがいいところ
593 名前:デフォルトの名無しさん mailto:sage [2015/07/29(水) 22:16:03.57 ID:4YomwHKV.net] インデントで構造を表現してる この構文は賛否あると思うけど、将来{}が導入される機会は無いとわざわざ実装で表明している
594 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 15:26:59.50 ID:qxlVlu0T.net] 後数ヶ月で3.5がリリースされるのに3.4の機能すらよくわかってない PHPでいうdocs.php.net/manual/ja/doc.changelog.php みたいな変更履歴ってどこで見れますか?
595 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 16:04:02.56 ID:Z0rCKaW0.net] 日本語はないよ
596 名前:デフォルトの名無しさん mailto:sage [2015/07/30(木) 19:31:47.32 ID:cCFC5U/T.net] docs.python.jp/3/whatsnew/ から各バージョンへのリンクがあるよ
597 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 00:49:42.33 ID:u6UInjxJ.net] Pythonのインデントは百害あって一利なし
598 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 07:55:33.34 ID:zxXRNzjs.net] と思う吉宗であった
599 名前:デフォルトの名無しさん [2015/07/31(金) 08:33:05.30 ID:709JoO30.net] 暴れん坊Python
600 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 22:48:07.91 ID:wbH0A+JA.net] 外部プログラムを監視させたいのだけれど、皆目わかりません。 ヒントだけでも教えていただけませんか?
601 名前:デフォルトの名無しさん mailto:sage [2015/07/31(金) 23:20:03.61 ID:hKMcxT/u.net] もう少し具体的に監視って何だ
602 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 00:28:01.71 ID:ghun761E.net] whileループで一定時間経過後にループを抜けるようにしたいんですが なにかいい書き方はありますか?
603 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 00:29:18.18 ID:VbjGDeVR.net] >>584 何でwhile何だよ?
604 名前:デフォルトの名無しさん [2015/08/01(土) 00:34:41.58 ID:ghun761E.net] >>585 あ、確かに forでsleepかませばいいだけですかね? なんか変にこだわってましたすみません
605 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 02:03:25.71 ID:VbjGDeVR.net] >>586 男にはこだわりも必要さ。頑張れ。
606 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 06:31:27.99 ID:ed2n0PXB.net] >>583 証券会社のツールから株価を取得したい。 例えばハイパーSBIで銘柄のコードを入力すると株価が出力されるのだけれど、それをpythonでやる方法がわかりません。
607 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 07:21:30.49 ID:Ere4YETC.net] spyderでプログラムを起動させると 起動中はコンソールの右上に橙の三角マーク(マウスを当てるとkills the current system〜と出る)が普段は出ているのですが たまにエラーも吐かずにプログラムが途中で停止し、そのマークも緑の再生ボタン(run again〜)になってしまいます まったく同じプログラムを何度か起動しても、止まる場所はその時々でまちまちで、原因がさっぱりわかりません これはいったい何が起こっているのでしょうか?
608 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 10:19:03.40 ID:QcdegDsY.net] 辞書とかリストとかに要素を追加し続けると動作が重くなるんだけど、これってどうしようもありませんか? 要素数は最大で3万件弱、内容は文字列(40~60byte)をファイルから読み込んで追加していくと 読み込んでいく速度が急激に落ちてすごく時間がかかるんです。
609 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 10:22:40.87 ID:kwRHUfwj.net] 読む速度が遅くなるのか 追加する速度が遅くなるのか 判然としない
610 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 10:47:46.62 ID:QcdegDsY.net] ファイルは700位あって、順次読み込んで文字列を取り出して追加するのですが 挙動を見ている限り追加する速度が遅くなっているみたいに感じます 最初はリストに追加していたのですが遅いので、辞書にしてみたら更に遅くなりました
611 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:00:01.80 ID:HfST5fY7.net] >>588 HyperSBIは外部プログラムとデータのやりとりをする機能を公開していない よってPythonに限らずどんな言語でも無理
612 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:00:15.78 ID:VbjGDeVR.net] >>592 python以外のc++などで試してみればどうなん? [] [ここ壊れてます]
614 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:18:26.97 ID:PBQUMraI.net] >>592 now = time.time() #ここで追加or読み込みなど計測したい処理 print( time.time() - now ) これでどの処理にどれだけ時間かかってるかが出力されるので原因が特定しやすいよ オレの環境では辞書に100byte*10万件追加しても0.05秒(1件あたりじゃなくて全件で) pythonの辞書の問題じゃなくて多分ファイルを読み込むところが原因な気がするなあ 読み込んだ後にファイルを閉じず(close)にメモリが足らなくなってスラッシングおこしてるとか ちなみにリストは巨大化すればするほど
615 名前:後ろの方のデータを読み込むのにどんどん時間かかるけど、 辞書は一定の速度で読み書きできるはず [] [ここ壊れてます]
616 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:41:59.68 ID:AVRmVHoz.net] >>588 スクレイピングでググってください 丸投げではなく自分で1から勉強してください 難しいスキルは不要なので基礎からやりましょう
617 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:43:55.24 ID:AVRmVHoz.net] >>590 必要であればyieldを使うなりデータを分割して処理するなりしましょう データをファイルに書き出して分割して読み込んでいく方法もあります
618 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:47:08.78 ID:AVRmVHoz.net] >>581 python process 監視でググってヒットした1ページ目を片っ端から読みましょう
619 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 11:47:26.67 ID:PBQUMraI.net] >>596 おそらくC系で書かれたアプリのデータをpythonで取得するのはスクレイピングとは何の関係も無い 難しいスキルが不要どころか極めて敷居高いですよ 少なくともオレにはできない
620 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 13:23:00.56 ID:GepW3eXw.net] >>590 データ用途にもよると思うけど、素直にDB使えばいいんじゃね sqlite使ってまずオンメモリDBを試してみて、ダメならファイルベースにすればいい
621 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 13:30:55.26 ID:ldei0zHr.net] 証券会社のツールってWeb上のことでしょ データなんてクライアントツールで提供してるとこなんてないよ
622 名前:デフォルトの名無しさん [2015/08/01(土) 16:42:52.95 ID:waGA91Tw.net] webで一般公開されてるデータなんて 20分以上遅れてるから使い物にならない
623 名前:デフォルトの名無しさん [2015/08/01(土) 16:43:35.87 ID:waGA91Tw.net] >>595 >pythonの辞書の問題じゃなくて多分ファイルを読み込むところが原因な気がするなあ >読み込んだ後にファイルを閉じず(close)にメモリが足らなくなってスラッシングおこしてるとか +1
624 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 17:28:13.97 ID:zsKVeSSI.net] ID:waGA91Twは質問者なの?具体的に説明しないとスルー対象だよ
625 名前:587 mailto:sage [2015/08/01(土) 17:43:35.94 ID:omn1LlLs.net] >>601-602 ウェブ上で公開されているデータを取得するとしたら area.autodesk.jp/column/tutorial/maya_atoz/headup_display_stock_chart/ が参考になりそうですが、銘柄の範囲と速度を考えると厳しそうです。 ちなみに今はヤフーファイナンス等でリアルタイム株価が取得できます。 あくまで目指すものですが、多くの銘柄の株価を1秒ごとに取得し、スクリーニングをかけたいと考えています。 例えば現在の株価を基準に2、4、6秒後と上がり続けている(=急騰している)→自動で発注させたい。 なんにせよプログラム自体ずぶの素人ですので、ひとまずいろいろ試してみようと思います。 >>593 株価が表示されるということはデータを受信していると認識していました。 >>596 勉強します。
626 名前:デフォルトの名無しさん [2015/08/01(土) 18:51:49.22 ID:HjoVMyMH.net] まるで夏休みの課題みたいだな
627 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 18:52:27.13 ID:PBQUMraI.net] >>605 もちろんソフトがデータ自体を受信してるんだろうけどそれを取り出すのは厳しいよ CだかC+で書かれてコンパイルされたソフトの仕様を完全に解析しないといけない これはpythonとは全く無関係の話なのでここで質問しても誰も答えられない なのでもし既に解析した強者がいて情報を公開してれば真似するしか無いかなあ webで1秒ごとにちゃんとリアルタイム株価が表示されてるのがあれば簡単(でもそんなの無いよね?) 毎秒そのURLにアクセス(requests)してHTMLをパース(lxml or BeatifulSOAP)して株価を取得できる 括弧内はその時に使える便利なpythonライブラリの名前ね 株式投資のことは無知なので的外れな回答だったらごめん
628 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 21:56:07.62 ID:FWfS2
] [ここ壊れてます]
629 名前:vhb.net mailto: import sys sys.stdout.write("\r1") sys.stdout.write("\r2") これで1行を書き換えられますが、複数行を書き換える場合はどう書けばいいですか? 1 2 と2行を出力した後に 3 4 と複数行書き換える場合はどう書いたらいいですか? [] [ここ壊れてます]
630 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:46:53.52 ID:Ere4YETC.net] >>589 これをコマンドプロンプトから試してみたのですが python.exeは動作を停止しましたってウィンドウが別に開きます こう言う時って何が問題な事が多いのでしょう?メモリ?
631 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:56:02.17 ID:BLDCtSuf.net] すみません、sqlite3である特定のkeyで検索するときに、複数カラムで検索するにいはどうしたらいいでしょうか? column01〜20までありまして。 'select * from table_name where column01, column02, column03 = "%s"' % keyword また、selectの結果をカウントする方法はありますか? こちらも調べたのですがわからず。。
632 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 22:57:53.44 ID:kwRHUfwj.net] sql入門でも読めよ WHERE句でOR使うだけだろ
633 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:01:35.36 ID:kwRHUfwj.net] >>609 Windowsのそのメッセージは99%アクセス違反 どうせNULLハンドルチェック漏れだろうけど
634 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:08:14.18 ID:BLDCtSuf.net] >>611 ありがとうございます。 そのままかくと冗長化するんですが良い方法ないですか?
635 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:30:08.52 ID:Ejo7uJz3.net] >>613 良い方法を見つけて書くのが腕の見せ所でしょ? select count(*) 〜〜;
636 名前:デフォルトの名無しさん mailto:sage [2015/08/01(土) 23:34:37.56 ID:kwRHUfwj.net] 愚かなスキーマでRDB使おうとしているんだから 愚かなコードを書かなければならなくなるのは全く不思議ではない
637 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 00:25:45.12 ID:vRy1WZiH.net] >>588 そういう情報は、Amazon・FaceBook・楽天などのように、 APIとして公開している会社で、この言語を使って、 こういう具合に作るなど、丁寧に作り方を教えている場合のみ、 ユーザーでもプログラムを作ることができる。 例えば、Googleの地図APIなど APIを公開していない場合、自分でそのデータ形式を分析して、 プログラムを作るのは、まず無理 >>589 ソースコードのあちこちに、print文を書いて、 どこでエラーが起きているのかを、突き止める それか、PyCharm を使って、デバッグするとか >>592 700のファイルを開いて、データを読み込んで、 すぐにそのファイルを閉じているかどうかを、 ソースコードを読んで確かめる ファイルを開き放しにしていれば、ヤバイ
638 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 03:54:28.60 ID:dTRZmQiN.net] >>615 時代はKVSだよな
639 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 03:57:09.44 ID:uoA7o0bf.net] 新時代へ突入したらこうなる。 愚かなスキーマでKVS使おうとしているんだから 愚かなコードを書かなければならなくなるのは全く不思議ではない
640 名前:デフォルトの名無しさん [2015/08/02(日) 11:15:57.62 ID:yYb0hZFV.net] 学校の宿題なんですけど 整数N(0〜100)のプラスマイナス3%の範囲をランダムで出力する方法を教えてください
641 名前:デフォルトの名無しさん [2015/08/02(日) 11:17:54.35 ID:yYb0hZFV.net] あ、あと出力される値はKで(0≦K≦(N*1.03))です
642 名前:デフォルトの名無しさん [2015/08/02(日) 11:45:58.27 ID:UCQE5+8k.net] >>700 違う!それは違うぞ!!!
643 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 12:49:18.15 ID:+O2Hc9iF.net] 700まで5日くらいかかるか
644 名前:デフォルトの名無しさん [2015/08/02(日) 12:54:45.24 ID:dTRZmQiN.net] 整数 N=0 のプラスマイナス3%の範囲って 0 ≦ 0 ≦ 0 で合ってますか?
645 名前:デフォルトの名無しさん mailto:sage [2015/08/02(日) 12:56:11.84 ID:+O2Hc9iF.net] >>618 スキーマレスって「運用でカバー」並だよね それが許されるのは緊急時だけにして欲しい
646 名前:デフォルトの名無しさん [2015/08/02(日) 14:43:31.31 ID:ULysM4NQ.net] >>623 そのとおりであってます
647 名前:デフォルトの名無しさん mailto:
[] [ここ壊れてます]
648 名前: mailto:2015/08/02(日) 16:31:48.62 ID:dTRZmQiN.net [ from random import shuffle L = range(101) shuffle(L) print '\n'.join('%.2f <= %d <= %.2f' % (n*.97, n, n*1.03) for n in L) ] [ここ壊れてます]
649 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 00:19:42.59 ID:VCBaRTzn.net] 数値が入った大規模list(できればnumpy.array)より、大きい順に10件の数値を取得したいです sortするとかなり遅いのでもっと効率的な方法は無いでしょうか pythonリストはともかくnumpyにはそういう処理があるだろうと思ったのですが見つかりませんでした…
650 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 02:48:06.14 ID:oLPMcLov.net] 最大値の index を pop するのを 10 回繰り返せばどうか、と初心者ながらに思ったけど、下手をすると sort よりも遅いのかな。
651 名前:デフォルトの名無しさん [2015/08/03(月) 02:53:50.78 ID:TVbEWMpV.net] merge
652 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 05:34:38.13 ID:MJUDpxg+.net] ソートの計算量は、O(n log n)で、 log n は、nが大きくなるほど増えにくいから、 ただみたいなもの n = 1,000 = 2^10 のとき、10 = log n だから、 10回popする間に、千個のデータをソートできる
653 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 07:58:49.48 ID:ocR6jyDi.net] >>627 numpy partial sortでググってみた。 stackoverflow.com/questions/10337533/a-fast-way-to-find-the-largest-n-elements-in-an-numpy-array
654 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 08:10:36.45 ID:mj4jP7t4.net] さすがstackoverflow様は貫禄があるな
655 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:05:55.50 ID:qdkLyF57.net] >>627 bisect を使えば簡単にできました。 m=10は無視できるとして、O(n)で頑張ったつもりです。 len(ary)が2万くらいの時に、 L.sort() と比較すると倍くらい速いです。 import bisect def get_min_elements(ary, m): L = [] for x in ary: if len(L) < m: bisect.insort(L, x) else: if x < L[m - 1]: bisect.insort(L, x) L.pop() return L
656 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 11:10:27.07 ID:qdkLyF57.net] >>633 は、ち、小さい方から10件だったけど、別にいいよね。。。 m=10なので、 bisect.insort(L, x) の時の O(m log m) は無視できるとして、 O(n(=len(ary)) で頑張ってみました。
657 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 13:32:56.52 ID:J4VhAduO.net] ユニークな値しか含まれてないリストから指定した値を削除したいんですけど i = value in lst if i: ____del lst[n] これいがいのかきかたをおしえtください
658 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 13:48:07.72 ID:qdkLyF57.net] >>> L = [1, 2, 3] >>> L.remove(2) >>> L [1, 3] >>> st = set([1, 2, 3]) >>> st {1, 2, 3} >>> st.remove(2) >>> st {1, 3}
659 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 14:00:21.61 ID:VCBaRTzn.net] 626です 計測してみました A list.sort B >>628 さんのmax()で10回取る方法 C >>633 さんのbisect D >>631 さんのnumpy+bottleneck (ここだけnumpy) 処理にかかった時間比(N = 10**5) A : B : C : D = 100 : 65 : 50 : 4 でした Nが100**4以下だとBが一番遅くなるようです pythonのlistで処理したい時はC、numpyが使える時はDを使おうと思います 大変勉強になりました 皆さんありがとうございます
660 名前:168 mailto:sage [2015/08/03(月) 14:56:31.14 ID:fmwSGKmS.net] R なら quantile の probs に 1 - 10/n を指定して、そのパーセンタイル点以上の値をとる要素を抽出するかなぁ。 numpy
661 名前:ヘ percentile で同じことができるみたいね。 [] [ここ壊れてます]
662 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 21:20:25.82 ID:bi4hacJB.net] x = 1 print 1 + x x = 2 print 1 + x ・ ・ ・ x = 1000 print 1 + x というのを簡単に行うにはどうしたらいいんでしょうか?
663 名前:デフォルトの名無しさん mailto:sage [2015/08/03(月) 21:35:43.55 ID:gVB3Io0I.net] for x in range(1, 1001): print 1 + x
664 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 12:00:37.85 ID:AS8dD+yU.net] def a(n, m): print(n) if m > n : a(n + 1, m) a(1, 10)
665 名前:デフォルトの名無しさん mailto:sage [2015/08/04(火) 12:01:17.71 ID:AS8dD+yU.net] def a(n, m): _print(n) _if m > n : a(n + 1, m) a(1, 10)
666 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 21:40:10.45 ID:UihIPuxy.net] pythonってphpでいうphp.iniのようにファイルで設定する必要はないんでしょうか?
667 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 21:41:20.84 ID:3aDya5oU.net] ~/.pythonstartup
668 名前:デフォルトの名無しさん mailto:sage [2015/08/06(木) 23:18:23.30 ID:wkWTZ+KR.net] print(10/2) print(10>>1 ) 何で右シフトだと小数点切り捨てになるんですか?
669 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 01:04:03.51 ID:NNL5NoiN.net] そもそも右シフトはintの演算子でfloatには使えない >>> 10.0 >> 1 Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: unsupported operand type(s) for >>: 'float' and 'int' Python3から除算の演算子が変わった C言語系のような整数同士の「従来」の除算は//を使う >>> 10 // 2 5 数学的な演算結果に近づけた「真」の除算は/を使う >>> 10 / 2 5.0
670 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 08:06:00.93 ID:3jYJojYP.net] >>645 小数点以下切り捨てと決めているから。 が答えだけど、納得しないでしょう? だからさ、CPUの原理を勉強しよう。 bit演算について勉強すると良いよ。 あと、右shift演算は、負の整数にしても面白いんだよ。 >>> -1 >> 1 -1 >>> -1 >> 2 -1 ってなったりする。不思議でしょう? ふふふ。
671 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 08:08:05.50 ID:3jYJojYP.net] >>647 の続き 更には、rotr, rotlなんて命令もあったりする。 bit列を右回転, 左回転させる命令なんだよ。 8bit CPUの例だけど、 rotr(0b10000001, 1) を実行すると、 0b11000000 が返ってきたりする。 暗号関係で使われたりするよ。
672 名前:デフォルトの名無しさん [2015/08/07(金) 16:11:37.82 ID:ncOfWd5+.net] python 2.7なんですけど print(round(1.05, 1)) # 1.1でOK print(round(1.55, 1)) # 1.6でOK print(round(1.65, 1)) # 1.6になるのでNG 何でですか?
673 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 16:19:19.04 ID:1VN8eSce.net] print(1.65) してみたらぁ?
674 名前:デフォルトの名無しさん [2015/08/07(金) 16:23:15.22 ID:ncOfWd5+.net] それしたら1.65になりますけどもここから何が分かるのですか?
675 名前:デフォルトの名無しさん [2015/08/07(金) 16:23:59.53 ID:ncOfWd5+.net] print(round(1.75, 1)) # 1.8になるのでOK print(round(1.85, 1)) # 1.9になるのでOK
676 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 18:34:32.46 ID:l3+Klkte.net] 公式のドキュメントを読めば理由は書いてある
677 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 19:28:09.98 ID:EbZJZJ8+.net] >>653 docs.python.jp/3/tutorial/floatingpoint.html これの事を言ってるなら今回のと関係ない >>651 0.05が丸め込まれているのに0.05以上である0.06が丸め込まれないのはバグ
678 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 19:38:55.70 ID:P01jDVzM.net] はいバグ頂きましたw
679 名前:デフォルトの名無しさん [2015/08/07(金) 20:35:10.77 ID:tWWYLiGh.net] >>> "{:17.16f}".format(1.05) '1.0500000000000000' >>> "{:17.16f}".format(1.55) '1.5500000000000000' >>> "{:17.16f}".format(1.65) '1.6499999999999999' >>> "{:17.16f}".format(1.75) '1.7500000000000000' >>> "{:17.16f}".format(1.85) '1.8500000000000001' docs.python.jp/2/library/functions.html#round のノートにある 2.675 はこうなる。 >>> "{:17.16f}".format(2.675) '2.6749999999999998'
680 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 23:01:29.54 ID:3jYJojYP.net] >>649 ここに書いてある。 docs.python.jp/3.3/library/functions.html#round 注釈 浮動小数点数に対する round() の振る
681 名前:曹「は意外なものかもしれません: 例えば、 round(2.675, 2) は予想通りの 2.68 ではなく 2.67 を与えます。 これはバグではありません: これはほとんどの小数が浮動小数点数で正確 に表せないことの結果です。詳しくは 浮動小数点演算、その問題と制限 を参照してください。 [] [ここ壊れてます]
682 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 23:07:52.39 ID:eSh4n7lV.net] >>650 >>653 なんでこういう馬鹿にした&遠まわしな書き方しかできないのかね、ここ初心者スレでしょ しかもprintしろとか結局間違ってるし ちなみに>>656 みたいな現象はPythonに限ったことじゃなくて、 floatの値をを使って分岐処理やif文を書くときは気をつけないとバグ作り込むので注意
683 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 23:19:24.80 ID:3jYJojYP.net] >>649 www.pastebin.ca/3092406 これをC言語で実行してみて下さい。 以下のような結果を得る事が出来ます。 x=1.6499999999999999111822, ndigits=1 x=1.650000, ndigits=1 ... r = 1.6000000000000000888178 r = 1.600000 1.65 と書いても、CPUが解釈するとどうしても誤差が生じてしまって、 1.6499999999999999111822 と解釈してしまうんです。 round(1.6499999999999999111822, 1) の正しい結果は、 1.6 ですよね? 計算機の勉強が必要だと思います。
684 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 23:28:16.44 ID:3jYJojYP.net] >>659 は、 python3.3 で実際にround()を実行している箇所で主要な部分を抜き出したcodeです。 Python-3.3.0/Objects/floatobject.c で、double_round を検索したら実際に処理を行っている部分の挙動が分かります。 初心者の方っぽいので一応使い方を書いておきます。 >>659 を持ってきてa.cに名前を変更して、 $ gcc a.c -o a -lm $ ./a とすると実行できます。
685 名前:デフォルトの名無しさん mailto:sage [2015/08/07(金) 23:50:19.38 ID:3jYJojYP.net] >>660 の続き 詳しい説明は出来ませんので、きちんと理解したいのなら、 浮動小数点数 誤差 で検索してご自分で勉強なさって下さい。 >>> data = list(map(decimal.Decimal, "1.05 1.15 1.25 1.35 1.45 1.55 1.65 1.75 1.85 1.95".split())) >>> for x in data: ... print(round(x, 1)) ... # bug っぽい挙動 docs.python.jp/3.3/library/decimal.html?highlight=decimal www.edu.cc.uec.ac.jp/mce/c1-3m/ref/FloatingPoint.html
686 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 02:40:51.72 ID:pFFZvIq1.net] 浮動小数点(IEEE754)は2進数で、正確に表現できない。 指数部は、2^n のものしか表現できない 0.5 = 2^-1 0.25 = 2^-2 0.125 = 2^-3 上記を組合せたものは、表現できる 0.25 + 0.125 = 0.375 0.1などは、どの組合せでも作れないので、 循環小数となり正確に表現できない 誤差があるから、「0.1 == 変数」のように書けないので、 範囲を持たせて、以下のようにする 0.1 - a < 変数 < 0.1 + a a は非常に小さい値 IEEE754 を参照
687 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 12:37:55.43 ID:6UCmRx7v.net] round(1.65+0.000001, 1)
688 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 16:54:45.36 ID:7XDpIYnB.net] >>649 decimal module 使っても、 >>> from decimal import Decimal as D >>> round(D("1.65"), 1) Decimal('1.6') となりました。 これは、bugという事で、pythonのdecimal module developper が対処するはずです。 近日中に対応してくれると思いますので、しばしお待ち下さい。
689 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 17:55:37.35 ID:bskJYfyR.net] >>664 Decimalの丸めはこうな Decimal("1.65").quantize(Decimal("0.0"), decimal.ROUND_HALF_UP) 無知なのに意地はんなや
690 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:15:35.74 ID:wzG7wbxY.net] しかしDecimalはホント冗長で使いづらいな もっと何とかならなかったのか
691 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 18:52:22.52 ID:bskJYfyR.net] ネイティブの少数表記が浮動小数点数なのだから、混乱を避ける為にある程度使いづらくなるのは仕方なかろ。 Decimal("0.1") + 0.1 とかが普通に実行出来てしまったら、>>649 のような不幸な初心者が量産されてまうわ。
692 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 22:08:47.37 ID:t3Zwjigp.net] PHPだと1.65が1.7になる
693 名前:デフォルトの名無しさん mailto:sage [2015/08/08(土) 22:15:21.63 ID:7XDpIYnB.net] 穴があったら入りたい。
694 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 00:30:28.91 ID:dl726Wch.net] そこに穴はあるじゃろ
695 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 06:09:40.90 ID:T7+WUh22.net] このスレで質問するような人が気づいてることなんて皆とっくに気づいてるんだから安易にバグ認定するのはあかん
696 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 22:42:00.68 ID:POd8P+xe.net] r"aaaa" このrってなんですかマニュアルのどこのページを見て学べますか
697 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 23:03:20.00 ID:LxR15rBc.net] >>672 どうぞ。 docs.python.jp/3.3/library/re.html 正規表現パターンに Python の raw 文字列記法を使えばこの問題を解決できます。'r' を前に付 けた文字列リテラル内ではバックスラッシュを特別扱いしません。従って、"\n" が改行一文字の 入った文字列になるのに対して、r"\n" は '\' と 'n' という二つの文字の入った文字列になります。 通常、Python コード中では、パターンをこの文字列記法を使って表現します。
698 名前:デフォルトの名無しさん mailto:sage [2015/08/09(日) 23:03:50.16 ID:SZbKyl18.net] docs.python.jp/3.3/reference/lexical_analysis.html#literals
699 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 00:26:16.45 ID:1trpq2mO.net] raw文字列は確かに分かりにくいね。 俺は意味理解できなくてなんとなく使ってる。
700 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 02:33:45.82 ID:xpOq7lBh.net] raw文字列はWindows環境でパス記述するときには便利。 \で終わるディレクトリ記述しようとするとはまるけど。
701 名前:デフォルトの名無しさん [2015/08/10(月) 04:55:41.13 ID:joKVIITR.net] 久々にスレ伸びてると思ったら python全然関係ない話題だったでござる
702 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 10:08:21.10 ID:A4JvqZRL.net] def a(): pass f = 'a' 変数fから関数a()を実行する方法を教えてください
703 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 10:14:01.63 ID:Y9npztmj.net] >>> def a(): ... print 'This is a A' ... >>> f = 'a' >>> locals()[f]() This is a A >>>
704 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 10:21:00.93 ID:R47cdcnQ.net] globals()[f]() eval(f)() exec(f + '()')
705 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 10:29:09.95 ID:+1c20aQZ.net] Pythonなら書き方は一つ(キリっ
706 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 12:24:34.24 ID:A4JvqZRL.net] できましたありがとうございました 今bottleのソースコードを見ながら勉強してるんですけど ソースコードでlocals()とglobals()をググっても見つかりませんでした bottleではどうやってコントローラーを実行しているのかわかりませんか?
707 名前:デフォルトの名無しさん mailto:sage [2015/08/10(月) 13:16:50.78 ID:R47cdcnQ.net] 「Pythonなら書き方は一つ」で検索しても、それらしいページはヒットしない 煽るならzen of pythonから引用してしほしい >>682 importlibやgetattrでモジュールの動的なインポートを利用していると思われる
708 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 00:51:44.04 ID:Kibzp2Ye.net] importlibとgetattrとglobals()とlocals()で簡単なルーターを作るところから勉強しようと思います
709 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 10:00:55.94 ID:z0h2VMWZ.net] 40x + 300 = 4100 この一次方程式を解くライブラリってありますか?
710 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 10:33:58.70 ID:v
] [ここ壊れてます]
711 名前:443SNvd.net mailto: >>685 試してないけど、SymPyやPyMaximaかな。 [] [ここ壊れてます]
712 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 10:59:40.44 ID:VmWDUo2S.net] >>> import sympy >>> x = sympy.Symbol('x') >>> sympy.factor(x**2 - 4) -(2 + x)*(2 - x) >>> sympy.solve(40*x + 300 - 4000, x) [185/2] >>> sympy.solve(40.*x + 300 - 4000, x) [92.5000000000000] >>> sympy.solve(40*x + 300 = 4000, x) SyntaxError: keyword can't be an expression >>> orz
713 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:22:36.51 ID:XnkwOBLj.net] scipyとnumpyだけの専門スレが合ってもいいと思うんだけど立ててもいい?
714 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:39:49.20 ID:BYbKL/Wt.net] いいんじゃね、といいつつ… どんなスレ立てても大なり小なり叩かれると思うが 科学技術計算総合スレとでもしておいた方が、叩かれる度合いは少ないだろう Rスレあったんだ 検索しづらいわ!
715 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:40:52.49 ID:7cQT55t3.net] matplotlibとか欲しいし、 もうちょっと広く、「pythonで科学技術計算」とかなら良いかな? 他の人の意見も聞いてね
716 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:42:57.00 ID:7cQT55t3.net] >>689 言語が混ざるとつばぜり合いを始める馬鹿がいるので、 python専用にして欲しいと思う
717 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 20:56:01.90 ID:flESq3IS.net] 個人的にはnltや機会学習系の話がしたい
718 名前:デフォルトの名無しさん mailto:sage [2015/08/11(火) 23:46:00.42 ID:mq4pk2ON.net] Matplotlibはいちおうスレがあるよ 自然言語処理や機械学習も言語を限定しないスレはあるね
719 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 09:32:49.05 ID:+VWy6X24.net] >>688 過疎板だしIDついてるし このスレでやった方が混乱は少ないと思う
720 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 10:57:41.33 ID:I5afDcIY.net] a = set([4, 3, 1, 2, 5]) b = set([1, 2,]) print(list(a - b)) # [3, 4, 5] print(list(b - a)) # [] setに変換して引き算すると順番が狂っちゃうので [4, 3, 5]って順番をキープした結果を返せる引き算の方法を教えてください
721 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 11:10:39.20 ID:RQEQ2Cbc.net] list(a - b) でリストにしてるのはなぜ?
722 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 11:16:11.95 ID:tORyfhyI.net] >>695 A = [4, 3, 1, 2, 5] B = [1, 2] diff = set(A) - set(B) result = [n for n in A if n in diff]
723 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 11:18:07.92 ID:RQEQ2Cbc.net] >>> a = [4, 3, 1, 2, 5] >>> b = [1, 2] >>> reduce(lambda n, m: a.remove(m), b, []) >>> a [4, 3, 5]
724 名前:デフォルトの名無しさん [2015/08/12(水) 16:55:12.14 ID:k8XljSWZ.net] name1, name2, name3・・・といった風に名前を生成してその中に要素を代入したいのですが上手くいきません たとえば、 list = [x,y,z] for i, j in enumerate(list): "name" + i = j といった感じです 勿論上記のやり方では上手くいきませんが、イメージとしてはこんな感じでlistの中の要素を番号付けされた名前の変数に入れたいのです どうしたらいいんでしょうか?
725 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 17:31:42.13 ID:7eD+gktf.net] >>141-142 のglobal使いましょう
726 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 17:53:05.65 ID:tORyfhyI.net] >>699 はグローバルよりargparseみたいにnamespace使った方が便利じゃない? class Namespace: pass ns = Namespace() L = [10, 20, 30] for i, j in enumerate(L): setattr(ns, 'name'+str(i), j) print(ns.name0)
727 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 18:43:45.34 ID:i7Ce6lvW.net] >>699 stackoverflow.com/questions/783781/python-equivalent-of-phps-compact-and-extract www.php2python.com/
728 名前:wiki/function.extract/ [] [ここ壊れてます]
729 名前:デフォルトの名無しさん [2015/08/12(水) 18:43:56.83 ID:k8XljSWZ.net] ありがとうございました!
730 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 20:08:36.40 ID:6qYgwLU5.net] list は予約されている。 >>> list <class 'list'> なので、 list = ? という書き方をしては駄目。 あと、dict使っても出来ます。 >>> L = ["x", "y", "z"] >>> d = {} >>> for i, x in enumerate(L): ... d["name" + str(i)] = x ... >>> d {'name2': 'z', 'name1': 'y', 'name0': 'x'}
731 名前:デフォルトの名無しさん [2015/08/12(水) 22:04:11.18 ID:zuppFPQO.net] 質問1 a = {1, 2} print(a[0]) これエラーなんですけどどうやって1の値を取得できますか? 質問2 a = {"0":1} print(a["0"]) これもキーを指定するとエラーなんですけどどうやってでキーを指定したらいいんですか?
732 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 22:10:12.72 ID:PF0ET0RY.net] >>705 質問1 setはindex指定できないのでリスト使う >>> a = [1, 2] >>> print(a[0]) 1 質問2 普通にできるけどなんてエラーでる?
733 名前:デフォルトの名無しさん [2015/08/12(水) 22:43:30.21 ID:zuppFPQO.net] あ、すみません 質問2は print(a[0])だとKeyError: 0ってでました print(a["0"])だとでませんでした 文字列で指定したので取れなかったようです 質問1のはよくわかりません a = {1, 2} print(a)は{1, 2}って表示されますが、どうしてキーを指定しなかった場合だと個別に取り出せないんでしょうか?
734 名前:デフォルトの名無しさん [2015/08/12(水) 22:53:11.50 ID:YIqOZZQS.net] # -*- coding: utf-8 -*- num_1 = 0 def hoge(): print(num_1) # これでnum_1は参照はできるが、 def hoge_1(): num_1 += 1 print(num_1) # これだと参照はできるが、代入はできない。なので def hoge_2(): global num_1 num_1 += 1 print(num_1) # このように関数内でnum_1のグローバル宣言をする。そうすると # num_2に代入できる。
735 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 23:02:21.27 ID:PF0ET0RY.net] >>707 a = {1, 2} だとset型を指定していることになるけど,setは順序を持っていないので,indexを指定して要素を取り出すことはできない 中身を取り出したいならfor文にかけるか >>> a = {1, 2} >>> for i in a: ... print(i) ... 1 2 いったんリストに変換する >>> l = list(a) >>> l[0] 1 とか
736 名前:デフォルトの名無しさん mailto:sage [2015/08/12(水) 23:59:18.78 ID:ZEyNhv4C.net] 「キーを指定しなかった場合だと個別に取り出せない」って何を言ってんのか分かんなくて悩んだけど {"0":1} の、キーを指定しない版が {1, 2} っていう認識かいな 確かに同じ記号を使ってて分かりにくいよな 他に記号なかったんかいって俺も最初思ったわ
737 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 00:15:08.98 ID:Anx3mf6Z.net] >>> l = [0, 1]; l [0, 1] >>> l += []; l [0, 1] >>> l += [2]; l [0, 1, 2] #[] で増えないのは仕様ですか?
738 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 00:40:20.39 ID:Pv/NYKUJ.net] 仕様じゃなかったら何なんだ。 それが聞きたいことか?
739 名前:デフォルトの名無しさん [2015/08/13(木) 01:27:49.35 ID:B5UxQ5Jz.net] 空なんだから増えるわけ無いじゃん こうだろ l += [[]]
740 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 11:26:21.50 ID:xmv8N9p/.net] 夏だな
741 名前:デフォルトの名無しさん [2015/08/13(木) 13:02:41.78 ID:dWSY8J7e.net] scipyの日本語マニュアルがほしい
742 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 19:57:26.86 ID:PEz63Oz9.net] pycon2015だけどチケット高いよ つうか日本で著名なカンファレンスで金取るのpyconぐらいしか知らないんだけど 収入をスタッフで分けあってるんじゃないだろうね 金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け金儲け
743 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 20:26:30.03 ID:zypo+673.net] >>716 10000円とか高すぎワロタ
744 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 21:08:18.66 ID:UOPmO2ID.net] 著名なカンファレンスって具体的には何だろう 著名って道端でインタビューしても半分以上知ってるとかそういう意味じゃないよね
745 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 22:07:09.04 ID:7307l9+I.net] 太いスポンサー付いてんだから会場費も賄えるだろ ひょっとしてけちなスポンサーなのかw
746 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 22:46:05.03 ID:zYX1bnGl.net] yapcは金取るよ 5000円 俺はyapcに行くけどpyconは行かない 役に立った試しがないから
747 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 23:18:38.29 ID:XFGl8RYP.net] 超初歩的な質問なんですけど if __name__ =‘’__main__‘’ よ意味がイマイチ分かりません。 どういう意味か教えてください。
748 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 23:43:50.03 ID:mALeQvK5.net] >>721 docs.python.jp/3/tutorial/modules.html 特に「if __name__ == "__main__"」の件は docs.python.jp/3/tutorial/modules.html#executing-modules-as-scripts
749 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 23:53:08.79 ID:XFGl8RYP.net] >>722 なんとなくわかった ありがと
750 名前:デフォルトの名無しさん mailto:sage [2015/08/13(木) 23:59:00.58 ID:5Zf3S51H.net] >>721 実行結果の違いを自分で理解しましょう。 $ cat a.py print("a1: __name__ is \"{}\"".format(__name__)) if __name__ == "__main__": print("a2: __name__ is \"{}\"".format(__name__)) $ cat b.py print("b1: __name__ is \"{}\"".format(__name__)) import a if __name__ == "__main__": print("b2: __name__ is \"{}\"".format(__name__)) $ python3 a.py $ python3 b.py
751 名前:デフォルトの名無しさん [2015/08/14(金) 01:26:08.78 ID:7t8/l02p.net] ランダムな文字列を特定の文字数から分割することはできるんでしょうか 例えば"abcde"や"12345"を3文字目から分割して、"abc", "de"や"123", "45"にするといった感じです
752 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 02:12:20.51 ID:55h31pll.net] スライス使う s = 'abcde' n = 3 s[:n], s[n:]
753 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 07:31:24.74 ID:qjotB1DM.net] いい加減に自分で調べようぜ ここはお前の家庭教師じゃないんだ
754 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 08:13:18.68 ID:UfQw/EAV.net] 漂う一年生の夏休み臭 まぁでもこんなとこで聞いて答え探してちゃあ冬の宿題は無理だろうな 情報科学系は大企業でもない限り学歴は関係ないし、向いてないと思ったなら大学やめるか転科、転部してもいいと思うけどな
755 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 10:02:58.72 ID:7t8/l02p.net] >>726 ありがとうございました
756 名前:デフォルトの名無しさん [2015/08/14(金) 13:16:29.76 ID:Q/AtP1Be.net] スレタイ通りに進行している良スレ
757 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 17:20:25.77 ID:LobgVTtd.net] ここ質問スレなのに説教してるバカなんなの ちょちょい回答側も適当なこと答えてるし何様なんだろう
758 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 18:05:30.80 ID:qjotB1DM.net] 一冊本読めば分かるような質問されても
759 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 18:34:20.95 ID:UfQw/EAV.net] >>731 俺様だよ Pythonのような動的言語の得意な事の一つにメタプログラミングつってな プログラムを生成するプログラムを作るような生産手段がある。 つまりプログラムの前にプログラムは始まってるんだよ Pythonを究めればつまり、十年後、二十年後にプログラムするおまえ自身をプログラムすることだってできる わかるか?説教なんかじゃねーよ メタプログラミングだ
760 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 18:40:34.94 ID:55h31pll.net] 質問馬鹿、世話焼き馬鹿、煽り馬鹿 馬鹿どもの需要を満たす良スレです でもエスパー向け質問は勘弁な
761 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 18:47:50.96 ID:1qaFTc/3.net] ググったら大量にあるような質問とか4ねよと思うかも知れないが >>725 のような質問から分かることは質問者がプログラミング初心者であることだ 複数のプログラミング言語の経験があれば例えばJavaScriptのsubstringみたいなのはどうやるんだろうみたいな疑問から「python substring」でぐぐれば答えにたどり着ける >>725 に必要なことは経験なんだよ 経験を積めば答えの探し方も自ずとわかってきてクソ質問をする回数も減ってくる さいしょはそういうものだ
762 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 19:16:08.06 ID:kkHnja52.net] 技術書は
763 名前:高いからなあ 疑問一つ解決するにはネットが一番 [] [ここ壊れてます]
764 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 19:18:02.42 ID:KhWLzGMo.net] 高説は垂れ終わりましたかねクソたれの諸君
765 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 20:24:45.10 ID:RT/486IQ.net] 必要最小限の努力で最大限の効果を発揮する回答をするのが腕の見せ所だろ
766 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 22:13:36.03 ID:LobgVTtd.net] >>735 そうそうググり方がわかんないんだよね初心者は なんか一つでも言語かじってれば検索語がすぐ浮かぶし基本質問しなくて済むんだけど そういう事すら想像できないで説教してる奴はプログラムは書けるかもしれないけど年収低そう
767 名前:デフォルトの名無しさん mailto:sage [2015/08/14(金) 23:19:56.73 ID:OD8R+FZZ.net] 「文字列 分割」で検索すれば一発だろ っていう想像すら出来ないのか?
768 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 00:09:06.75 ID:xP2G+OJc.net] >>740 君は恵まれているんだよ 「知りたいことの調べ方を教えられずとも知っている」というのは、ある意味超人なのだから
769 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 00:11:59.43 ID:ijAlKA58.net] >>740 splitがヒットする
770 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 04:47:08.17 ID:Yk3bSSFS.net] python始めたころ 'hoge'.length 'hoge'.length() 'hoge'.len() とかやって途方に暮れたのは良い思い出
771 名前:デフォルトの名無しさん [2015/08/15(土) 13:23:11.13 ID:Ul7UCeMQ.net] ここで一から聞くよりも チュートリアルを一通りやってから聞いたほうが効率がいい
772 名前:168 mailto:sage [2015/08/15(土) 13:40:31.23 ID:n2MIk9XB.net] たしかに超低レベルだけど、ここそういうスレだもんね。 なかよし学級みたいなものだよ
773 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 13:41:20.37 ID:vqznTC4Z.net] 変数に複数行の文字列が入っていて それを各行の先頭に&があったらそこでsplitをしたいのですが、 シンプルな形でするにはどうしたらよいでしょうか
774 名前:168 mailto:sage [2015/08/15(土) 13:50:48.77 ID:n2MIk9XB.net] >>746 str.split(″¥n&″)
775 名前:デフォルトの名無しさん mailto:sage [2015/08/15(土) 14:00:32.15 ID:vqznTC4Z.net] >>747 あざす
776 名前:デフォルトの名無しさん [2015/08/15(土) 19:34:44.25 ID:4G4yaXTm.net] スーパー初心者です EclipseにPydevというものを入れたいんですが Unable to read at repositlyみたいなエラーメッセージがでます。 Eclipseかjavaのバージョンがおかしいのでしょうか? Eclipseは最新java 1.7.045です
777 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 00:21:57.41 ID:AC1P33gf.net] Unable to read at repositly この英文はスペルも間違っているし、 文法的にもおかしい 正しいエラーメッセージで、検索しろ eclipse Unable to read 〜
778 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 00:35:10.95 ID:Eim8BKO0.net] ソフトウェアが動かない時はOSも書いてもらわないと回答に困る
779 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 10:16:12.86 ID:UepVPRcb.net] >>749 みたいなエラーじゃエスパーしか回答できないな
780 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 10:47:06.87 ID:lDaj3UMn.net] input.txt というファイルに codepad.org/Lm5qAAPj のように文字列が並んでいます。 このファイルを読み込んで、 同じ内容の行がn個以上 (nは事前にわかる定数) 出現する場合に、 その文字列の一覧を取得し表示したいのですが、 どのように書けば良いでしょうか。 この例でいうとn=3の時 "2015年7月17日" などが該当します。 よろしくお願いいたします。
781 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 10:55:57.16 ID:8LWqlGmF.net] 二次のリストにして[行の中身、出た回数]でひとまとめにする。 あとはeachで毎行すべての行の中身と比較して、一緒なら出た回数+1 最後に出た回数が定数以上なら行の中身を出すeach 効率がマックスではないやろけど充分やない?
782 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 10:57:59.55 ID:lDaj3UMn.net] なるほど、ありがとうございます。
783 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 11:03:26.16 ID:O32Kimu0.net] はいよ。 import sys from collections import defaultdict if __name__ == "__main__": n = int(sys.argv[1]) print("n is {}".format(n)) path = "tech752-input.txt" dd = defaultdict(int) with open(path, "r") as f: for _line in f: line = _line.strip() dd[line] += 1 for k, v in dd.items(): if v >= n: print("{:>11s} は {} 回出現しました。".format(k, v))
784 名前:デフォルトの名無しさん [2015/08/16(日) 11:06:02.80 ID:0tax/iFh.net] 宿題の季節ですね
785 名前:752 mailto:sage [2015/08/16(日) 11:14:57.83 ID:lDaj3UMn.net] >>756 ありがとうございます。 collections ってやつですか、使ったこともありませんでした。 >>757 宿題でなく、業務の補助です。 コンピューター系の仕事じゃないんですが、 excelファイルの一行目で重複しているものをさがさねばならない状況で あまりにたくさんあって、手動じゃ厳しい状況でした。
786 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 11:46:46.26 ID:UepVPRcb.net] この丸投げ依頼、ランサーズで見かけたな
787 名前:デフォルトの名無しさん [2015/08/16(日) 11:52:01.60 ID:0tax/iFh.net] excolの整理するならwin32com使うともっと捗る
788 名前:752 mailto:sage [2015/08/16(日) 12:58:02.61 ID:lDaj3UMn.net] >>760 ありがとうございます。 ただ汎用性の高い方法が知りたかったので Python単独にしました。
789 名前:デフォルトの名無しさん [2015/08/16(日) 20:54:41.00 ID:qIQbKUMb.net] エクセルファイルってpythonの標準モジュールでいけるん?
790 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 21:50:03.91 ID:LFerq79m.net] フォーマットを理解していて自分で解析するなら標準ライブラリでいけると思うよ 解析を自分でやりたくないなら標準ライブラリでは難しい、PYPIから探して用途に合ったものを入れて使う
791 名前:デフォルトの名無しさん mailto:sage [2015/08/16(日) 22:35:19.49 ID:e2KUFoWx.net] csvでええやん(適当
792 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 00:19:47.15 ID:cHfxWEIf.net] いまどきエクセルとか時代遅れ。 Windowsがメインの時代は終わった。
793 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 01:35:46.62 ID:yvTEFZww.net] 確かにメソッドをバインドしてるはずなのに XXX instance has no attribute xxx って出る時はどうしたらいいんですか? class Main: def __init__(self): self.XXX = XXX() self.test = Test(self.XXX) class Test: def__init__(self, XXX) self.XXX = XXX def hoge(self): self.XXX.xxx() class XXX: def __init__(self): pass def xxx(self): pass 大分省略してますが、大まかな流れはこんな感じでエラーはないはずなんですが・・・
794 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 06:14:35.27 ID:wMu/qLyK.net] 実行すると同じエラーが発生するコードを載せないと的を得ないアドバイスになるよ とりあえずTestクラスに構文ミスがある
795 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 06:46:37.95 ID:XZr/R9DQ.net] >>765 Google Apps の Spreadsheet はまだ使いにくいんだわ 慣れ鴨試練けど
796 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 08:35:05.25 ID:yvTEFZww.net] >>766 自己解決しました Testクラスの初期化でバインドする前に別の命令でXXXを呼び出していたのが問題でした
797 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 08:40:08.19 ID:yvTEFZww.net] >>767 ありがとうございました
798 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 11:53:45.23 ID:jAoOCpIM.net] pythonのメモ化ってサードパーティライブラリを使わない場合はどうやるのかおしえて
799 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 12:03:41.24 ID:HKx5lNza.net] サードパーティライブラリの ソースコード読め
800 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 12:39:02.37 ID:hnwd1zgq.net] ");
//]]>-->801 名前:4" target="_blank">>>754 >あとはeachで毎行すべての行の中身と比較して、 >一緒なら出た回数+1 行の内容を、キーにして、 辞書・連想配列(dic, map)を使えば、効率的 [] [ここ壊れてます]
802 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 14:15:45.35 ID:wMu/qLyK.net] >>771 標準ライブラリのデコレーターfunctools.lru_cache()を使う
803 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 16:33:43.57 ID:3iVEaaDQ.net] ブラウザのクッキーのように、ローカルにデータを保存してキーで呼び出す簡単な仕組みがほしいのですが ありませんでしょうか ファイル名をキーにできなくもないですが、ファイル名だと制約が多そうなので 専用の仕組みがないか知りたいです
804 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 16:50:29.97 ID:wMu/qLyK.net] >>775 標準ライブラリのdbm(シンプル)やsqlite3(多機能)を使う データが少量ならjson(多言語対応)やpickle(Python特化)で一気に読み書き
805 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 16:57:29.22 ID:3iVEaaDQ.net] >>776 いろいろあるんですね、標準から順番に試してみます。
806 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 17:31:22.68 ID:BpXeI8EH.net] 具体的に何のデータを呼び出すの? 普通はデータベース(上の人が書いてるsqlite3とか色々) テキストでも数値でも画像みたいなバイナリでもなんでも保存できる そこまで大げさじゃなかったらdictにしてローカルへの永続保存にはpickleとか
807 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 17:49:25.09 ID:XZr/R9DQ.net] >>775 memcached
808 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 17:53:32.11 ID:BpXeI8EH.net] いやそれじゃローカルへの永続保存できないじゃん 揮発していいんならそもそもdictでいいわけだし
809 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 17:55:31.75 ID:7xSphxbU.net] >>775 python関係ないなスレチ localstorageかindexeddbでぐぐれ
810 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 18:00:59.30 ID:BpXeI8EH.net] >>781 CookieみたいにキーバリューっぽくPythonでデータをやり取りできる簡易ストレージありませんかってことでしょ localstorageとか全然関係ない
811 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 18:18:31.83 ID:XZr/R9DQ.net] sqlite3 は良いんだけど面倒じゃん >>780 永続保存したいときは memcached にさせればいい
812 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 18:30:26.61 ID:BpXeI8EH.net] >>783 俺の知ってるmemcachedはストレージへの保存はできなかったように思うんだけど今はできるの? できたとしても大規模なサイト向けの分散メモリキャッシュを>>775 に勧めるのは違う気がする
813 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 18:33:58.91 ID:XZr/R9DQ.net] >>775 は永続化したいとは言ってないよな PC が起動してる間だけ(半)永続化出来れば良い用途なら memcached を勧める python のプロセスが終了しても実行単位が分かれてても良いからね
814 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 18:39:27.72 ID:PIyjnu6p.net] >>785 お前そんなんだからいつまでたっても伸びないんだよ
815 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 21:41:07.78 ID:AC+nB5ru.net] shelveが挙がってなくて驚愕 自動でpickle/unpickle バックエンドは可能ならdbmを使用 dict互換インターフェース 初心者には文句ねえだろ
816 名前:デフォルトの名無しさん [2015/08/17(月) 22:02:22.04 ID:HG93N3kS.net] pythonのパッケージを読み込んだときに、ディレクトリ内のサブモジュールを一括してimportされるようにしたいです from package import * じゃなくて import package ってしただけで package.lib1, package.lib2, … という風に階層的にアクセスできるようにしたいんですが、手軽にできる方法ありませんか? 今は__init__.pyにそのディレクトリのファイルリストを取得してpyファイルのみインポートするようforループ回してるんですが こんなめんどくさい方法しかないのでしょうか?
817 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 22:15:45.09 ID:AC+nB5ru.net] __init__.pyに from . import * って書いとけば
818 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 22:19:37.26 ID:LdwVCEVY.net] ID:XZr/R9DQはもうちょっと怒られてもいいと思う
819 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 22:21:13
] [ここ壊れてます]
820 名前:.35 ID:AC+nB5ru.net mailto: デコピンでも食らわせとけ [] [ここ壊れてます]
821 名前:デフォルトの名無しさん mailto:sage [2015/08/17(月) 22:25:19.92 ID:HG93N3kS.net] >>789 それは試したのですが、dir(package)しても何も読み込まれてません(エラーも出ません) もちろんグローバルに直接広げられてるわけでもありません 後出しですみませんがpython3.4.1です
822 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 08:34:58.30 ID:+GUozJxI.net] 外字対応で「codecs」あたりを使って色々やっているんですが、 error処理を「replace」や「backslashreplace」にした場合、 置換された時だけ処理を追加したいのですが、 その際の分岐はどのようにすれば出来るでしょうか?
823 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 10:15:30.36 ID:/VHLnea+.net] 置換する前とした後の文字列を比較
824 名前:デフォルトの名無しさん [2015/08/18(火) 11:27:12.95 ID:1sNyIVHN.net] 天才ktkr
825 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 18:46:01.56 ID:LAF+YM5X.net] >>792 いや教えてもらったことでできるよ できてないのは教えてもらったとおりにやってないだけ 自分が手抜きして書いた文章で負担は回答者に来ることを忘れるな
826 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 19:02:01.11 ID:aNFP607G.net] >>794 それしかないかー ありがとうございます。
827 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 19:42:34.63 ID:61LHAw2c.net] 教えてもらってから「それしかないかー」って言う人嫌い 必死こいて考えてレスした人に失礼じゃないか 注文があるなら最初に「xx以外の方法で」って書いとけよ
828 名前:デフォルトの名無しさん [2015/08/18(火) 20:33:40.72 ID:0mjtCM8s.net] まぁまぁ
829 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 21:05:13.78 ID:aNFP607G.net] >>798 なんだかすいませんでした。
830 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 21:28:23.83 ID:2sDrekuo.net] >>796
831 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 23:34:56.09 ID:yDieNvXT.net] >>796 どう試したんだお前 from . import *で読み込むためには__all__がいるだろが
832 名前:デフォルトの名無しさん mailto:sage [2015/08/18(火) 23:55:52.75 ID:pEad/GRS.net] 具体的なことを言わずに質問者を適当に罵倒すると 手軽に偉くなった気になれるのでマジおすすめ
833 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 00:00:27.11 ID:aTZq7rnW.net] そこらのブログのサンプルコードを見てるとしばしば if elif elif を使っているのを見ますが、実際には殆どの場合では if if if で事足りますよね?elifを使う事で何かいいことがあるんでしょうか?
834 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 00:15:08.96 ID:xc/++r0f.net] 殆どの場合・・・ifで事足りる 殆どの場合以外・・・ifで事足りない 単純明快
835 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 00:23:02.41 ID:aTZq7rnW.net] だとしたら以下のような簡単な条件式でもわざわざ if int == 1: elif int == 2: elif int == 3: って書いてるのは何ででしょうか?
836 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 00:23:30.33 ID:WfM1PAPC.net] 一連の分岐が分かりやすい
837 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 00:36:57.15 ID:G/CiAypH.net] ifが複数並んだらどれかの分岐の一つのみが実行されるという意図が明確でない というよりifが並んだら重複して実行されうるものとして見える だからそうでない限りはelifを使って、どっかで引っかかったらその後のelif節をパスする意図を明確にする
838 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 00:47:29.32 ID:BLCCc3GJ.net] つかif-elif-elseで1ブロックなんだから んでn=1,2,3で処理を振り分けるのもひとかたまりの処理だろ わざわざ独立したifブロックを複数たてる必要がないべ 意図がわかりづらいコードはあとから読み直すの大変だぞ
839 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 03:02:58.44 ID:1cIU6vdw.net] >>804 elifをifに換えると上手く動かない例 test_result = 95 if test_result > 90: grade = 'A' elif test_result > 80: grade = 'B' elif test_result > 70: grade = 'C' elif test_result > 60: grade = 'D' else: grade = 'E' print('テストの点は', test_result, '
840 名前:ャ績は', grade) [] [ここ壊れてます]
841 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 05:02:58.82 ID:MH7WCZSE.net] Pythonにswitchがあったらなあっていつも思う elifをどんどんつなげていくと、下に行くにつれ息が苦しくなってくる
842 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 07:39:56.25 ID:2JD/ApDH.net] はい、大きく吸ってー
843 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 07:54:26.07 ID:hnj5IXaX.net] >>811 Cのswitchの仕様ならいらない
844 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 07:57:40.59 ID:hnj5IXaX.net] >>798 すばらしい洞察
845 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 08:34:03.16 ID:zU2KMJnx.net] ではどういうスイッチの仕様がいいのでしょう? Cのswitchを知らないんだけど、vbaはswitchは仕様もクソもifを見やすくしただけだね。 Aという変数が 条件○ 条件△ 条件□ どれでもないとき これ以外のswitchってどんなやろ?
846 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 09:45:17.12 ID:MH7WCZSE.net] >>813 breakの書き忘れがバグの元になるから Pythonはswitch系の構文を採用しなかったと聞いたことがある その思想には産道できるんだが、やっぱりif文が長いと呼吸が… こういう基本構文をPythonに独自に付け加えるのって難しいのかな?
847 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 09:49:40.96 ID:CQPQ0YpI.net] >>802 いらねえよバカ
848 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 12:25:13.17 ID:fKGepA2j.net] pythonにswitchを導入したら、objectの評価がどのタイミングで行われるかが気になるな。 例えば、__eq__を実装したクラスの場合とか。 既に超初心者の範囲の話題ではないが。
849 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 12:33:01.34 ID:/st2usUG.net] pythonにswitchがないのは 「だらだら長い分岐を書きたくなったら、テーブルとかポリモーフィズム使う事考えろよな!」 という、お前らへのメッセージやで割とマジで
850 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 12:54:27.69 ID:zU2KMJnx.net] >>819 とまぁこういうこと考える機会になるから、くだすれ向けの話題やろ switchはswitchの良さがあるけどな オムロンとか未だにswitchで大きな益をだしとるし
851 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 13:31:02.10 ID:1cIU6vdw.net] switch文よりパターンマッチの式が欲しい、下みたいなことlambda書かずにやりたい result = match(10+3, [ lambda n: 'hoge' if n > 20 else ContinueMatch, lambda n: 'fuga' if n > 10 else ContinueMatch, lambda otherwise: 'moge'])
852 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 16:42:49.05 ID:N616QwES.net] >>817 実際にやってみろよバカ
853 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 16:48:39.32 ID:BLCCc3GJ.net] testdir以下に __init__.py from . import * hoge.py print("hogehoge") でimport testdirしても何も出力されない __init__.pyに__all__ = ["hoge"]指定するとhogehogeって出る
854 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 17:28:30.29 ID:/k7NGekj.net] で、正解は?
855 名前:デフォルトの名無しさん [2015/08/19(水) 17:59:19.82 ID:hnj5IXaX.net] __init__.py は何も書かなくていい 在るだけで良い
856 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 18:04:59.57 ID:/k7NGekj.net] あるだけでいいどころか最近のバージョンでは__init__なくても名前空間パッケージとして扱われたりすんだけど 大本の質問はパッケージ読み込みと同時にサブモジュールを一括ロードしたいって話らしいので
857 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 20:08:53.14 ID:kk+zL38M.net] 手軽にできる方法とか言ってるからどうなんかなあ、__all__に全部書いとけっていうのは forループを回してプログラムに読み込ませるのさえめんどくさい方法って言ってるので
858 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 20:29:27.08 ID:b9NBarYK.net] それしかないかー ありがとうございます。
859 名前:デフォルトの名無しさん mailto:sage [2015/08/19(水) 20:41:39.12 ID:/k7NGekj.net] ていうか__init__でそういうループまわすのって from unko import chinco とかでも一々unko.__init__が反応するから激しく勧めないけどね それより__all__無しでfrom . import *できたとかいう心霊現象はどうなったのかなーと
860 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 00:21:02.25 ID:I3VPAzEa.net] 標準出力(orファイル)に
861 名前:改行コード(LF)を出力したいのですが、 sys.stdout.write("\n") とすると CR LF が出力されます。 LF だけを出力する方法はありますでしょうか? ファイルをバイナリモードでオープンする方法も検討したのですが、 バイト列と文字列の違いゆえか、以下のようなエラーになってしまいます。 ---------- open("output.txt", "wb") as f: f.write("\n") Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: 'str' does not support the buffer interface ---------- ※文字列(str)を出力したいので、write(b"\n") 以外の方法でお願いします。 環境は ・Python3.4 ・Windows 7 です。 [] [ここ壊れてます]
862 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 00:31:00.81 ID:PhWv3bmG.net] 試してないけど、b'0xa'を出力すればいいんじゃね
863 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 00:48:12.96 ID:sobFc7C1.net] >>830 open()のキーワード引数にnewline='\r\n'を指定する 書き出すときに\nが\r\nに変換される with open('output.txt', 'w', newline='\r\n') as file: file.write('hello\n')
864 名前:831 mailto:sage [2015/08/20(木) 00:50:02.22 ID:sobFc7C1.net] あー、ちゃんとレスを読んでなかった失礼 newline='\n'で読み替えて欲しい
865 名前:830 mailto:sage [2015/08/20(木) 01:04:02.38 ID:PhWv3bmG.net] まちがえた、b'\x0a'だな with open('hoge.txt', 'wb') as f: f.write(b'\x0a')
866 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 10:39:06.57 ID:pV6cw7bo.net] >※文字列(str)を出力したいので、write(b"\n") 以外の方法でお願いします。
867 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 12:25:16.58 ID:WAF82kMO.net] byteをstrで変換すればいいだろ
868 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 13:02:08.90 ID:jAis7ACz.net] >>830 import os, sys if __name__ == "__main__": os.write(0, b"\n") ss = "ss\n" konnichiha = "こんにちは\n" with open("tech829.wb.txt", "wb") as f: f.write(b'\n') f.write(ss.encode()) f.write(konnichiha.encode("utf-8"))
869 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 22:37:29.07 ID:FFZPtzFS.net] pythonって無料で動かせる鯖ないですよね ていうかvps前提ですよね パッケージとかアップロードできるわけじゃないですもんね ここの先輩方はwebにpythonを使ってますか?
870 名前:デフォルトの名無しさん [2015/08/20(木) 23:12:48.33 ID:YEEbYevP.net] >>838 >pythonって無料で動かせる鯖ないですよね あるよ
871 名前:デフォルトの名無しさん [2015/08/20(木) 23:14:38.59 ID:YEEbYevP.net] >>838 >ここの先輩方はwebにpythonを使ってますか? つかってる。でも無料のとこでは使ってない。
872 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 23:23:56.79 ID:YEEbYevP.net] >>838 >パッケージとかアップロードできるわけじゃないですもんね できるよ 何をやりたいか書いたほうが言いと思う
873 名前:デフォルトの名無しさん mailto:sage [2015/08/20(木) 23:27:49.83 ID:vJWprlG5.net] >>838 >ていうかvps前提ですよね なんでそうなる。 ふつうのレンタルサーバで使ってるよ。 最初からPython入ってるけど、自分で使いたいバージョンとモジュールをインストールして使ってる。
874 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 00:54:55.47 ID:YPq0HJeE.net] ==の逆である!=はなんでないんですか? AはBではないっていうのはどう書けばいいんですか?
875 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 00:56:22.34 ID:egD41OrM.net] A!=B
876 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 00:57:56.37 ID:cNm3l2b6.net] もうそろそろ = の反対を ≠ と書くことができる 言語が出てもいいと思う。
877 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 04:30:24.54 ID:MTjZuMcu.net] え、>>843 ってできるよね?
878 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 08:36:21.94 ID:ewvWrXm9.net] >>843 >>> True != False True >>> True != True False >>> True != None True >>> False != None True >>> False != False False
879 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 08:42:24.19 ID:HouD2Rdc.net] >>847 ジャバスクリプト
880 名前:がこんなんやったな。 [] [ここ壊れてます]
881 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 08:44:29.55 ID:ewvWrXm9.net] ジャバスクリプト()には !== とかがあるね
882 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 10:08:00.53 ID:IT5UaqUy.net] >>847 Noneと真偽値の比較を真偽値同士の比較と一緒に並べるのはどうかと思う 前者の組み合わせは 1 != "Hello" みたいに型が異なるものを比較してる
883 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 10:53:54.00 ID:aXP8e9K+.net] pythonで水面の波紋を描くとしたら上級者の人はどうしますか? pygameを使い、同じ中心点で異なる半径の円の画像を生成してリストに入れ、時間をずらして表示するってのを考えているのですがどうでしょうか
884 名前:デフォルトの名無しさん [2015/08/21(金) 11:16:34.63 ID:ewvWrXm9.net] 実際のイメージと違うんだろうなという映像が頭に浮かんだ
885 名前:デフォルトの名無しさん mailto:sage [2015/08/21(金) 12:18:35.00 ID:+b9Sq2lj.net] >>851 Pythonと関係ない ゲーム制作スレで聞いてこい
886 名前:829 mailto:sage [2015/08/22(土) 00:06:34.80 ID:daWP/VMl.net] >>830 です。 >>832 さんの方法で期待通りに動作しました。 他の方のご回答も参考にさせていただきます。 ありがとうございました。
887 名前:デフォルトの名無しさん mailto:sage [2015/08/22(土) 01:04:48.69 ID:deKfbB8U.net] 昔<>って使えてたよね
888 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 07:13:51.83 ID:xqAU88hl.net] 例えば a = [(1,3),(2,4),(2,1),(2,3),(4,4)] のようなリストの中から、最初の (2,X) (※Xは任意) のような要素のインデクスを返す簡潔な方法はなんでしょうか 上の例では1(=(2,4)のインデクス)が欲しいです よろしくお願いいたします
889 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 07:27:59.75 ID:Mj+ThXGY.net] for i,l in enumerate(a) : if l[0] == 2: i #この変数iが欲しいインデックス 関数にするならreturn iで処理終了 しないならbreakでforを抜けないと続行しちゃってその例だと3になっちゃう enumerateはfor内を何回ループしてるか変数iに入れ続けるもの
890 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 07:41:04.38 ID:6mvTbcD8.net] help(a) を実行して、一通りhelpをながめてみる。 または、 docs.python.jp/3.3/library/stdtypes.html#sequence-types-list-tuple-range 4.5. イテレータ型 を一通り読むんですね。
891 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 08:08:57.76 ID:xqAU88hl.net] ありがとうございます!
892 名前:デフォルトの名無しさん [2015/08/24(月) 09:34:40.43 ID:m0N2dFlX.net] つうかさisとかいらねえんだよ なんで==で全て判定できるように作らなかったのか False==0がTrueとかPHP並に気持ち悪いな 本当P言語はクソだな
893 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 09:50:11.43 ID:t7k5wrbh.net] False==0は形違いで例外出すべきだね
894 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 16:56:39.48 ID:kccymPOD.net] 真偽値が整数なのはC言語の慣習なので俺は親しみを感じる でもTypeError出すのも妥当だと思う 別の言語でfalse == 0がfalseなのは驚愕した
895 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 17:07:28.99 ID:NZbDfDwI.net] >>862 > 別の言語でfalse == 0がfalseなのは驚愕した 驚愕するほどのものかね? 本質的にfalseと0は別のものだろ。 C言語なんか、true == 3がfalseなんだぞ。
896 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 17:35:30.57 ID:kccymPOD.net] >>863 trueは1だろ、何言ってんだ(真顔) C言語の仕様の良し悪しは何とも言えない でもマジで初学がCだと真偽値は整数扱いになる 比較の演算結果からtrueは1、falseは0、嘘じゃないよ
897 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 18:07:18.58 ID:NZbDfDwI.net] でも、if (3) {} は真だろ。 3がtrueじゃないのに、 真と
898 名前:かおかしいだろ。 [] [ここ壊れてます]
899 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 18:17:42.39 ID:zrEdzFeo.net] C言語ネイティブで使ってるひとは int a = 3; だったとして if(true == a) ← こんなことする馬鹿はいない if(true == (a != 0)) ← ぎりぎり許せるがまずしない if(a != 0) ← 結構ある if(a) ← 普通これ
900 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 18:24:11.18 ID:NZbDfDwI.net] > if(a != 0) ← 結構ある 結構あるだろ? この派生で if(a != false) ← 結構ある if(a == false) ← 結構ある じゃあ、falseの反対は・・・? trueだ! if(a == true) なんで動かないんだよ。バンッ!
901 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 18:32:22.30 ID:zrEdzFeo.net] C使ってるひとでtrueと比較するひとはモグリか素人
902 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 18:38:54.04 ID:NZbDfDwI.net] だから、C言語を知らない人だったら 別の言語でtrue == 3がfalseなのは驚愕した っていうだろうなって話をしてるんだよ。
903 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 18:49:39.15 ID:CmRZDEoS.net] すげーどうでもいい
904 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 19:18:00.61 ID:tH5OuHw3.net] True/False/Noneはマジで恐いから使うのを避けた方がいい 自分は業務の障害対処に自作スクリプトを使った時、Noneとの比較をミスって 二重障害を起こしてしまったことがある
905 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 19:24:28.72 ID:CmRZDEoS.net] 間抜けの報告ありがとう 肥溜めにでも埋まってろ
906 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 19:36:39.85 ID:zrEdzFeo.net] >>860 x True/False/Noneはマジで恐いから使うのを避けた方がいい o == はマジで恐いから is を使った方がいい
907 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 20:03:14.24 ID:CzPwxFH3.net] >>858 から12時間もたったしと思って。 >>857 >>> a = [(1,3),(2,4),(2,1),(2,3),(4,4)] >>> a.index((2, 4)) 1 一行で終わり。
908 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 20:51:14.50 ID:kccymPOD.net] >>865 C言語のifやwhileなどの構文では0か否かで分岐している それを利用して比較演算を省略するイディオムがある Pythonにもこのイディオムが取り入れられている
909 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 20:53:20.82 ID:SKpW1Nac.net] >>874 そういう質問じゃなかったと思う 最初の質問を読み直した方がいいんじゃないか
910 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 21:15:50.90 ID:CzPwxFH3.net] >>876 の考える、 >>856 に対する模範解答は>>874 以外にありますか? ないなら黙っていて下さい。
911 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 21:23:32.34 ID:rfufUizD.net] >>877 (2,X) (※Xは任意) のような要素のインデクスを返す簡潔な方法はなんでしょうか と書かれているが?
912 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 21:31:11.15 ID:kccymPOD.net] >>856 任意の値を指定できる回答 >>> a = [(1, 3), (2, 4), (2, 1), (2, 3), (4, 4)] >>> b = lambda x: a.index((2, x)) >>> b(4) 1
913 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 23:00:52.16 ID:CzPwxFH3.net] >>878 a.index((2,X)) でいいでしょ? 重要なのは、 a.index() を答える事なので。 list.index((2, X))の、 Xを変数とするか4を書くかは重要じゃないです。 >>858 でdocumentまで指定しているでしょ? >>879 そんな書き方も出来るんですね。
914 名前:デフォルトの名無しさん [2015/08/24(月) 23:31:55.53 ID:zakjp7f4.net] setで引き算したいんですけど辞書だとTypeError: unhashable type: 'dict'になります どうしたら引き算できますか? a = [ {"age": 10}, {"age": 20}, ] b = [ {"age": 20}, ] print(set(a) - set(b))
915 名前:デフォルトの名無しさん [2015/08/24(月) 23:44:28.66 ID:HMCHLPlU.net] >>881 ハッシュ化可能なオブジェクトにすればできます >>> a = [ ("age", 10), ("age", 20) ] >>> b = [ ("age", 20) ] >>> >>> set(a) - set(b) {('age', 10)}
916 名前:デフォルトの名無しさん mailto:sage [2015/08/24(月) 23:55:01.36 ID:tH5OuHw3.net] >>880 この質問者が>>856 で言っている、「Xの部分は任意」というのは 言い方に語弊があって 「タプルの左要素を指定し、右要素を無視して検索」という意味じゃないかと だから、彼の望んでいる動作はこれだと思う >>> a = [(1, 3), (2, 4), (2, 1), (2, 3), (4, 4)] >>> list(map(lambda x: x[0], a)).index(2) 1
917 名前:デフォルトの名無しさん mailto:sage [2015/08/25
] [ここ壊れてます]
918 名前:(火) 00:31:52.45 ID:XaboOLTF.net mailto: >>> import itertools >>> next(itertools.ifilter(lambda (idx, elem): elem[0]==2, enumerate(a)), (None,))[0] 1 [] [ここ壊れてます]
919 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 00:32:09.48 ID:nd6cZevZ.net] たまにID:CzPwxFH3みたいな変な人沸くけど無理して回答しなくていいのに あとlambdaとかリスト内包使うと初心者は動作が全く理解できなさそう 最初はループと条件分岐主体がいいと思うな ちょっとコード長くなっても可読性高いので
920 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 00:43:31.95 ID:pfa9oRBx.net] > あとlambdaとかリスト内包使うと初心者は動作が全く理解できなさそう これって、初心者を馬鹿にしてるよねw お前、これらを理解するのに どんだけ時間かかったの? 数日も数週間もかかったのか? 単に知らないだけなのに、 初心者と馬鹿にするのはやめてもらいたい。
921 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 00:54:29.05 ID:pfa9oRBx.net] あとさ、知らない文法を使う=可読性が低いという 考え方をやめてくんない? そもそも「知らない文法」というのはだいたいが 可読性を高くするために作られたものなんだからさ。 例えば、球の表面積を求める式は 4πr^2 って言われてすぐに分かるだろう? 可読性高いからな。 でも知識がない小学生にはわからない。 だからといって公式は可読性低いってことになるか? ようするに知らない人が読めないことを「可読性が低い」と 言ってはだめなんだよ。
922 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 01:14:26.12 ID:zenTVy2g.net] 夏休みは白痴家庭で育った知恵遅れのガキが湧くから文章を読解できないのも仕方ない
923 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 07:50:03.80 ID:Po+lTyIJ.net] >>887 >例えば、球の表面積を求める式は >4πr^2 って言われてすぐに分かるだろう? >可読性高いからな。 暗記してるからね よんぱいあーるにじょう でもすぐ分かるけど可読性高いとは言わないよね
924 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 19:23:33.68 ID:pfa9oRBx.net] >>889 > 暗記してるからね 可読性が高いコード = 暗記した知識ですぐに理解できるコード でもあるんだが。 極端な話をすれば、全てを暗記してしまえばどんなものでも 可読性は高いと思える。だけど、それは無理。 だから少ない暗記量で多くに対応できる汎用的な知識というのが重要になる。 だから自社専用ライブラリとかオレオレライブラリはやめろ。言語の構文を覚えろ。 より汎用的なライブラリ、広く知られたライブラリを使えって話にもつながる。 > よんぱいあーるにじょう > でもすぐ分かるけど可読性高いとは言わないよね 当たり前じゃね? 可読性っていうのは そういう風に、書き方の問題でもあるだから。 句読点がない文章が読みにくいのも同じ。 まとめると(構文などを)知っている・暗記しているかどうかで 変わるようなものは可読性とは関係ない。 可読性とは知識が有る人が読みやすいかどうかで判断するもの。 「俺(や他の人)が知らないから可読性が低い」という言い方は間違いなんだよ。
925 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 19:35:06.88 ID:yb6n8Wdy.net] 長い上にどうでもいい
926 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 20:15:07.59 ID:pfa9oRBx.net] どうでもいいなら無視しとけよw
927 名前:デフォルトの名無しさん mailto:sage [2015/08/25(火) 21:11:14.02 ID:T/PhJBrK.net] >>890 > 可読性が高いコード = 暗記した知識ですぐに理解できるコード > でもあるんだが。 > まとめると(構文などを)知っている・暗記しているかどうかで > 変わるようなものは可読性とは関係ない。 なんでやw
928 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 01:51:19.67 ID:pnXHZpep.net] 最近キチガイ長文さん頻出してるね こういう奴たいていの職場に一人は居るよなあ
929 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 03:45:42.10 ID:ftsbhcOc.net] pysideはqt5にいつ対応するのでしょうか? pyqt5のビルド長くて退屈なんです…
930 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 06:22:23.48 ID:nL2sda9W.net] >>894 でも長文ってだけで間違ったことは言ってないよな? いや、なにか言い返すならいいんだけどさ。 長文だー、長文だーって喚いてるだけ。
931 名前:デフォルトの名無しさん mailto:sage [2015/08/2
] [ここ壊れてます]
932 名前:6(水) 07:40:00.49 ID:pnXHZpep.net mailto: あんなのに反論したらまたしつこく5レスぐらい使って書き散らしてくるんだろうし 結局のところ初心者目線で見る想像力が無くて、ただ自分の目線の世界でだらだらと語るしかない典型的ダメおっさんPG つーかもしかしたら ID:CzPwxFH3= ID:pfa9oRBxなのかな 糞の役にも立たない回答を失笑されてカチンと来ちゃったのかね [] [ここ壊れてます]
933 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 07:43:24.37 ID:0fCLXGvh.net] 今はどこのスレも変なの一人二人いるわ C#相談室が一番酷いかな 初心者スレと逆転してる
934 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 09:37:32.17 ID:nL2sda9W.net] お前ら議論しろよw あいつまじめに勉強てるぜwwwとか やってることが不良高校生と同じだぞ。
935 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 10:49:31.71 ID:ElP7lUPJ.net] お前の駄文に議論する価値あんのか? JR新小岩駅に行け そして二度とここに来るな
936 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 11:57:36.30 ID:AtwE5MzM.net] >>897-898 www.lifehacker.jp/2013/03/130305jerks_and_trolls.html www.lifehacker.jp/2011/11/111031ignoretrolls.html info.2ch.net/?curid=2078
937 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 12:29:34.60 ID:sdlDeysq.net] なんやガチなんがおるな(キチガイ的に)
938 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 12:58:53.97 ID:ZW9B1mjA.net] いいから議論しろよ張り倒すぞ
939 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 13:38:26.33 ID:ftsbhcOc.net] それじゃネタ振り みんなguiアプリ作るとき何使ってる? 俺はpysideでqt使ってるんだけど、最近kivyも気になってる
940 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 13:49:01.19 ID:zJ272Tt+.net] >>904 どんなくだらない雑談はいらねえよカス
941 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 15:53:28.27 ID:nL2sda9W.net] >>900 なんでそうかっかしてんの? 俺がいるとお前困るの?w じゃぁいかなーい(笑)
942 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 16:39:45.88 ID:ElP7lUPJ.net] 小学生と変わらんな
943 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 20:52:34.12 ID:nL2sda9W.net] まったくだよ。 まじめに議論するか何も言う気が ないなら黙ってればいいのに、 関係ないことをぶつくさ言うだけ。 なんなんだろうね。
944 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 21:01:17.41 ID:nL2sda9W.net] 誰が最初にけんかを売ったのか 見てみると楽しいね(笑) どこでもやってるんだろうなぁ。
945 名前:デフォルトの名無しさん [2015/08/26(水) 22:15:44.84 ID:ronbLnf1.net] なんだよもう議論しないのかよカス
946 名前:デフォルトの名無しさん mailto:sage [2015/08/26(水) 23:06:30.71 ID:xqVlAmo6.net] >>904 私はHTML+CSS+JavaScriptですね。つまり Webアプリケーションとして実装してます。 PySideはこの6月ぐらいに開発版のバージョンが2.0になって、 QT5対応に必要ないくつかの変更もされたとか。 QT4のサポートが今年の12月で終わるらしいので、 それまでにリリースされるといいですね。
947 名前:デフォルトの名無しさん [2015/08/27(木) 01:55:39.07 ID:uBflNsZt.net] Pythonは30分で挫折したけど、議論に参加していい?
948 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 05:57:56.65 ID:ZEsVN2Rf.net] >>912 挫折するポイントが不明。 そんなのあったっけ?
949 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 08:09:30.23 ID:Sd5tuK/H.net] 議論なんて高尚なことはやってない (この夏にプログラマLV2になった奴が語っちゃってるだけ) 気にせず話せ
950 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 11:01:44.03 ID:kP+pCLjh.net] a = ['てst']ってリストからてstを取り出すにはどうするの a[0]でも例外だし
951 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 12:24:44.89 ID:3PV9QFs8.net] >>915 俺の環境だとa[0]でちゃんと値を取り出せてるよ 例外の内容を正
952 名前:確に書いて再質問すると良いでしょう [] [ここ壊れてます]
953 名前:デフォルトの名無しさん mailto:sage [2015/08/27(木) 12:28:46.11 ID:lwpAfeUc.net] よし、ちゃんと議論してるな やればできるじゃないか
954 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:22:07.50 ID:Idwzm7eN.net] msvcrtのgetch()で未入力状態は何が返ってくるのでしょうか?None、””で反応しなかったので 教えてください
955 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:30:00.43 ID:La0rg2tq.net] 未入力ならブロックするはずだし再現方法が分からん print ord(msvcrt.getch())
956 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:33:31.92 ID:Idwzm7eN.net] 255ですね
957 名前:デフォルトの名無しさん mailto:sage [2015/08/28(金) 22:47:07.77 ID:Idwzm7eN.net] chr(255)でもヒットしないですね
958 名前:デフォルトの名無しさん [2015/08/29(土) 01:25:13.74 ID:kSQTrkNz.net] print(1440778346.4348216 - 1440778346.4348133) これ結果がおかしくなるのはなぜですか? どうやって正しく計算結果を出せますか?
959 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 03:13:58.44 ID:AYSgSWUX.net] 暗算できないなら電卓でもいける
960 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 03:18:18.98 ID:nAsI3V8f.net] エスパーじゃないから、コードだけでなく期待する結果と実際の結果の例がほしい
961 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 08:25:37.47 ID:TDTn35wR.net] あ、GUIでmsvcrt.getch()やると反応がちがうようです。 コンソールで普通に動きました
962 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 11:45:17.59 ID:D9jd66uE.net] >>924 ためせばわかるだろ
963 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 12:32:26.05 ID:TDTn35wR.net] >>919 print ord(msvcrt.getch()) をGUIで実行すると未入力状態で255が返って出力されます。 コンソールでの実行では未入力では何も出力されません この原因はなんでしょうか
964 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 12:33:28.57 ID:TDTn35wR.net] それとGUIの場合、キーを押しても255のままです
965 名前:デフォルトの名無しさん [2015/08/29(土) 12:45:19.79 ID:xMZWPx0m.net] allocconsole
966 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 12:53:30.11 ID:gmx5ty9e.net] windowsでwinmainから起動したプログラムは標準入出力が無効になっているため 標準入出力を使うプログラムはまともに動作しない 928が言っているAllocConsoleで標準入出力を新たにアタッチするか 別プロセスから起動してパイプを与えることで利用可能になる
967 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 13:09:28.88 ID:TDTn35wR.net] ありがとうございます。 C++の話ですか?allocconsoleを糸口に調べてみます。
968 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 13:18:47.00 ID:gmx5ty9e.net] というか、最終的に何がしたいんです? 聞いている限りではmsvcrt.getchを動作させることは過程でしかないんでしょ 最終的に欲しい結果をもっと簡単に得る方法はあるかもしれませんよ 無いかもしれませんが
969 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 13:43:58.41 ID:TDTn35wR.net] KODI(旧XBMC)の拡張機能を作ろうとしています。 拡張機能のミドルウェアとしてpython2が使用できます。 その中でキー入力を得たいので探しています。 文字列よりもホットキー的なもので使います。 linuxの場合はttyを使わないといけないのかもしれません。 まだ調べていません。 実際にKODIで実験しても同じ状態になりましたので、同様の問題があると思われます。 モジュールは読み込めたので使えることは使えると思います。
970 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 17:17:41.41 ID:TDTn35wR.net] orz・・・私の知識ではwinmainプログラムから標準入力を取得する方法がわかりませんでした。
971 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 17:51:47.15 ID:TDTn35wR.net] 検証に支障が出る可能性もあるので難しいことはやめます。 無理に標準入力にこだわる必要もないので
972 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 17:55:11.32 ID:Xtar3XIm.net] >>934 sys.stdin.read() fgets(stdin, ss, 80 - 1); 知らないとか?
973 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 18:09:57.30 ID:vY8VctDz.net] >>936 それはエンター押さなければ ならないのでは?
974 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 18:58:31.84 ID:xMZWPx0m.net] pygame使っとけ
975 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 19:56:04.67 ID:jCAQiE2w.net] あと2週間で3.5がでるけど新機能ってどのページに
976 名前:レってるかおしえて [] [ここ壊れてます]
977 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 21:14:43.47 ID:Ld2l5eLL.net] https://www.python.org/download/releases/3.5.0rc2/
978 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 22:20:34.52 ID:GZ09Elz0.net] python 3.4のurllib.request.urlopenのタイムアウト docs.python.jp/3/library/urllib.request.html#module-urllib.request >任意の引数 timeout は、接続開始などのブロックする操作におけるタイムアウト時間を秒数で指定します (指定されなかった場合、グローバルのデフォルトタイムアウト時間が利用されます) ってありますがこのグローバルのデフォルトタイムアウト時間ってどうやって設定したり取得できますか?
979 名前:デフォルトの名無しさん mailto:sage [2015/08/29(土) 23:04:07.87 ID:ucYXOKxr.net] >>941 もっと低層のタイムアウトを使うようになっとる >ってありますがこのグローバルのデフォルトタイムアウト時間ってどうやって設定したり取得できますか? グローバルのデフォルトタイムアウト時間よりも、 docs.python.jp/3/library/urllib.request.html#urllib.request.urlopen のタイムアウト時間を指定したほうがいいと思う
980 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 06:13:26.33 ID:tJkk5ci/.net] >>940 にあるこれって >Windows users: There are now "web-based" installers for Windows platforms; the >installer will download the needed software components at installation time. インストーラーがインターネットからダウンロードしながら動作するって意味? だとしたら企業内のスタンドアロンPCにインスコできなくなるじゃん
981 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 08:37:26.59 ID:6hA230oM.net] Windows x86-64 executable installer
982 名前:デフォルトの名無しさん [2015/08/30(日) 09:46:10.04 ID:xQDvWigH.net] py2exeで、urllibとurllib2を使ったプログラムをexe化するとフリーズするのだが、これどうすればいいの? 間違ったコードは書いてないし...
983 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 10:36:20.34 ID:sqP4vjJl.net] 使わなければいいと思いますよ 使わなければ動作しないものではありませんから
984 名前:名無しさん [2015/08/30(日) 11:21:30.28 ID:xQDvWigH.net] Pyinstallerでもいいだけどさ、ファイル容量半端なくなるからできたらpy2exeつかいたいけどなぁ
985 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 14:12:17.79 ID:sqP4vjJl.net] そうは言ってもですよ 再現方法すら提示されないのにどうしろと言うんです pythonのバージョンやpy2exeのバージョンも分からない状態で 入手可能な組み合わせ、考え得るあらゆるコード全てで試すんでしょうか? あなたはそれが現実的だと少しでも思いますか? 自分の個人的な見解としては、最小のコードで動作した時点で 間違ったコードを書いていないというあなたの見解が間違っていると判断を下しました pastebin.com/E4FYQpU5 その時点でやる気がなくなりました
986 名前:名無しさん [2015/08/30(日) 14:29:01.69 ID:xQDvWigH.net] すまそ、環境はPython2.7, py2exe v0.6.9, Win10 ちなみにpyinstallerでは問題なく動作 現象としては、コードミスによるエラーじゃなく、起動してimportまでできているみたいだけどurllib.urlretriexeの部分にさしかかると ~は動作が停止しましたと出る感じ #------------------- import urllib urllib.urlretrieve('www.google.com ', 'google.html')
987 名前:名無しさん [2015/08/30(日) 14:32:27.56 ID:xQDvWigH.net] >>949 あ、あと外部モジュールとかはpy2exeくらいしか入れてない、Python27フォルダ内のファイル変更,移動,削除とかも一切してない
988 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 15:53:07.67 ID:sqP4vjJl.net] win7 x64 pro + python 2.7.10 x86 + py2exe 0.6.9で止まらない
989 名前:名無しさん [2015/08/30(日) 15:54:30.72 ID:xQDvWigH.net] まじかw やっぱこのPCが悪いのかー ありがと
990 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 16:09:00.82 ID:tJkk5ci/.net] つーか明らかにWindows10が臭いだろ
991 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 18:24:43.63 ID:xA3qmXia.net] 監視系の処理をしたくて下のように書いたんですが、 空のブロックは許されないらしいので
992 名前:exceptブロックに適当な一文を入れて解決しました でも何か不格好な感じもするので真っ当なやり方がありましたら教えて下さい def monitor(): a = get() try: if a != b: sth() except NameError: dummy = 0 b = a [] [ここ壊れてます]
993 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 18:58:14.67 ID:xA3qmXia.net] b = 0 def monitor(): global b こう書かないとbが消えちゃいますね
994 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 18:59:16.66 ID:gWgp6/6g.net] >>953 Win10 Pro x64、Python2.7.9 x86、py2exe 0.6.9で>>948 のスクリプト試したけどちゃんと動いたよ
995 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 19:02:00.23 ID:T6IhtZv4.net] >>954 シンタックス上何か文を置かないわけにはいかないけど 何もする必要がないときは普通pass文を使うよ docs.python.jp/3/reference/simple_stmts.html#the-pass-statement でもプログラムの設計としてあなたコードが妥当かどうかは 具体的にどういう処理をしているのかがわからないのでなんとも
996 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 19:10:33.80 ID:xA3qmXia.net] >>957 ありがとうございます!本当に何もしないためだけの文があったとは 目的はクリップボードの監視で一つ前のデータを保存したかっただけです
997 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 19:23:28.04 ID:T6IhtZv4.net] >>958 クリップボードが変更されたときだけ保存するってことだね NameErrorはどこで発生する例外で何で無視してもいいの?
998 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 19:29:31.90 ID:xA3qmXia.net] >>959 初回の呼び出しでは保存用変数が空なために if文で評価するときに未定義のエラーが出るのでその対策としてのつもりです 検索したら出てきた方法なので
999 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 20:03:55.34 ID:T6IhtZv4.net] >>960 そういう用途なら例外をpassでスルーする形で妥当かな 空文字かNoneで初期化しとくのじゃダメなんかなともちょっと思ったけど クリップボード周りの実装はしたことないので頓珍漢なこと言ってるかも
1000 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 20:17:13.79 ID:xA3qmXia.net] >>961 あ、うっかりしてました >>955 みたいにグローバル変数を使うなら例外処理もいらなくなりますね ともかく目的が果たせて満足です。親身にご指導いただきありがとうございました!
1001 名前:デフォルトの名無しさん mailto:sage [2015/08/30(日) 23:31:40.78 ID:lCIF9vL7.net] >>956 GNU系は、Win7 Pro x64 を使うのが定番だが、 ほほう、Win10 Pro x64 でも動きますたか?
1002 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 20:35:49.34 ID:bggRqSur.net] foo(arg1, arg2, arg3) という関数を呼び出すときにarg2だけ省略することってできますか?
1003 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 20:43:07.51 ID:1sJZNQ4o.net] できません。 前優先なので、 引数の順序を入れ替えて下さい foo(arg1, arg3, arg2=None) とかにして下さい
1004 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 20:52:04.61 ID:bggRqSur.net] >>965 分かりました。ありがとうございました
1005 名前:デフォルトの名無しさん mailto:sage [2015/08/31(月) 22:53:28.94 ID:5tXTMn4R.net] foo(arg1, arg3=arg3) #どうでもいいけど関数宣言の方はparameterじゃ
1006 名前:デフォルトの名無しさん mailto:sage [2015/09/01(火) 02:21:11.52 ID:sXfua+XA.net] def foo(arg1, **kwargs): arg2 = kwargs.get('arg2', defaultvalue) arg3 = kwargs['arg3']
1007 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 11:21:42.13 ID:BG3f8u9o.net] 最近の大学生ってひでえもんだな detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10149744480 www.python.jp/pipermail/python-ml-jp/2015-September/005973.html www.python.jp/pipermail/python-ml-jp/2015-September/005971.html
1008 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 13:28:52.07 ID:c+e/eL7q.net] 数値で1.00って表示する方法を教えてください
1009 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 14:35:21
] [ここ壊れてます]
1010 名前:.80 ID:twsT9voz.net mailto: 検索する [] [ここ壊れてます]
1011 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 15:36:46.15 ID:KQppFRcC.net] >>970 "{0:.2f}".format(1)
1012 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 19:22:37.06 ID:MJyzegUy.net] print('1.00')
1013 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 20:40:51.42 ID:26WurM6V.net] python3.4の文字の扱いについてご教示願います title = browser.title t = title.encode('utf-8') d = t1.decode('utf-8') print(d) 変数titleにはWebサイトから取得した文字コードS-JISのページタイトル(GMO証券)が入っています。 titleの内容を文字コードUTF-8に設定したターミナル上に出力する際に文字化けしないように S-JISからUTF-8に文字コード変換したいのですが、上記内容のコードでは上手くいきません。 原因がわかる方いましたら、お手数ですがご教示願います。 【補足】 ・ターミナルの文字コード設定をS-JISに変更すれば、文字化けしないで表示することが出来ます。 ・ターミナルはminttyを使用しています 以上
1014 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 20:48:12.64 ID:26WurM6V.net] 申し訳ございません、変数名に誤りがありました。 正しくは以下の通りです。 誤 d = t1.decode('utf-8') 正 d = t.decode('utf-8') 以上
1015 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:11:18.15 ID:Hq1TyWtW.net] titleがshift_jisでエンコードされたbytesと仮定して答えます >>> title = 'GMO証券'.encode('shift_jis') >>> title b'\x82f\x82l\x82n\x8f\xd8\x8c\x94' >>> title.decode('shift_jis') 'GMO証券'
1016 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:19:20.28 ID:twsT9voz.net] >>974 > S-JISからUTF-8に文字コード変換したい >>974 では、Webサイトからページタイトルを取得した時、 Webサイトが送ってくるページタイトルはsjisでしょ? なので、Webサイトから取得する文字列はsjisなんだから、 titleをbytesとして受け取らないといけない。 そして、>>976 のように、 title.decode('sjis') とすれば文字化けせずに、utf-8を表示してくれる。
1017 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:22:02.94 ID:26WurM6V.net] >>976 ご回答有り難うございます。 >titleがshift_jisでエンコードされたbytesと仮定して答えます 申し訳御座いません。データ型の情報が不足しておりました。 type(title)の出力結果は、<class 'str'>です。
1018 名前:デフォルトの名無しさん [2015/09/03(木) 21:31:53.74 ID:ACT9XNdq.net] 馬鹿には無理
1019 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:33:09.40 ID:twsT9voz.net] >>978 うん、だから、 > type(title)の出力結果は、<class 'str'> の時点で誤りだよね。 >>977 をもう一度読んで。特に、 > Webサイトが送ってくるページタイトルはsjisでしょ? を百回音読して。
1020 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 21:44:17.93 ID:26WurM6V.net] >>980 回答有り難うございます。 > Webサイトが送ってくるページタイトルはsjisでしょ? SJISの内容のページタイトルが送られてくるので素直にSJISでエンコード→デコードしてあげれば 文字化けしていない正しい内容が得られるからUTF-8に変換する必要なんて無いって事ですかね? 以下の様にコードを修正して再実行してたところやはり文字化けしてしまいます。 んー、バカなので難しいですな。。 title = browser.title.encode('shift_jis') t = title.decode('shift_jis') print(t)
1021 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 22:02:58.82 ID:twsT9voz.net] >>981 >> んー、バカなので難しいですな。。 に、むかついたから、もう教えてやんない 馬鹿な>>978 には無理だから諦めろ
1022 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 22:19:08.88 ID:Hq1TyWtW.net] >>981 もしかしてWindows版インストーラーで導入したPythonを使ってますか? win版だとminttyの環境はcp932(shift_jis)でないと文字化けします
1023 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 22:59:18.59 ID:pYSbQaf9.net] この一連の流れでわかるあなたの有能度 ・有能 ID:Hq1TyWtW(>>983 ) 質問者固有の環境にまで考えが及ぶエクセレントな人 解決策を提示 ・普通 オレ browser.titleの時点でbeatifulsoup・seleniumみたいなのでHTMLをパースしてるんだろうと察し、 browser.titleがstr型だということが自明なので文字コードの問題
1024 名前:カゃないとすぐわかる だからそれpython以外の問題じゃないの?とまではわかった ただしwindowsが手元に無いし解決策までは提示できないので有能まではいかず ・無能 ID:ACT9XNdq(>>979 ) 説明不要 ・ゴミ ID:twsT9voz(>>982 ) browser.titleがstrを返すということがわからなかっただけでpython周辺ライブラリの知識が皆無 なのに的外れな回答をし続けた挙げ句、ぶち切れて捨て台詞 死んだ方がいいレベル 死ね 早く >>979 みたいなこと言われたらそら初心者は「んー、バカなので難しいですな。。」とか書いちゃうのはしょうがないでしょ pythonろくに知らないし初心者馬鹿にするし、ここの一部の回答者ってホント救えないわ [] [ここ壊れてます]
1025 名前:デフォルトの名無しさん mailto:sage [2015/09/03(木) 23:17:37.02 ID:esByfF4n.net] >>981 まず根本的に、特定文字コードの文書はbytesであり、デコードするとstr(unicode≠UTF)になります browser.titleがstrの時点でそれはデコード済みです、誤った文字コード処理ならエラーになっている事でしょう デコード済みであるstrをエンコードしてbytesにし、同一コードでデコードを行っても何の意味もありません 文字化けの原因はスクリプトではなく、ご自身で書かれている通りターミナルコードとの不一致だと思います Python3の標準出力は文字エンコーディングを持っていてstrをエンコードしてから出力します、これは ttp://docs.python.jp/3.4/library/sys.html#sys.stdout にて解説されていますので、補足や>>983 の通りターミナルコードを合わせるか、PYTHONIOENCODINGでUTF-8にするとか 他、実行中に sys.stdout = io.TextIOWrapper(sys.stdout.detach(),'utf-8') などとして変更する方法もあります
1026 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 01:14:57.15 ID:/zhxqmNp.net] >>983 仰るとおりWindows版インストーラーで導入したPythonを使っています。 cp932で無いと文字化けするのはminttyの仕様だったのですね。納得しました。 >>984 Selenium+BeautifulSoupでスクレイピングを試しているところでした。 >>985 >特定文字コードの文書はbytesであり、デコードするとstr(unicode≠UTF)になります デコード済みの内容をエンコードしてから再びデコードするという意味無い事してたのか・・・。 分かりやすい解説、その他サンプルの提示ありがとうございます!後ほど試してみたいと思います。 文字コードの理解が浅くターミナルが原因だという事まで考えに及びませんでした。 ご回答下さった皆様ありがとうございましたm(__)m
1027 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 04:06:01.59 ID:x7fRT8f0.net] >browser.titleがstrの時点でそれはデコード済みです、誤った文字コード処理ならエラーになっている事でしょう これだな 他の香具師は的外れ >>986 違うよ 考え直せ
1028 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 07:08:04.13 ID:6Gds/3zT.net] くだすれPython(超初心者用) その27 peace.2ch.net/test/read.cgi/tech/1441317912/
1029 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 10:24:20.27 ID:efXmgHpK.net] 乙.py
1030 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 11:30:39.46 ID:efXmgHpK.net] >>978 >type(title)の出力結果は、<class 'str'>です。 ↓を読んだ上で↑の返事はさすがに無いわ >>977 >なので、Webサイトから取得する文字列はsjisなんだから、 >titleをbytesとして受け取らないといけない。
1031 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 17:37:20.44 ID:HNXLj6zd.net] 君ら初心者いじめるの好きだねw
1032 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 19:25:26.13 ID:Z77fhgK9.net] いや、人が回答を書いているのに人の書き込みをろくに読まずに > んー、バカなので難しいですな。。 と書いて、自分の頭が悪いのを盾にして、 人の書き込みを読まないから、さすがに怒ったの 初心者いじめたかったら、そもそも何も教えてない
1033 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 20:27:20.03 ID:F3w9cE+J.net] 初心者以前に人の話を聞かない奴はダメだよね
1034 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 20:44:09.48 ID:EI4y/sV7.net] >>974 で違和感があったがwin版の可能性に気づけなかった >>981 のレスのおかげでWindows版を使ってることを推測できた つまり一連のやりとりは十分な情報を引き出せた
1035 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 21:28:58.95 ID:B3
] [ここ壊れてます]
1036 名前:/17KX+.net mailto: 何で質問者が人の書き込みを読んでないとか人の話を聞いてないってことになってんだよ可哀想に [] [ここ壊れてます]
1037 名前:デフォルトの名無しさん mailto:sage [2015/09/04(金) 21:35:03.89 ID:Z77fhgK9.net] >>995 ちょっと改変するけど、 >>990 の >>977 >なので、Webサイトから取得する文字列はsjisなんだから、 >titleをbytesとして受け取らないといけない。 ↑を読んだ上で↓の返事はさすがに無いわ >>978 >type(title)の出力結果は、<class 'str'>です。
1038 名前:デフォルトの名無しさん [2015/09/04(金) 23:58:33.05 ID:x7fRT8f0.net] >Selenium+BeautifulSoupでスクレイピングを試しているところでした。 そいつが browser.title を str に変換するときに間違ったエンコードでデコードして文字化けしたんだろう 既に壊れたデータをエンコードしても手遅れ 決してターミナルのせいではない
1039 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 01:43:35.09 ID:jZ9K/01b.net] たいてい文字化けの原因は、端末を使うからだよ TeraPad など、日本人の作ったエディタでは、 簡単に文字コードが変更できるので、 文字化けは起こらない 端末などは外人が作っているため、 日本語などはほったらかし
1040 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 02:12:09.52 ID:ZKXW4+L0.net] 超初心者スレでこの対応は辛辣だよなあ 話を聞いていないのではなく、理解できていないだけだろう sjisだからbytesとして受け取らないといけないって説明も 初心者向けじゃないと思うし
1041 名前:デフォルトの名無しさん [2015/09/05(土) 02:27:54.77 ID:xb8mS1yp.net] 次スレに書けよ
1042 名前:デフォルトの名無しさん mailto:sage [2015/09/05(土) 02:29:02.99 ID:jZwyv5P2.net] 1000
1043 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。
1044 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています