くだすれPython(超初心者用) その25©2ch.net

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

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

前スレ
くだすれPython(超初心者用) その24
http://peace.2ch.net/test/read.cgi/tech/1407008551/
関連スレ
Pythonのお勉強 Part50
http://peace.2ch.net/test/read.cgi/tech/1413474092/

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

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

◆まとめwiki
ttp://python.rdy.jp/
2デフォルトの名無しさん:2014/11/05(水) 16:40:34.10 ID:Awvl8HhM
|....,,__
|_::;; ~"'ヽ
| //^''ヽ,,)
|  i⌒"
| ∀`) < 誰もいない きのこるならいまのうち
|⊂
| ノ
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
      |( ´∀`) < きのこ のこーのこ げんきのこ ♪
      |(ノ   |つ
      |     |
     ⊂ _ ノ
       ""U
      _,,,......,,__
  /_~ ,,...:::_::;; ~"'ヽ
 (,, '"ヾヽ  i|i //^''ヽ,,)
   ^ :'⌒i    i⌒"
     (´∀` )| < エリンギ まいたけ ブナシメジ ♪
    ⊂|  (ノ |
      |     |
      ヽ _ ⊃
      .U""
|
| ミ
| ミ  サッ!
| ミ
|
3天麩羅ここまで:2014/11/05(水) 16:41:12.77 ID:Awvl8HhM
   ┌─┐
   │●│
   └─┤
   _   ∩
  ( ゚∀゚)彡
┌─┬⊂彡
│●│ おっぱい!おっぱい!
└─┘
4デフォルトの名無しさん:2014/11/05(水) 16:54:56.84 ID:FFOVrxV7
               ノ      ゚.ノヽ  , /}      ...
            ,,イ`"     、-'   `;_' '    ..::::::::::::::...
   ,-、  _.._   (        (,(~ヽ'~     ..:::::::::::::::::::::::
 )'~  レー'  〉   ヽ       i`'}       .:::::::::::::::::::::::
 ~つ     '-ー、  i       | i'     ...:::::::::::::::::::::::
 /       <  /     。/   !  ......:::::::::::::::::::::::::    これは>>1乙じゃなくて
/         ~^´     /},-'' ,●::::::::::::::::::::::::::::::::::::
i、        ,i' _,,...,-‐-、/    i  ::::::::  .:::::::::::::
..ゝ        <,,-==、   ,,-,/      .:::::::::::            放射能がうんたら
 )       {~''~>`v-''`ー゙`'~       ..:::::::::                          ........::.
 {        レ_ノ            ..::::::::.                         ......:::::::::
ノ         ''           ..:::::::                        ...::.:...:::::::::
                     .:::::::::                     ...:......:::::::::::: .
                    .:::::::::::.        .....      ..  ..::::::::::::::::::::::::   :::.
                    ::::::::::::::::.::::::....:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::.. ::  ::..
                    .:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :::    ::.
                    ::::::::::::::::: :::::::::::::::::::::::::::::: :::::
                          .::    ::.  :::
5デフォルトの名無しさん:2014/11/06(木) 09:56:27.31 ID:Jg48RgBo
6デフォルトの名無しさん:2014/11/06(木) 18:01:40.45 ID:ntLQp+bs
おつ
7デフォルトの名無しさん:2014/11/07(金) 07:53:53.16 ID:u+2F0oww
readやreadlinesに漠然とした恐怖感を感じることが第一歩だ。
gcの動きは?セキュリティホールは?スクリプト言語も実は楽じゃない。
8デフォルトの名無しさん:2014/11/07(金) 22:17:14.18 ID:0uoUgHvR
そんなん気にする奴はスクリプト言語使わない
9デフォルトの名無しさん:2014/11/09(日) 18:59:46.36 ID:kpf0ITqg
django一応チュートリアルだけ翻訳したけどこれ公開していいのかよくわかんないからメールで問い合わせたけど返信こねぇぞ
10デフォルトの名無しさん:2014/11/09(日) 19:18:50.90 ID:SLONFsRa
>>9
プルリク送ればいいんじゃね?
11デフォルトの名無しさん:2014/11/09(日) 19:59:55.69 ID:kpf0ITqg
おれがメール出したのは本家のほうだぜ
やる気のない日本人のグループじゃない
12デフォルトの名無しさん:2014/11/09(日) 20:04:26.51 ID:RjxQ6mlt
チュートリアルのライセンスにすら目が行ってないのに本当に翻訳できてんですか?あ?
13デフォルトの名無しさん:2014/11/09(日) 20:08:54.75 ID:kpf0ITqg
チュートリアル専用にライセンスなんてあるの?ねえねえどこ?
おれはhttps://github.com/django/django/blob/master/LICENSEしかしらないよ
これで勝手に翻訳公開しても言いわけ?ねえねえねえ?
14デフォルトの名無しさん:2014/11/09(日) 20:10:01.92 ID:RjxQ6mlt
目くらはすっこんでな
もしくは電車に飛び込んでろ
15デフォルトの名無しさん:2014/11/09(日) 20:11:00.30 ID:kpf0ITqg
(^_-)-☆
16デフォルトの名無しさん:2014/11/09(日) 20:13:48.84 ID:GNe3oHbG
とりあえず無断で公開しとけば?
問題があるなら文句が来るでしょう
もっとも、本家が目くじら立てる理由はないと思うが
17デフォルトの名無しさん:2014/11/09(日) 20:16:18.63 ID:GNe3oHbG
あ、これがやる気のない日本人のグループを煽るdisるための口実で
実際はアウトプットするようなものが何もなくても私は責めないですよ
安心してね
18デフォルトの名無しさん:2014/11/09(日) 20:30:32.09 ID:RjxQ6mlt
なんだかんだ理由をつけて最終的には逃走するからよく見とけ
19デフォルトの名無しさん:2014/11/09(日) 20:49:53.37 ID:Hbypsl7w
id:RjxQ6mlt お前もういいよ
20デフォルトの名無しさん:2014/11/09(日) 20:57:17.53 ID:zM7Eaqbs
ドットインストールでPythonをひと通り勉強したのですが今この段階でどのようなアプリがつくれるのですか?
応用もふくめてでお願いします。
21デフォルトの名無しさん:2014/11/09(日) 21:13:32.97 ID:T8NGFKFe
あとは時間さえかければあなたが想像できるすべてのソフトが作れます
22デフォルトの名無しさん:2014/11/09(日) 22:04:45.32 ID:ZPwU2EoE
三角コーンの上に白いまきまきしたの乗せたやつだな>>ソフト
23デフォルトの名無しさん:2014/11/09(日) 23:45:55.04 ID:RjxQ6mlt
>>19
何がもういいんだって?
何様だお前は。ウンコの国の国王陛下か何か?
24デフォルトの名無しさん:2014/11/09(日) 23:50:58.47 ID:GQTMLQvA
RjxQ6mltはやる気のない日本人グループの一員なのかい
25デフォルトの名無しさん:2014/11/13(木) 11:12:50.58 ID:dS9drdDA
26デフォルトの名無しさん:2014/11/13(木) 14:32:30.78 ID:LQqLt9Sh
人生はゼロから生まれゼロに戻るのだから、失敗しても何も損はしない
(英コント集団モンティ・パイソンから)
※いやホント、生まれてくるときは素ッ裸だけど、死ぬときは少なくともパンツははいてるからね(笑)。
どれだけ失敗しても生まれたときよりマイナスになるこたぁない。気楽にいこう。
27デフォルトの名無しさん:2014/11/13(木) 14:55:37.85 ID:1IhIdMPE
>>11
返事来た?公開まだw?
28デフォルトの名無しさん:2014/11/13(木) 20:24:34.70 ID:Bexk6xV/
公式ドキュメントの和訳がお粗末に尽きる
プログラミングの知識のない人が原文をそのまんま訳してる感じ
日本のPython技術者はこれを見て育つのだから、もっとしっかりやってもらいたい
29デフォルトの名無しさん:2014/11/14(金) 02:41:17.45 ID:gEKLwuxR
>>1 のテンプレにあえて ttp://www.python.jp/ 入れてなかったのに
復活させた馬鹿の罪は重い
30デフォルトの名無しさん:2014/11/14(金) 02:51:55.43 ID:O4zm7PQU
英語は読解の努力で済むけど
日本語の方は解読から始めないといけなくて
結局原文を読むことになることなったりする
31デフォルトの名無しさん:2014/11/14(金) 03:02:03.32 ID:fyhc9+Ta
翻訳のできが悪いというならあなたがやってもいいんですよ?
32デフォルトの名無しさん:2014/11/14(金) 03:04:42.46 ID:gEKLwuxR
原文見て判る人
→翻訳の悪さに気付いても原文見て済ますから自分で翻訳しようとは思わない


原文が判らない人
→翻訳の悪さに気付かない&気付いてもなにも出来ない



だれも翻訳の修正をしない
33デフォルトの名無しさん:2014/11/14(金) 03:07:52.91 ID:fyhc9+Ta
>>32
自分がいままでこの手の翻訳プロジェクトに参加したことがなのをさらすカキコですね。
34デフォルトの名無しさん:2014/11/14(金) 03:22:17.38 ID:gEKLwuxR
お金をもらう人
→誰が読もうが読まなかろうが成果物納品して金だけもらう
35デフォルトの名無しさん:2014/11/14(金) 07:37:58.22 ID:wpiv66DF
病んでれ
36デフォルトの名無しさん:2014/11/14(金) 07:49:08.66 ID:jAGOFrlY
>>32
その例だと別に誰も悪くはないよね
誰かを悪だと言いたいのかもしれないが
例えばDj…
37デフォルトの名無しさん:2014/11/14(金) 11:22:51.71 ID:G/qLyVZA
DJ KAORI?
38デフォルトの名無しさん:2014/11/14(金) 13:30:42.89 ID:rxnPKvOr
文法を覚えたところで、それはプログラミングの前衛知識のひとつを得たにすぎない
日本語の文法覚えたことと、日本語で面白い本を書けることは別だよね
プログラミングの奥深さはその先にあるんだよ
まあ仕事でやってる人でも、特にドカタ的な人は理解してないことが多いけどね
39デフォルトの名無しさん:2014/11/14(金) 14:29:39.90 ID:5Xz45IZb
文法覚えるだけで前衛的な知識が得られるなんて、すげぇじゃんwww
40デフォルトの名無しさん:2014/11/14(金) 15:03:56.14 ID:PoP9COyz
というか前衛じゃなくて前衛だと思うんだ(小声
41デフォルトの名無しさん:2014/11/14(金) 15:05:02.66 ID:PoP9COyz
前提って言いたかったんだ・・・
42デフォルトの名無しさん:2014/11/14(金) 15:14:02.87 ID:cYY7mpaQ
盾役カモーン
43デフォルトの名無しさん:2014/11/15(土) 00:38:03.71 ID:56omsSeh
もうこの業界離れたんだけど、今でも派遣と言う名の偽装請負連中は
ifとforが書ければ言語はマスターしたと見做すみたいな風潮なん?
44デフォルトの名無しさん:2014/11/15(土) 04:23:32.76 ID:L1YjzjuF
そんなもんじゃねえの
書けない奴すら未だにセット割とかでねじ込んで来るという
45デフォルトの名無しさん:2014/11/15(土) 04:31:04.40 ID:2FIfZBqH
セット割!そういうのもあるのか!
46デフォルトの名無しさん:2014/11/15(土) 04:34:23.14 ID:L1YjzjuF
3人だとお安いけど1人は足引っ張るよって感じ
47デフォルトの名無しさん:2014/11/15(土) 08:15:47.24 ID:9oSuAzwe
人月で発注するからそうなる
48デフォルトの名無しさん:2014/11/16(日) 08:27:33.56 ID:lR2mulvd
日本語が出来てもプロとして仕事が出来るってことじゃないしね
俺、プログラム言語(Pythonとか)はすごく出来る。
そうか、じゃ車のエンジン制御のプログラム(プロとしての仕事)やってって言われても
車のエンジン制御のしかたさっぱり分からん><って良くあるしね
49デフォルトの名無しさん:2014/11/17(月) 19:56:20.02 ID:dw5uN+ZK
パイパイ
50デフォルトの名無しさん:2014/11/18(火) 18:52:11.63 ID:Eijilsh0
import __main__
ってどゆ意味ですか
51デフォルトの名無しさん:2014/11/18(火) 23:48:09.74 ID:G2suecvD
str.isalnum()が日本語も通してしまうのですが、英数字のみ通すにはどうしたらいいでしょうか
52デフォルトの名無しさん:2014/11/19(水) 00:17:06.82 ID:qPp6+7V/
> 'あ'.isalnum()
True
> 'あ'.encode('sjis').isalnum()
False
> '1'.encode('sjis').isalnum()
True

...とかはないなぁ、もっと違うやり方があるよね...
53デフォルトの名無しさん:2014/11/19(水) 06:24:02.86 ID:Ec+tJ+no
c.isalnum() and ord(c) < 128
全角のあるなむを含む方法は分かりません
54デフォルトの名無しさん:2014/11/19(水) 11:14:52.25 ID:zPQMYzMI
日本語でおk
55デフォルトの名無しさん:2014/11/19(水) 11:47:34.09 ID:Fl85R1m1
>>51
正規表現を使うのが明示的で無難だと思う

>>> import re
>>> re.match(r'^[0-9A-Za-z]+$', 'あ')
56デフォルトの名無しさん:2014/11/19(水) 12:01:30.79 ID:claDfeAr
>>> import unicodedata
>>> unicodedata.category(u'あ')
'Lo'
>>> unicodedata.category(u'A')
'Lu'
>>> unicodedata.category(u'a')
'Ll'
>>> unicodedata.category(u'0')
'Nd'
>>> unicodedata.category(u'+')
'Sm'
>>> unicodedata.category(u'A')
'Lu'
>>> unicodedata.category(u'ア')
'Lo'
>>> unicodedata.category(u'亜')
'Lo'
57デフォルトの名無しさん:2014/11/19(水) 12:20:31.01 ID:akX+E6PE
>>53
SJISの2バイト目を甘く見すぎ
58デフォルトの名無しさん:2014/11/19(水) 17:55:24.86 ID:JZ2oYyd9
59デフォルトの名無しさん:2014/11/19(水) 21:58:52.42 ID:3pB6QtrL
if __name__ == "__main__"ってどういうときに使うものですか?

[b.py]
def aaa():
print(1)

[a.py]
import b
b.aaa()

これで十分な気がするんですが
60デフォルトの名無しさん:2014/11/19(水) 22:21:53.16 ID:iy1M9qAa
>>59
ライブラリとしてもトップレベルのスクリプトとしても
使えるようにしたいときにそうする
SimpleHTTPServer あたり見てみるといい
61デフォルトの名無しさん:2014/11/20(木) 11:29:06.22 ID:eVYyucNI
クラスやライブラリ関数を定義しておいて、mainブロックにはそのテストコードを書くとか
62デフォルトの名無しさん:2014/11/20(木) 11:43:26.71 ID:Tt8JtOUX
メインの起動スクリプトに関数とからクラスを書くことがおかしい
そういうのは外部ファイルにまとめるべきだ
63デフォルトの名無しさん:2014/11/20(木) 11:57:12.20 ID:EmAWw9wC
main() と __main__ は無関係だけど
書き捨てスクリプトでも
main() や __main__ は書く習慣にしといた方が無難
64デフォルトの名無しさん:2014/11/20(木) 12:56:04.22 ID:jwSFt3Jc
ターミナルでコマンドとして使えるようなものを作りたくて、PyPIにあるソフトのソースをみてみたりしたのだが、構造というか設計の意味?がまだ自分は理解できません
例えばmain.pyの役割とか

$ python pugyaaa.py というのではなく
$ pugyaa -option_x hogefile というやり方で動くプログラムはどうやって作ればいいのかということなんですが
良いサイト、知っておくべき事柄などがあればググる言葉でいいので教えてください
65デフォルトの名無しさん:2014/11/20(木) 13:27:01.58 ID:6q5qt+KO
pythonらしいプログラムの構造が分かりません
C言語で書いたような感じになってしまいます
局所的なものでは綺麗なforの書き方とかはググって出たのですが
もっと全体的な設計?というのが知りたいです
66デフォルトの名無しさん:2014/11/20(木) 13:46:32.82 ID:EmAWw9wC
> $ pugyaa -option_x hogefile というやり方

$ pugyaa.py -option_x hogefile
でも良ければ
pugyaa.py の先頭に shebang を書く

shebang 書いてあれば
$ pugyaa
でも逝けるとは思うが紛らわしいかも知れない

オプションやコマンドラインの使い方は python より linux/bsd/unix の板で聞いた方が良い
67デフォルトの名無しさん:2014/11/20(木) 17:03:21.21 ID:jwSFt3Jc
>>66
質問の仕方が不味かったのにレスをもらって気がつきました
自分がやりたいのは、例えばunittestのように
$ unittest -c hoge.py
と呼び出しができるプログラムのことです(オプションは適当)
pugyaa.pyという単独のスクリプトではなくpugyaaというパッケージ?のプログラムを作成して、それをターミナルで呼び出せるものにしたいということです
$ pugyaa_command -option_x hogefile と書くべきでした
68デフォルトの名無しさん:2014/11/20(木) 17:06:40.35 ID:7mTde6YP
後出しアウト
69デフォルトの名無しさん:2014/11/20(木) 17:08:51.73 ID:kM/REAEx
>>67
そういうふうにできるパッケージのソースコードを読むところから始めろよ
70デフォルトの名無しさん:2014/11/21(金) 21:29:10.12 ID:emLR1Bt2
文字列を正規表現で普通の文字列として扱われるようにエスケープしたいのですが、そのようなライブラリは有りますか?
71デフォルトの名無しさん:2014/11/21(金) 21:43:07.20 ID:J6SMxvGo
re.escape
72デフォルトの名無しさん:2014/11/21(金) 22:19:56.43 ID:emLR1Bt2
>>71
それだと日本語までエスケープされてしまいます。
*等の正規表現に使われる文字だけエスケープする方法はありませんか?
73デフォルトの名無しさん:2014/11/21(金) 22:23:07.27 ID:Z4gL4MHq
ええやんけ別に
74デフォルトの名無しさん:2014/11/21(金) 22:41:06.57 ID:zMe5L6ad
どういうふうにしたいのかサンプルをいくつか書いて
7570:2014/11/23(日) 16:17:12.18 ID:Pt0iPmF5
解決しました
76デフォルトの名無しさん:2014/11/23(日) 20:26:38.42 ID:yEbURLmy
「Python文法詳解」って本ちょっと気になっててアマゾンレビュー付くの待ってたんだけど
付いた評価が2ww あーこりゃ買わないかなぁ・・ もちょっと情報出てるかなとググッてみたら
正誤表が出てやんの、んで正誤表見てみたら間違いだらけwwwwww
しかも舐めてんのかっていうくらいのヒドイ内容の間違いだらけwww

もう買う買わない以前に本として終わってるわ、こんな本出してる著者終わったなって思ったね
なんかさPython関連の本ってクオリティ低いの多くね? ウンコが本書いてんじゃねーよw
77デフォルトの名無しさん:2014/11/23(日) 20:29:42.60 ID:E0tXkl0n
公式見ればいいから
そういう本を買う必要が・・・
買って価値があると思ったのはエキスパートパイソンぐらい
78デフォルトの名無しさん:2014/11/23(日) 20:45:24.94 ID:QgGlHFFa
>>76
ひどいレビューだった。著者かわいそす

正誤表、正と誤で入力が同一なのに出力が違うのはなんでだろう
プロンプトの入出力をコピペしたのではなく
それっぽく手書きしたんじゃないかと勘ぐっちゃうな
79デフォルトの名無しさん:2014/11/23(日) 21:53:19.92 ID:N3XI4gdr
>>78
たぶん手打ちテキストを画面っぽく印刷してるんだと思う
プロンプト画面を取り込むのってそんなに難しいんだっけ?

しかしホント舐めてるよね
技術本って高価なうえにそれを信じて仕事に使う人も多いわけで
普通の本よりも誤植には注意して作ってもらわないと困るのに
最終原稿をいっぺん著者側で通して読み直すとか、サンプルコードが
画面通りの結果になるか試してみるとか、それすらしないんだからな
編集者たちの顔が見てみたいよ
80デフォルトの名無しさん:2014/11/23(日) 22:39:05.56 ID:u5wQpN3r
ちょっと毛色違うけど
WordPressとかのガバガバな設定例とか載せてる本はホント死ねよ
くびり殺されろ
81デフォルトの名無しさん:2014/11/24(月) 00:12:17.03 ID:NFvfX/bb
python見たいな動的型付け言語ってリファレンス読みにくくね?
みんなどうしてんの?
82デフォルトの名無しさん:2014/11/24(月) 06:10:59.07 ID:eOmEBZPc
>技術本って高価なうえに
(略)
>サンプルコードが画面通りの結果になるか試してみるとか、それすらしないんだからな

高価なのは理由があるのに
これじゃ詐欺だね
83デフォルトの名無しさん:2014/11/24(月) 10:20:24.44 ID:fpTO9n+F
較正の回数を減らして値段を下げている面もあるし
別本だけど、本の値段が1500円上がったわ
84デフォルトの名無しさん:2014/11/24(月) 10:23:28.17 ID:gIu/y3Pi
x 較正
o 校正
85デフォルトの名無しさん:2014/11/24(月) 10:46:07.76 ID:Rjvgb28d
パーフェクトPythonは、3千円以上するのにコードミスを含む誤植が100箇所以上あって
未だに出版社から正誤表が出ていないというひどい本

これでパーフェクトを名乗って恥ずかしくないんだろうかと著者紹介を見ると、
Pythonサポーターズと称する様々な職業の人の寄せ集めで、要は出版というものに
プライドを持っていない、バイト感覚の人たちなんだろうと推測する
だからこんなお粗末なことをして平気でいられるんだろう
誤植一箇所につき10円返金しろと言いたい
86デフォルトの名無しさん:2014/11/24(月) 11:23:11.38 ID:fpTO9n+F
>>84
oh...

>>85
重版か改訂かからないと修正もままならぬものよな
だが、そこはビジネスチャンスでもあるので
我々はうまいことやっているわけです
87デフォルトの名無しさん:2014/11/24(月) 11:35:25.73 ID:xDPsuXis
俺は○○サポーターズとユーザー会の本は買わないとお星様に誓った
88デフォルトの名無しさん:2014/11/24(月) 12:48:05.69 ID:JyotAVq+
正解
89デフォルトの名無しさん:2014/11/24(月) 13:20:55.47 ID:2tzTlBla
悲しいわね・・・
90デフォルトの名無しさん:2014/11/24(月) 13:24:21.42 ID:fhSaIGeE
オライリーしかないと思うけど、初心者はどのオライリー買えばいいの?
91デフォルトの名無しさん:2014/11/24(月) 14:45:10.67 ID:TKxlIcb/
>>85
10年以上前に買った同じ出版社の access vba の本も寄せ集めだった
それは承知の上だったが、HPからDLしたソースの番号がでたらめで、どの
ファイルがどのサンプルなのか、いちいち開いてみないと分からないのには呆れた
メールしたけど返事も無く、訂正もされなかった
92デフォルトの名無しさん:2014/11/24(月) 23:08:21.66 ID:vrf5+UU7
>>76
目次がショボいと思いました。
技術評論社のポケットリファレンスみたいな使い道の本だと思うのでもっと目次を充実させてサイズをコンパクトにして欲しかったです。

パーフェクトPythonは広く浅くな本なので中途半端に不便さを感じました。
93デフォルトの名無しさん:2014/11/25(火) 10:48:39.01 ID:gsquWzs9
>>90
初心者は公式ドキュメント読めよ
オライリーの日本語訳って未だにPython2しかなかった希ガス
94デフォルトの名無しさん:2014/11/25(火) 21:40:46.47 ID:WbGS6JfL
Linux環境でPythonってどんなときに使ってますか?
シェルコマンドを駆使する場合、シェルスクリプト使ったほうが簡単に出来るのでどういう用途で使われてるのか知りたかった限りです
95デフォルトの名無しさん:2014/11/25(火) 21:50:23.83 ID:8ektkpGa
Linux環境でPythonプログラミングするときに使ってますけど
96デフォルトの名無しさん:2014/11/25(火) 22:07:04.47 ID:OAu3+orl
>>95
ありがとうございます!
非常に助かりました!
97デフォルトの名無しさん:2014/11/25(火) 22:17:44.19 ID:C5WEAxvj
いえいえ!どういたしまして!
98デフォルトの名無しさん:2014/11/25(火) 22:36:43.77 ID:USvtmY11
おい
99デフォルトの名無しさん:2014/11/25(火) 22:36:44.24 ID:rjfdVhTp
>>93
Pythonチュートリアル第2版はPython3
100デフォルトの名無しさん:2014/11/25(火) 22:43:47.84 ID:w3TN5Y2v
マジレスするとオブジェクト指向
101デフォルトの名無しさん:2014/11/26(水) 01:32:58.87 ID:9zht01Nx
Linuxだと、GUIの小物ツールとか結構Python製だったりするよ
102デフォルトの名無しさん:2014/11/26(水) 04:18:04.68 ID:xLpFKyQi
ソフトバンクの変なロボットはpythonで動かせるとか
海の向こうでは何でもpythonなんですかね。日本でも今後需要増えるんでしょうか?
103デフォルトの名無しさん:2014/11/26(水) 08:13:16.30 ID:vFf7Ls5f
増えないと思いますよ
だって君、英語読めないでしょう?
104デフォルトの名無しさん:2014/11/26(水) 09:42:58.11 ID:nz5Is923
PySideを触り始めたんですが、keyPressEventの処理がうまくいきません。
class Window(QtGui.QDialog):
(略)
_def keyPressEvent(self, event):
__if event.key() == QtCore.Qt.Key_0:
___self.close()

上記のコードで、QTextEditを配置しその上にフォーカスがあると"0"を押してもQTextEditに0が入力されるだけで親にイベントが伝搬していないようです。
今のところkeyPressEventを再定義したQTextEditの継承クラスをわざわざ定義していますが、特定のキーイベントを親に流したいだけなので冗長に思います。
特定のキーイベントだけ(あるいは全部)親に渡すような簡単な方法があれば教えてください。
105デフォルトの名無しさん:2014/11/26(水) 09:58:30.16 ID:lSnM4E9y
qtextedit にフォーカスがあるか親フレームにフォーカスがあるか
qtextedit から親にプレスイベントをemitすれば良い
106デフォルトの名無しさん:2014/11/26(水) 10:18:50.29 ID:tFYAbi6x
104<<githubでコード検索すれば答えはあるでしょう
107デフォルトの名無しさん:2014/11/26(水) 11:42:48.43 ID:nz5Is923
>>105
どう調べればいいものか困っていたのでヒント助かります。親ウィンドウの定義内で
(__init__内)
self.edit = QtGui.QTextEdit()
self.edit.keyPressEvent = self.keyPressEvent
(略)
def keyPressEvent(self,event):
_this_widget = self.focusWidget()
_if isinstance(this_widget, QtGui.QTextEdit):
__print('unko')
__QtGui.QTextEdit.keyPressEvent(this_widget, event)
でとりあえずQTextEdit内の入力を妨げることなくキーイベントに追加処理をあてられるようになりました。
やり方がアレな気がするので他の人のコードを見ながら改良してみます。ありがとうございました。
>>106
右も左もさっぱりなので時間みながら地道にgithub覗くことにします。
108デフォルトの名無しさん:2014/11/27(木) 11:39:19.19 ID:hJm0HB30
TATSUO IKURA の写真がかわったぞ
109デフォルトの名無しさん:2014/11/27(木) 11:42:08.95 ID:ZoBqTrPg
脂っこさがなくなったな
無機的になったとも言うw
110デフォルトの名無しさん:2014/11/30(日) 03:56:42.59 ID:b4nmdqGs
判ってない人の判ってないブログ
111デフォルトの名無しさん:2014/11/30(日) 04:10:16.40 ID:CR+pCvU9
あの内容のなさで検索上位に居続けるのは驚嘆すべきSEO技術だと思うわ
112デフォルトの名無しさん:2014/11/30(日) 12:29:01.21 ID:tTeiN462
a_list= None
b_list= list()
として、
if a_list: 又は if b_list: だと、a_list も b_list も Falseが返ります。
b_list だけ Trueを返すような判定法で、おすすめは何でしょうか。
113デフォルトの名無しさん:2014/11/30(日) 12:36:28.58 ID:5iCvS2Es
>>112

b_list is not None

isinstance(b_list, list)
114112:2014/11/30(日) 13:17:40.35 ID:tTeiN462
ありがとうございます。
False と Noneの違いが、よく分かっていませんでした。
115デフォルトの名無しさん:2014/11/30(日) 13:56:20.48 ID:Q44JDfrW
not b_list is None
116デフォルトの名無しさん:2014/12/02(火) 20:57:31.65 ID:hSje/okN
複数の引数を取る関数にmapを適用する方法があったら教えて
117デフォルトの名無しさん:2014/12/02(火) 21:23:42.55 ID:M58WL9A2
import itertools

def add(a, b):
return a + b

L = [1, 2, 3, 4, 5]
print map(add, L, itertools.repeat(3, times=len(L)))
print map(add, L, [3] * len(L))
print map(lambda a: add(a, 3), L)

こういうこと?
118デフォルトの名無しさん:2014/12/03(水) 07:47:26.04 ID:/RLfm3vM
>>117
そうです
引数をどうやって与えるのかわからなくて
示していただいたコードで考えてみます
119デフォルトの名無しさん:2014/12/03(水) 08:06:51.70 ID:MpOxswJ4
>>> map(lambda a, b: a + b, "abc", "def")
['ad', 'be', 'cf']
>>> map(lambda a, b, c: a + b + c, "abc", "def", "ghi")
['adg', 'beh', 'cfi']

正直あんまり使わない
120デフォルトの名無しさん:2014/12/03(水) 15:57:22.96 ID:YLIoypJg
pip installをしてみても
raise ValueError(str(list(result.keys())))
ValueError['path']
とでるだけで出来ないのですがどうすれば良いでしょうか
python3.4.2で今朝インストールしたばかりです
121デフォルトの名無しさん:2014/12/03(水) 19:18:39.57 ID:CAxPUjtZ
釣りかな?
122デフォルトの名無しさん:2014/12/04(木) 17:05:09.33 ID:ifAZ7vuT
formatの感嘆符のあとのs,rはなんですか。
strかreprらしいのですがよくわかりません。

List = ["aa","bb","cc"]

'{0},{1},{2!r}'.format(*List)
"aa,bb,'cc'"
'{0},{1},{2!s}'.format(*List)
"aa,bb,cc"
'{0},{1},{2}'.format(*List)
"aa,bb,cc"
123デフォルトの名無しさん:2014/12/04(木) 17:10:47.43 ID:UwyMS5sV
釣りかな?
124デフォルトの名無しさん:2014/12/07(日) 16:26:57.55 ID:JyUOAjZz
apacheでmultipart/form-data形式でファイルを送信されたとき、
cgiモジュールは標準入力の内容を一度全部メモリ上に読み込んでいるんでしょうか?
もしそうなら、最初の要素から順に読み込ませてメモリ使用量を抑える方法はありますか?
125デフォルトの名無しさん:2014/12/07(日) 16:45:32.79 ID:GOj11zUj
ソースを読む限りは、必要になった分だけ順次read/readlineしているようだよ
Python2.7.8の場合、cgi.pyの230行目くらいにある
126デフォルトの名無しさん:2014/12/07(日) 16:46:50.73 ID:GOj11zUj
ものすげー前代未聞なくらい空目ったぞ
今のなし
127デフォルトの名無しさん:2014/12/08(月) 18:09:03.96 ID:d6bXZb5C
2.7で
print("あ")
print(["あ"])

2番目、なんでアスキーコードに変換されるんですか
128デフォルトの名無しさん:2014/12/08(月) 19:04:12.44 ID:KCPal8fz
>>> print(str([u'あ']).decode('unicode-escape'))
[u'あ']
>>> print(str(['あ']).decode('string-escape'))
['あ']

http://python.rdy.jp/wiki.cgi?page=japaneseCharset
129デフォルトの名無しさん:2014/12/08(月) 20:21:46.23 ID:uo19JAd8
pythonって初見だと
日本語の扱いで苦労しまくるよなあ
130デフォルトの名無しさん:2014/12/08(月) 21:18:01.42 ID:3j8XWElx
むしろPythonに限らず日本語とかうまく扱えるはずないじゃん!と思ってとりかかるべき
131デフォルトの名無しさん:2014/12/08(月) 21:44:22.73 ID:bX3RsKhP
日本語がどうのこうの言ってんの2までじゃないの
132デフォルトの名無しさん:2014/12/08(月) 22:29:47.15 ID:XOsA95NW
まだ2.7が主流ですし
133デフォルトの名無しさん:2014/12/09(火) 01:18:13.63 ID:mUiJkLsL
と、ロートルが申しております。
134デフォルトの名無しさん:2014/12/10(水) 09:51:38.10 ID:kUP0yqqm
>>129
勝手によきにはからって後になって忘れた頃に文字化けに悩まされるより
最初から例外出してくれた方がありがたいという思想だということに気付けばあとは氷解
135デフォルトの名無しさん:2014/12/10(水) 10:35:42.16 ID:McT8v6hQ
2.7で日本語扱う場合はu'あ'みたいにuをつけとけばいいってことで合ってますか?
136デフォルトの名無しさん:2014/12/10(水) 13:52:43.52 ID:evPa2cl4
それは必要条件であって充分条件ではないよ

あと
a = u'あ'
の代わりに
b = 'あ'.decode('ファイルを保存したときのエンコード')
と書いてもいける
137デフォルトの名無しさん:2014/12/10(水) 14:34:29.37 ID:ChUOhoY6
日本語とかを含む文字列リテラルに u つけないのは
sjisと0x5cみたいなのが気になるからあんまりよくないはず
138デフォルトの名無しさん:2014/12/10(水) 14:42:56.96 ID:X/Vb7CZT
>>136 必要と十分が逆じゃね
139デフォルトの名無しさん:2014/12/10(水) 15:00:18.04 ID:yfExYDOY
釣りかな?
140デフォルトの名無しさん:2014/12/11(木) 10:28:15.97 ID:o0EaoagT
from pprint import pprint as print
みたいにprintを上書きする方法ありませんか?
141デフォルトの名無しさん:2014/12/11(木) 11:04:22.29 ID:o0EaoagT
random.shuffle(xrange(10))はエラーで
random.shuffle(range(10))はエラーじゃないのは何故ですか
142デフォルトの名無しさん:2014/12/11(木) 11:15:14.43 ID:SY3PmBw7
shuffleの受け取る引数はリストで
rangeの返り値はリストで
xrangeの返り値はxrangeオブジェクトだから
143デフォルトの名無しさん:2014/12/11(木) 16:04:01.78 ID:qKHRQsDr
>>140
from pprint import pprint
print = pprint
144デフォルトの名無しさん:2014/12/11(木) 16:13:08.54 ID:SY3PmBw7
Python2はprintが文だから無理
145デフォルトの名無しさん:2014/12/11(木) 17:25:04.80 ID:qKHRQsDr
global print
とか宣言して上書きできないかな
146デフォルトの名無しさん:2014/12/11(木) 18:57:11.12 ID:YFaDd8+H
釣りかな?
147デフォルトの名無しさん:2014/12/11(木) 19:28:09.16 ID:6slixBmx
質問です。
Javascriptでブラウザ上から操作してある値を得て
その値をAjaxを使ってサーバー側のPythonに送って処理して
その処理した値をJavascriptの方に返したいのですが
どうすればいいでしょうか?
148デフォルトの名無しさん:2014/12/11(木) 19:49:24.50 ID:dUmItZfA
根本的にHTTPの知識が足りないんじゃねーの
149デフォルトの名無しさん:2014/12/11(木) 20:04:44.45 ID:7wRfLV17
pyscripterを使い始めたのですが、モジュールのインポートでエラーが起こります。
コマンドプロンプトからだとしっかりインポートできるので、pyscripter上の設定がうまく言ってないのかなぁと思うのですが、どなたか解決方法をご存知の方は居られますか?
150デフォルトの名無しさん:2014/12/11(木) 21:24:43.54 ID:zZIL+BW/
このあとつくレスの内容がわかるよな?
答えはエラーの内容を貼れだ
151デフォルトの名無しさん:2014/12/11(木) 21:32:59.99 ID:ZURpiEMX
エラー読めエラー
エラー文程度の英語は読もう
辞書引け辞書
152デフォルトの名無しさん:2014/12/11(木) 21:34:38.15 ID:GpAyUabF
>>147
ここは言語スレだから、Webプログラミングについては
WebProg板にある以下のスレで質問したほうがいいと思う
・【Python】Python Webフレームワーク総合スレ
 http://kanae.2ch.net/test/read.cgi/php/1329996601/
153デフォルトの名無しさん:2014/12/11(木) 22:10:38.95 ID:7wRfLV17
エラー内容は

Inport Error:No module named '〜'

というものです。先にも書きましたが、同じスクリプトをコマンドプロンプトから実行した場合にはしっかりインポートできました。なのでインポートしたいモジュールのディレクトリが間違ってるとかはないと思うのですが
・・・
154デフォルトの名無しさん:2014/12/11(木) 22:12:50.22 ID:dUmItZfA
sys.path表示してみろよ
printか何かで

モジュールはそこにないと読まれない
155デフォルトの名無しさん:2014/12/11(木) 22:30:40.27 ID:7wRfLV17
なるほど

ただ、今pyscripter上でprint(sys.path)したらNameError:global name 'sys' is not definedとなってしまいました。

さて、申し訳ないのですが明日早いのでひとまず持ち越しさせてください。
有難うございました。
156デフォルトの名無しさん:2014/12/11(木) 22:46:42.90 ID:6slixBmx
>>152
ありがとうございます
157デフォルトの名無しさん:2014/12/12(金) 03:53:45.69 ID:iNQHvDR7
馬鹿には無理
158デフォルトの名無しさん:2014/12/12(金) 04:23:40.16 ID:l0cPHPUF
馬鹿には無理の馬鹿キタ━(゚∀゚)━!
159デフォルトの名無しさん:2014/12/12(金) 06:08:08.67 ID:iNQHvDR7
嬉しそう
160デフォルトの名無しさん:2014/12/12(金) 07:53:04.64 ID:B5AH1Q7I
くやしいのぅ
161デフォルトの名無しさん:2014/12/12(金) 10:05:51.16 ID:5NCaXpKG
無理には馬鹿
162デフォルトの名無しさん:2014/12/12(金) 17:05:33.34 ID:3ynwoAwo
釣りかな?
163デフォルトの名無しさん:2014/12/12(金) 17:07:31.62 ID:z5EZhpJA
高橋是清
164名無しさん@そうだ選挙に行こう:2014/12/14(日) 11:29:47.89 ID:iMl+g16a
すんません。

"my_list"というリストがあって、リストを先頭から操作するにはfor文を使って
以下のように記述すると思うのですが、先頭からではなく、最後から先頭に向かって
ループを回す方法を探しています。いい方法はあるでしょうか。

for my_line in my_list:
print my_line
165名無しさん@そうだ選挙に行こう:2014/12/14(日) 11:33:34.26 ID:cr5Eplup
for i in range(len(a)-1, -1, -1):
print(a[i])
166名無しさん@そうだ選挙に行こう:2014/12/14(日) 11:34:15.67 ID:cr5Eplup
a.reverse()
for i in a:
print(i)
167名無しさん@そうだ選挙に行こう:2014/12/14(日) 11:35:00.18 ID:OgL3dLSe
>>164
for myline in reversed(my_list):
print(n)

これでどうでしょう?
168名無しさん@そうだ選挙に行こう:2014/12/14(日) 11:35:17.44 ID:cr5Eplup
while a:
print(a.pop())
169名無しさん@そうだ選挙に行こう:2014/12/14(日) 11:36:21.37 ID:OgL3dLSe
nじゃなかった。
for myline in reversed(my_list):
print(myline)
170名無しさん@そうだ選挙に行こう:2014/12/14(日) 12:04:30.74 ID:iMl+g16a
みなさん
ありがとうございます。
おかげでうまく行きそうです。
助かりました。
171デフォルトの名無しさん:2014/12/14(日) 20:17:12.91 ID:QEpJ0bQG
Pythonなら書き方はひとつ(キリっ
172デフォルトの名無しさん:2014/12/14(日) 22:32:20.84 ID:AdYRt8Z2
言いだしっぺは今どんな顔をしているのだろう
173デフォルトの名無しさん:2014/12/14(日) 23:06:35.23 ID:10ryKbym
if〜elif〜elseとif〜if〜elseって動作が同じだから
elif要らないじゃんと思って下記のコードを実行すると
1を入力した時は正常なのだけど、0を入力した時に2nd tryの'a is 0'に続いて
'other'が出る。なぜだろう

a = int(input('number? :'))
print('1st try')
if a == 0:
  print('a is 0')
elif a == 1:
  print('a is 1')
else:
  print('other')

print('\n2nd try')
if a == 0:
  print('a is 0')
if a == 1:
  print('a is 1')
else:
  print('other')
174デフォルトの名無しさん:2014/12/14(日) 23:12:32.49 ID:HQm6Xl4s
>>173
お前がバカだからだよ。

> if〜elif〜elseとif〜if〜elseって動作が同じだから

同じじゃない。
ちったあ頭使え。
175デフォルトの名無しさん:2014/12/14(日) 23:14:55.22 ID:9CZ8nEqT
if elifとif if は違うから
本当に同じかよく見てごらん
http://docs.python.jp/2/reference/compound_stmts.html#else
176デフォルトの名無しさん:2014/12/15(月) 00:28:04.02 ID:L0jrf9lW
釣りかな?
177デフォルトの名無しさん:2014/12/15(月) 00:41:15.09 ID:Vqj9ldUp
>>175
読んでもよくわからないので素直にelif使うことにする
switchがあればこんな苦労は要らないんだが
178デフォルトの名無しさん:2014/12/15(月) 00:48:57.38 ID:DDIABndf
if elif と同じなのは if else if だぞ
179デフォルトの名無しさん:2014/12/15(月) 00:50:53.54 ID:ukim46sj
そういう理解だと他のswitchがある言語使っても
バグを作り込むんじゃないか
180デフォルトの名無しさん:2014/12/15(月) 02:02:32.89 ID:kIlAV+GQ
>>177
これこそ「馬鹿には無理」ってやつだな
お前みたいなのはswitchがある言語の世界から出てきてくれるなよ
181デフォルトの名無しさん:2014/12/15(月) 08:46:39.20 ID:oT27jdsU
>>173
Pythonはインデントの深さでブロックのネストを表してる
2nd tryがやってることはC風にするとこういうこと

if (a == 0) print('a is 0');

if (a == 1) {
  print('a is 1');
} else {
  print('other');
}
182デフォルトの名無しさん:2014/12/15(月) 09:41:52.79 ID:KFNfkcvV
intって少数の文字列は変換できないんですね
183デフォルトの名無しさん:2014/12/15(月) 10:27:24.74 ID:Gn/AO2ID
int(float("123.4"))
184デフォルトの名無しさん:2014/12/16(火) 22:29:10.07 ID:JLxuIaVb
int(float("1234e-1"))
185デフォルトの名無しさん:2014/12/16(火) 22:30:01.24 ID:BUbjQCv4
(´・ω・`)わかったよ
186デフォルトの名無しさん:2014/12/16(火) 22:37:24.96 ID:t3ZeiYLt
あん?わかんねーよ?
187デフォルトの名無しさん:2014/12/16(火) 22:52:05.87 ID:GPOj3jaH
釣りかな?
188デフォルトの名無しさん:2014/12/17(水) 04:04:06.27 ID:tVZ6iM4c
プログラム超初心者(「たのしいプログラミングPythonではじめよう"」を読んだ程度)
の質問なんですが、

Python3.3、IDLE(PythonGUI)で、
setuptools、pipでインストールした
urllibかurllib3を使って
ウェブサイトをダウンロードするプログラムを作ろうと思ったんですが、

http://mtb-production.info/2013/10/11/post-2056/
http://blog.livedoor.jp/kazuneet/tag/python3
http://docs.python.jp/2/library/urllib.html

のように書いてもうまくできません(か、できているのがわかっていないか)
(Command Lineが一瞬開いて閉じるだけで、フォルダを見ても何もない)

なにか根本的なことが分かっていないようなんですが、
どこがわかっていないのか、お教えください
上記のことができればどうなるのか
ご教授願います。
189デフォルトの名無しさん:2014/12/17(水) 04:21:41.66 ID:YJ4L+pKj
.pyファイルをインタプリタで直接実行してるのかな
一瞬で閉じるってことは多分エラー吐いて即座に処理が終了してるんでしょう
コマンドプロンプトから実行すれば消えずにエラー内容が見れるよ

python example.py

って具合に
もちろんPythonへのパスは通してね
190デフォルトの名無しさん:2014/12/17(水) 08:00:43.45 ID:rr+ZuKh0
if a == 0:
a = 1
elif a == 1:
print("実行されない")

if a == 0:
a = 1
if a == 1:
print("実行される")
191デフォルトの名無しさん:2014/12/17(水) 09:12:18.09 ID:92SEZchH
windowsはインストーラーが勝手にパス通してくれてる
192デフォルトの名無しさん:2014/12/17(水) 09:24:52.06 ID:f5I17paW
>>188
作成したプログラムファイルを実行するときは、直接ファイルをダブルクリックして実行するのではなく、
IDLEでそのプログラムファイルの編集ウィンドウを開いたまま、
IDLEの Run メニューから Run Module を選んで実行させる。
そうすれば Python Shell ウィンドウ(対話型実行用ウィンドウ)にエラーメッセージやprint関数の結果が出力される。

インターネット上のプログラムを参考にするときは、それがPython2での実行を前提に書かれているのか、
それともPython3での実行を前提に書かれているのかに注意する。
Python2用に書かれたプログラムをそのまま写すと、Python3では動かないことがある。
実際、urllib 周りは Python2 と Python3 では変更があったので、その可能性が高い。

挙げられている3つのサイトのうち、上と下はPython2を前提にしているので、そのままプログラムを書き写すと動かない可能性がある。
真ん中のサイトはPython3を前提にしているので、その点は心配しなくてもいい。
一番下の公式サイトのリファレンスは、左上のドロップボックスで3.3を選べば、
Python3用のページに移動するので、そのページを参考にする。
193デフォルトの名無しさん:2014/12/17(水) 12:40:16.79 ID:BcALhq1a
>>188
補足
IDLEを使ってるとのことなので>>192のように書いたが、
もちろん>>189さんの言うようにコマンドプロントから実行してもよい。

「上記のことができれば」というのは「上記」が何を指しているのか、
リンクを貼っているサイトのことを言っているにしても
リンク先にはいろいろコードが書いてあるので
どれを指しているのか不明なのでそういう聞き方はよくない。

例えば一番上のサイトのプログラム例だと、サイトのソースを取得する以外は何もしてないので、
実行に成功しても何も表示されないし何も保存されない。
真ん中のサイトのプログラム例だと、取得した内容がファイルに保存される。
一番下の公式リファレンスの最後の「使用例」のプログラムだと、取得した内容が画面に表示される。
…といったように、それぞれやっていることが違う。
194デフォルトの名無しさん:2014/12/17(水) 12:54:30.07 ID:fm55ZjWq
ちなみに標準ライブラリにはhtml.parserというhtml文をパースするモジュールがあるよ
195デフォルトの名無しさん:2014/12/17(水) 13:03:05.68 ID:tYIZwmKq
>>188
f = open("hoge.txt") の意味はわかる?
もしわかるなら f = urllib.urlopen("http://www.example.com") の意味は想像つかない?
196188:2014/12/17(水) 13:36:33.70 ID:tVZ6iM4c
みなさんいろいろありがとうございます。
ちょっと整理して、またわからないことがあったら参ります。
197デフォルトの名無しさん:2014/12/17(水) 19:19:30.00 ID:jNjOuaaM
htmlのボタンを押した時にシリアル通信で
文字列を送るプログラムを作りたいんだけど可能?
198デフォルトの名無しさん:2014/12/17(水) 19:53:52.14 ID:BchJU/pT
何と何をシリアル通信させるのか?
htmlを配備するサーバーはお前が自由にできるのか?
htmlはお前が自由にできるのか?

をはっきりとさせて
199デフォルトの名無しさん:2014/12/17(水) 20:45:25.23 ID:jNjOuaaM
サーバーとマイコンボードを通信させたい
html,サーバーは自由
200デフォルトの名無しさん:2014/12/17(水) 21:03:14.12 ID:yd7uYEg4
httpじゃなくて?
201デフォルトの名無しさん:2014/12/17(水) 22:32:45.18 ID:BchJU/pT
>>199
サーバーとマイコンボードが繋がってるなら大丈夫だろう
普通のWebアプリケーションなら、ユーザーからの入力に応じてデータベースなんかをいじくるところ
代わりにマイコンボードをいじくるように作る
202デフォルトの名無しさん:2014/12/18(木) 15:33:07.08 ID:KTe/oi6X
pyenvで2.7.8を入れたんですけど
新しい2.7.9を入れたいのですが
これってvirtualenvで作った環境も削除して作りなおさないといけないってことですよね?
203デフォルトの名無しさん:2014/12/18(木) 17:31:54.42 ID:B30EcXiG
そうですね
204デフォルトの名無しさん:2014/12/18(木) 19:05:28.76 ID:p76oanwJ
仮想環境は設定や扱いが面倒臭いね
PythonのバージョンごとにPCを別々に用意した方が
スッキリするんじゃね?と思った
ノートPCが2〜3万で買えるご時世だしな
205デフォルトの名無しさん:2014/12/18(木) 19:07:42.94 ID:nABCaYDf
釣りかな?
206デフォルトの名無しさん:2014/12/18(木) 19:30:15.44 ID:j26dZxyw
PCを分けたいけど、今はVMに入れてるよ
1台でサーバ・クライアント運用も出来るし
207デフォルトの名無しさん:2014/12/18(木) 19:47:40.92 ID:siOJVJ1k
PC複数台がめんどくさいから仮想環境にしたけど
仮想環境がめんどくさいからPC複数台にするのか
208デフォルトの名無しさん:2014/12/18(木) 21:58:37.10 ID:wCefEqGM
python本体だけアップグレードしてpipで入れたものとか仮想環境もそのまま使えるようにならないのかな
このへん不便
209デフォルトの名無しさん:2014/12/18(木) 21:59:06.02 ID:wCefEqGM
あ、pyenvでの話ね
210デフォルトの名無しさん:2014/12/18(木) 22:00:18.43 ID:HI8EE6st
もっと釣り名人になろう
211デフォルトの名無しさん:2014/12/18(木) 22:17:58.44 ID:p76oanwJ
仮想環境もそうだが、俺はスクリプト言語であるPythonにpipとかを使っての
「アプリインストール」という概念があるのが理解できん
スクリプト言語つーたら、フォルダにスクリプトファイルを置いて
デスクトップにショートカット作ってWクリ一発で済ますもんじゃないの?
お手軽さが命のスクリプト言語をわざわざ難しく使っているとしか思えない
212デフォルトの名無しさん:2014/12/18(木) 22:40:44.84 ID:wCefEqGM
pipがrubyのbundleのようなものになるのが一番いい
213デフォルトの名無しさん:2014/12/18(木) 23:58:25.67 ID:XtM22rPl
好きなように使えばいいだろー
道具に使われている諸君?
214デフォルトの名無しさん:2014/12/19(金) 05:22:59.53 ID:ezHQ1wXp
pip freezeやpip bundle、pip wheelがあるだろ
215デフォルトの名無しさん:2014/12/19(金) 07:55:56.26 ID:iA6Ogp4V
>>207
scipyとかVMごと配布してるぞ
216デフォルトの名無しさん:2014/12/19(金) 07:58:09.77 ID:iA6Ogp4V
>>211
eggファイル展開してsite-packagesにコピーするだけで使えてるよ
217デフォルトの名無しさん:2014/12/19(金) 15:00:32.75 ID:ZtksDXjz
Python-Twitterを使って検索結果の取得をしているのですが
取得した検索結果が時間が経てども変わりません

key_dict = {
"consumer_key":"xxxxx", "consumer_secret":"xxxxx",
"access_token":"xxxxx", "access_token_secret":"xxxxx"
}

api = twitter.api(
key_dict['consumer_key'],key_dict['consumer_secret'],
key_dict['access_token'],key_dict['access_token_secret']
)

search = api.GetSearch(lang="ja", term="hogehoge", count=5)

for tweet in search:
print tweet.text

このように書いてるのですが、何度か行うも同じ結果が返ってきます
なぜなのでしょうか?
218デフォルトの名無しさん:2014/12/19(金) 15:52:55.09 ID:M007GgfU
result_type='recent', max_id=''
219デフォルトの名無しさん:2014/12/19(金) 17:10:24.73 ID:ZtksDXjz
>>218
ありがとうございます。
デフォルトがmixedだったので数が少ないと
人気のツイートしか取れてなかったのですね。
解決しました。
220デフォルトの名無しさん:2014/12/19(金) 19:00:53.01 ID:Rxb8g/9/
http://momijiame.tumblr.com/post/68655902597/python-itertools
を参考に
l = ['a', 'b', 'c', 'd', 'e']の組み合わせと
m = ['A', 'B', 'C, ']との直積を作ろうと
for element in itertools.combinations(l, 2):
for i in m:
print(i, element)
としてみたり
for element in itertools.combinations(l, 2):
for i, j in itertools.product(m, element):
print(i, j)
としてみましたが、うまくきませんでした。
どうかけいいいのでしょうか?
pythonは一週間前に触り始めたばかりです。
どうかおねがいいたします。
221デフォルトの名無しさん:2014/12/19(金) 19:56:03.87 ID:EwlKzh3K
どんな出力を想定してるかもう少し詳しく
上のコードが[m]と[lの組み合わせ]の直積になってるように思えるけど、何がだめなのか
222デフォルトの名無しさん:2014/12/20(土) 09:08:45.35 ID:z7MLHrYx
レスありがとうございます。
出力は、最終的にコンマ区切りテキスト、タブ区切りテキスト、エクセル形式など、
他のアプリで読み込めるものを目指しています(pythonでできるかもわかっていないです)。

ダメだったのは
com_pro_test.pyに

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itertools

if __name__ == '__main__':
l = ['a', 'b', 'c', 'd', 'e']
m =['A','B', 'C']

for element in itertools.combinations(l, 2):
for i in m:
print(i, element)

と書き、python com_pro_test.pyすると

File "com_pro_test.py", line 11
for i in m:
^
IndentationError: expected an indented block

と出てprintできませんでした。
223デフォルトの名無しさん:2014/12/20(土) 09:09:59.08 ID:z7MLHrYx
com_pro_test_2.pyには

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itertools

if __name__ == '__main__':
l = ['a', 'b', 'c', 'd', 'e']
m =['A','B', 'C']

for element in itertools.combinations(l, 2):
for i in m:
print(i, element)

と書き、python com_pro_test_2.pyすると

File "com_pro_test_2.py", line 11
for i, j in itertools.product(m, element):
^
IndentationError: expected an indented block

と出てprintできませんでした。printは練習のために使っています。

よろしくお願い致します。
224デフォルトの名無しさん:2014/12/20(土) 09:28:34.71 ID:hZSDfw1l
まずIndentationError: expected an indented blockでググったの?
225デフォルトの名無しさん:2014/12/20(土) 09:31:19.15 ID:dWuhsWfV
Rubyなら、
String.split(区切り文字)で、
指定した区切り文字で、文字列を分割できる

たぶん、Pythonでも出来るでしょう
226デフォルトの名無しさん:2014/12/20(土) 09:41:34.31 ID:+GgZ8JtG
>>223
220での説明の言葉が間違ってる事だって有り得るから、期待してる出力例を書くべき。
227デフォルトの名無しさん:2014/12/20(土) 12:02:57.42 ID:e+FqSQyU
馬鹿には無理
228デフォルトの名無しさん:2014/12/20(土) 12:41:41.73 ID:HICU3D2K
そのエラーでぐぐれば一発で日本語記事で解決策がヒットするわけなんだけど
229デフォルトの名無しさん:2014/12/20(土) 15:01:59.30 ID:KBX+SOS/
>>223
チュートリアルや入門書読みたくないならこういうのがある
6.制御文のところ
http://d.hatena.ne.jp/dplusplus/20100126
230デフォルトの名無しさん:2014/12/20(土) 16:41:37.86 ID:z7MLHrYx
みなさん、ありがとうございます
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itertools

if __name__ == '__main__':
l = ['a', 'b', 'c', 'd', 'e']
m =['A','B', 'C']
for n in range(1, 6):
for element in itertools.combinations(l, n):#取り出す数
for i in m:
print(i, element)

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itertools

if __name__ == '__main__':
l = ['a', 'b', 'c', 'd', 'e']
m = ['A','B', 'C']
for n in range(1, 6):
element = list(itertools.combinations(l, n))
for i, j in itertools.product(m, element):
print (i, j)
で、うまくできました。
手作業、エクセルでのチマチマ作業から解放されそうです。
しかも高速。
231デフォルトの名無しさん:2014/12/20(土) 19:29:01.25 ID:z7MLHrYx
欲が出て、ファイル出力しようと

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import itertools

if __name__ == '__main__':
l = ['a', 'b', 'c', 'd', 'e']
m = ['A','B', 'C']
for n in range(1, 6):
element = list(itertools.combinations(l, n))
for i in itertools.product(m, element):
for j in repr(list(i)):
f = open('text.txt', 'w')
f.writelines(j)
f.close()

としてみたのですけど、うまくいきませんでした。
どこが間違っていますか?
よろしくお願い致します。
232デフォルトの名無しさん:2014/12/20(土) 19:30:17.48 ID:e+FqSQyU
マジックナンバーを使うな
233デフォルトの名無しさん:2014/12/20(土) 19:35:40.59 ID:Bp15tF+m
うまく行かない時はエラーをよめつってんだろ
234デフォルトの名無しさん:2014/12/20(土) 19:36:51.43 ID:Uj8rcLat
>>231は質問時にエラーメッセージを貼る癖を付けような
うまくいきませんでした、では答えようがない
235デフォルトの名無しさん:2014/12/20(土) 19:46:32.60 ID:mAbPDdUl
くっそわろた
エラー報告はメッセージをただ貼るのが一番楽なはずなんだけど
なぜ誰もが自分の言葉で説明しようとしてしまうのか
236デフォルトの名無しさん:2014/12/20(土) 20:28:57.19 ID:KBX+SOS/
エラーは出ないけど思った結果になってないのかもしれない
ぱっと見はファイルを上書きしまくってるように見えるが
まあ回答する側のこと考えて再提出するのが筋だと思う
237デフォルトの名無しさん:2014/12/20(土) 21:04:01.06 ID:wEbsED3/
>>231
どう?これで良いと思うけど。

import itertools

if __name__ == '__main__':
f = open("text.txt", "w")
L = ['a', 'b', 'c', 'd', 'e']
m = ['A','B', 'C']
len_L = len(L)
for n in range(1, len_L + 1):
element = list(itertools.combinations(L, n))
print("element =")
print(element)

x = itertools.product(m, element)
print(list(x), file=f)
f.close()
238デフォルトの名無しさん:2014/12/20(土) 22:24:36.79 ID:z/wvtsdM
>>231
http://ideone.com/bSgNSL
こんな感じかね
239デフォルトの名無しさん:2014/12/20(土) 22:26:57.60 ID:z/wvtsdM
len(l)にしたけど、len(l)+1じゃなきゃあかんかった
すまんこ
240デフォルトの名無しさん:2014/12/21(日) 09:25:46.04 ID:c9w7SJVP
>>233, 234, 235
エラーが出なかったんですよ

>>236
エスパー、ありがとうございます

>>237, 238
うまくできました
ありがとうございます

メモ帳でのコピペやエクセルでの関数の複雑な組み合わせから脱出できそうで
感動しきりです
>>237, 238を見ながら、いろいろいじってみようと思います
241デフォルトの名無しさん:2014/12/21(日) 12:16:28.95 ID:kqogwpUD
http://www.amazon.co.jp/exec/obidos/ASIN/4764904691/
そういえばそんな話あったね…感
242デフォルトの名無しさん:2014/12/21(日) 14:00:37.49 ID:iWOfGUHH
どんな話?
243デフォルトの名無しさん:2014/12/21(日) 14:57:18.13 ID:c9w7SJVP
enumerateを使って、各組み合わせに番号を振ることができました
すごい
Python様様です
今まで知らなかったのが悔やまれます
244デフォルトの名無しさん:2014/12/23(火) 22:16:30.69 ID:y5PKzINj
辞書の == は、何を比べてるんでしょうか。

a_dict=dict(a="A",b="B")
b_dict=dict(b="B",a="A")
if a_dict == b_dict: print("A eq B")

とすると、"A eq B"となりますが、これはたまたま?
それとも、律儀に全てのキーと値のペアをチェックしているのでしょうか。
245デフォルトの名無しさん:2014/12/23(火) 22:23:40.75 ID:u51zFo5t
>>244
docs.python.org/3.4/reference/expressions.html#not-in
> Mappings (dictionaries) compare equal if and only if they have the same (key, value) pairs.
246デフォルトの名無しさん:2014/12/23(火) 22:32:50.19 ID:JQ5oTczV
どっちかっていうとstdtypes.htmlに書かれるべき事柄のような気もする

現にsetとfrozensetについては等値性の比較方法が書いてある
なんでdictは書いてないのかよく分からん
247244:2014/12/23(火) 22:35:52.17 ID:y5PKzINj
全てのキーと値のペアをチェックしているわけですね。
早速ありがとうございます。

教えて頂いたページから、2.7の方のドキュメントを見たら、
Mappings (dictionaries) compare equal if and only if their sorted (key, value) lists compare equal.
とあって、なぜかソートすることになっていて、興味深いです。
248デフォルトの名無しさん:2014/12/23(火) 22:56:27.32 ID:1p817Cux
ただ単にif and only ifと言ってるだけなんだから、
実際にソートされたリストを比較してるとは限らない
249デフォルトの名無しさん:2014/12/23(火) 22:57:40.37 ID:u51zFo5t
たしかに…(パッと何も考えずに貼っつけたけど色々なるほどという感じだ)
ついでに、
a, b = {}, {}
a['foo'] = a; b['foo'] = b
a == a # True
a == b # RuntimeError: maximum recursion depth exceeded in comparison
になるのは p is q のときはそこで True になるのかな?
250デフォルトの名無しさん:2014/12/26(金) 23:24:58.42 ID:/KNcT2VO
質問です。
array = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]のような配列を
a = [0, 3, 6, 9]
b = [1, 4, 7]
c = [2, 5, 8]

のように分けたい場合はどうすればいいのでしょうか?
251デフォルトの名無しさん:2014/12/26(金) 23:32:01.21 ID:nageX3sv
釣りかな?
252デフォルトの名無しさん:2014/12/26(金) 23:40:44.86 ID:5KQP9Kr2
array[::3]
array[1::3]
array[2::3]
253デフォルトの名無しさん:2014/12/28(日) 08:05:52.17 ID:4QS7TPLU
>>252
これ冗談かと思ってたらマジだった
コロン2つというスライスの活用方法はドキュメントに載ってましたっけ?
254デフォルトの名無しさん:2014/12/28(日) 09:21:45.11 ID:6jddN626
馬鹿には読めない
255デフォルトの名無しさん:2014/12/28(日) 09:44:49.02 ID:ozX5G0tT
おれがPythonを初めて勉強しようと思った時に入門とかチュートリアル当たりを読んでたらそんな事書いてあった覚えがある
とりあえずドキュメント読めばいいんじゃないのか
256デフォルトの名無しさん:2014/12/28(日) 09:53:20.79 ID:kC+gL6KL
257デフォルトの名無しさん:2014/12/28(日) 10:37:47.65 ID:4QS7TPLU
>>256
サンクス
恥ずかしながら、スライスにSTEPを指定できること自体知りませんでした
ライブラリのドキュメントばっかり見ていてはダメですね
258デフォルトの名無しさん:2014/12/28(日) 13:52:16.01 ID:6jddN626
えっ
259デフォルトの名無しさん:2014/12/28(日) 21:25:11.89 ID:FC75I7qD
range([start], stop[, step])やslice([start], stop[, step])のように、最初の引数にデフォルト値があるように定義するのってどうすればいいんでしょう
任意引数リストにして引数の数に応じて処理を変えるしかないでしょうか?
260デフォルトの名無しさん:2014/12/28(日) 21:29:14.77 ID:JNVMabVt
釣りかな?
261デフォルトの名無しさん:2014/12/28(日) 23:57:43.32 ID:yyfsiGm1
>>259
>任意引数リストにして引数の数に応じて処理を変えるしかないでしょうか?
そうだけど、なんでまたそんなことに
262デフォルトの名無しさん:2014/12/29(月) 02:06:20.88 ID:IvunUA3V
そのうち引数の区切りに:使いたいとか言い出しそう
263デフォルトの名無しさん:2014/12/29(月) 09:43:14.39 ID:n7jX+JFQ
>>261
ありがとうございますやっぱそうなりますか
xrangeにCのlongに収まらない数を入れたい場合につかう代替関数を定義しておこうと思ったんです
使い方はxrangeと同じにしておきたいな、と思いまして
264デフォルトの名無しさん:2014/12/29(月) 10:47:52.09 ID:/fu+2Q3X
generatorに汁
265デフォルトの名無しさん:2014/12/29(月) 14:41:33.17 ID:n7jX+JFQ
>>264
どういうことでしょう?
リストを返すつもりはなくxrangeオブジェクトももちろん作れないのでジェネレータにするつもりですが
ジェネレータにすると引数の課題が解決する案があるのでしょうか?
266デフォルトの名無しさん:2014/12/29(月) 16:00:06.38 ID:PZi3Q5CQ
それよりもpython3がお勧めだ
267デフォルトの名無しさん:2014/12/29(月) 16:01:43.94 ID:b2AdLJ6H
>>259
def test(a):
if len(a) == 1:
 pass
if len(a) == 2:
 pass
if len(a) == 3:
 pass

test([1])
test([1,2])
test([1,2,3])
268デフォルトの名無しさん:2014/12/30(火) 00:07:44.20 ID:CXcTj8nU
def foo(*args):
    n = len(args)
    if n == 1:
        pass
    elif n == 2:
        pass
    elif n == 3:
        pass
269デフォルトの名無しさん:2014/12/30(火) 17:04:23.25 ID:7UP6Be1g
vimを使ったpythonプログラミングがしたいということで色々プラグイン入れたりしてたんだが詰まった
Macでvirtualenvとvirtualenvwrapperで仮想環境を構築してるんだが、python3.4の環境で構文エラーのプラグインが上手く機能しない(syntastic、pyflakes-vimどちらを使おうとも)
syntasticの場合はprint("test")がエラーと判定されるし、
pyflakes-vimの場合はprint("test")は大丈夫でもprint("test", end="")がエラーと判定されてしまう
ちなみにjedi-vimによる補完はvim-virtualenvが効いてるせいか上手くいく
大人しく構文エラー系プラグインは諦めるしかないのか・・・
270デフォルトの名無しさん:2014/12/30(火) 17:39:30.47 ID:9P21+37r
>>269
syntasticはこれじゃダメ?
https://github.com/scrooloose/syntastic#faqpython3
271デフォルトの名無しさん:2014/12/31(水) 04:11:56.40 ID:14cQZHHy
>>270
それ試したらうまくいった
でもpython2の環境でやるときはコメントアウトしないといかんな面倒だなと色々試してたら、
仮想環境ではsyntastic自体がエラー吐いて動かなくなった
syntastic入れ直しても直らないしお手上げ

他にpythonで開発するに当たって他にいいエディタがあったら教えてくれ
272デフォルトの名無しさん:2014/12/31(水) 17:47:51.00 ID:GF3OSzJC
syntasticつかってるけど2.7でも3.4でも問題ないね
273デフォルトの名無しさん:2015/01/01(木) 18:24:39.87 ID:JHoRJU5D
file = os.path.join("data", "test.txt")
fp = codecs.open(file, "r", "utf-8")
datalist = []
for line in fp:
line = line.rstrip()
data = line.split()
datalist.append(data)
print data
print datalist
fp.close()

python2.7
日本語を含むテキストファイルを読み込ませたいです
これでデコードエラーを吐いてしまうんですがどうしたらいいんでしょうか?
274デフォルトの名無しさん:2015/01/01(木) 18:31:38.61 ID:z6L3lvtQ
釣りかな?
275デフォルトの名無しさん:2015/01/01(木) 19:05:40.59 ID:fSkzpZdc
>>273
質問するときはエラーメッセージもいっしょに貼ってね。
test.txtファイルの文字コードがutf-8じゃないんじゃないかな。
別の文字コード指定してみたら。
276デフォルトの名無しさん:2015/01/01(木) 19:10:16.68 ID:JHoRJU5D
>>273の続き
以下のブログからダウンロードできるpyファイルの170〜180行とほぼ同じなのに自分のは動きません

http://aidiary.hatenablog.com/archive/category/Pygame?page=2

誰か教えてください
277デフォルトの名無しさん:2015/01/01(木) 19:13:05.49 ID:JHoRJU5D
>>275
出来ました
これに費やした元旦がもったいなく感じてきました
ありがとうございました

>>276は気にしないでください
278デフォルトの名無しさん:2015/01/01(木) 19:22:37.37 ID:2oZHmgl+
いや、元旦にプログラミングしてること自体もったいないと思うよ?
まあやってんだけどさ
279デフォルトの名無しさん:2015/01/01(木) 19:26:09.99 ID:+8s0q9XW
むしろプログラミングに没頭できるのでありがたい
起きてコード書いて腹が減ったらあめ玉舐めながら続けて
いつの間にかぶっ倒れて寝て…の繰り返し
まさに至福
280デフォルトの名無しさん:2015/01/01(木) 19:33:40.55 ID:X1h/FK2S
没頭も楽しいけど、ちゃんと寝た方が頭も冴えて効率良かったりする
281デフォルトの名無しさん:2015/01/01(木) 21:54:12.80 ID:LHyBpEGI
勉強したいんですが、オープンソースのアプリケーションって無いですか?
282デフォルトの名無しさん:2015/01/01(木) 21:59:14.57 ID:yTun5dKq
まずアプリーケーションの意味が分かってから質問に来るように(キリッ
283デフォルトの名無しさん:2015/01/01(木) 22:30:15.49 ID:FCYF6h54
>>281
PyPIやGitHub等にいくらでもあるけど
添付ライブラリのソース読むのもいいよ
自分のよく知ってるライブラリがあるなら尚更
284デフォルトの名無しさん:2015/01/01(木) 22:32:20.07 ID:LHyBpEGI
>>283
あざーす
見てみます
285デフォルトの名無しさん:2015/01/02(金) 22:46:05.90 ID:+rPr6kmK
for文を使ってある文字列リストの中の文字列の数だけ動作を繰り返したいのですが、
for i in listのiの部分は何にするべきでしょうか?
286デフォルトの名無しさん:2015/01/02(金) 23:03:00.94 ID:r6ijCflG
s
287デフォルトの名無しさん:2015/01/02(金) 23:22:24.79 ID:+rPr6kmK
ありがとうございます
288デフォルトの名無しさん:2015/01/02(金) 23:23:04.72 ID:wbZK8R83
>>285
何でもよい
forの一時変数だというのは、見れば誰でもわかることだからな
289デフォルトの名無しさん:2015/01/03(土) 19:59:48.68 ID:xipCHlwk
lxml ってcygwinでもインストール出来るでしょうか?
ちょっと困っています。
290デフォルトの名無しさん:2015/01/03(土) 20:34:38.88 ID:HZb4mH38
ちょっとした疑問なのですが、なぜリストのreverse()メソッドは逆順にしたリストを返さないのでしょうか?
返すことでメリットはあるもののデメリットがあるようには思えません。

そのためにどうしても無駄な1行が増えてしまいます。
291デフォルトの名無しさん:2015/01/03(土) 20:38:17.12 ID:+Pr3g4uI
>>290
list.reverseは破壊的だから
292デフォルトの名無しさん:2015/01/03(土) 20:42:15.31 ID:xBaFv3y/
>>290
たぶんあなたの用途としてはreversed(L)だとかL[::-1]を使えばいいんじゃないかな
293デフォルトの名無しさん:2015/01/03(土) 21:07:56.40 ID:0Z0PurY4
>>290
これのFAQやCommand-Query Separationを引いてる回答が勉強になる
http://stackoverflow.com/questions/9777122/
294デフォルトの名無しさん:2015/01/03(土) 21:16:35.46 ID:3rHEixuF
>>289
VirtualBoxにLinuxいれれば?
それかcolinux
295デフォルトの名無しさん:2015/01/03(土) 21:22:24.18 ID:TeAjaTLz
>>290
リファレンスに書いてあるだろーが!
https://docs.python.org/3.3/library/stdtypes.html

以下引用
The reverse() method modifies the sequence in place for economy of space when reversing a large sequence.
To remind users that it operates by side effect, it does not return the reversed sequence.
296デフォルトの名無しさん:2015/01/04(日) 00:38:02.16 ID:+pjKxmj1
append もそうだけど、インプレースであることを知らしめたいからって None を返すのは
オレ様仕様だと言われても仕方ないとは思う。
なんならそういうのの返り値を代入しようとしたら例外出すくらいにしたほうがはっきりしててわかりやすい。
そういう代入を拾うってどうやればいいのかよくわからんけど。
297デフォルトの名無しさん:2015/01/04(日) 01:12:41.97 ID:+rZjO+Yw
Noneを返さないのはどこの誰様仕様なんだ
©ファウラー?
298デフォルトの名無しさん:2015/01/04(日) 01:25:15.17 ID:+rZjO+Yw
とりあえず、俺様仕様が嫌なら人が作った言語なんか使わない方がいいぜ
俺様仕様が全くなくなったら世の中には同じ言語しかないはずだろ
299デフォルトの名無しさん:2015/01/04(日) 01:39:35.12 ID:/kYaXME3
仕様に不満があるなら、自分で改造して使えばいいじゃん
そのためのオープンソースなのだから
300デフォルトの名無しさん:2015/01/04(日) 16:42:55.74 ID:w2TCoU2v
reverse も reversed も
メソッドチェーンが好きな人には使いにくい
好みの問題だから仕方ない
郷に入っては郷に慣れるしかない
301デフォルトの名無しさん:2015/01/04(日) 17:03:47.53 ID:MTkS6+IW
メソッドチェーンって言葉使われるとrubyやjquery厨の好みの問題だろって言いたくなるけど
パイプラインと言うとunix哲学を反映した高尚な雰囲気が醸しだされるよな
自分は好みの問題じゃないと思うけど
302デフォルトの名無しさん:2015/01/04(日) 17:09:40.11 ID:w2TCoU2v
js でも Ruby でも return self しないメソッド作ったらおしまいですしおすし
303デフォルトの名無しさん:2015/01/05(月) 23:11:18.16 ID:cIvzrzOv
すいません
フレームワークを作るうえで参考になるサイトなどありますか?
304デフォルトの名無しさん:2015/01/05(月) 23:13:19.47 ID:Y6BCcXgq
えーと、フレームワーク「を」作るんですか?
フレームワークにもいろいろあります(Webアプリ、統計処理etc・・・)が、何のフレームワークですか?
フレームワークのソースコードは参考になりませんか?
305デフォルトの名無しさん:2015/01/05(月) 23:16:02.21 ID:DStV81SR
>>303
ちいたん
306デフォルトの名無しさん:2015/01/05(月) 23:19:21.41 ID:cIvzrzOv
>>304
クローラーを作ってるんですけど作っていくうちにフレームワークも作ってみたいって思ってしまって
scrapyの読もうとしたんですけど複雑すぎて難しかったので質問しました・・・

>>305
凄い参考になりそうです。
ありがとうございます。
307デフォルトの名無しさん:2015/01/08(木) 08:58:53.70 ID:hf9nU0p5
python3で文字列を指定した区切り文字で改行して
出力したい(できれば''のない形で)んですが、どうやればいいですか?
splitを使って分割はできたんですがその先がわかりません
例:"1月、2月、3月…"を
1月
2月
3月…と表示したいです
308デフォルトの名無しさん:2015/01/08(木) 09:02:10.21 ID:5iJyKn99
改行コードで区切り文字を置換してprintするのが手っ取り早いんじゃないですかね!
309デフォルトの名無しさん:2015/01/08(木) 09:26:37.64 ID:PNOntX36
禿げ死苦同意
310デフォルトの名無しさん:2015/01/08(木) 09:48:16.38 ID:hf9nU0p5
>>308-309
ありがとうございます、できました
初歩的なことで失礼しました
311デフォルトの名無しさん:2015/01/08(木) 13:06:39.90 ID:yd0/anPe
for i in "1月、2月、3月".split("、"):
 print(i)

s = "1月、2月、3月"
for i in range(0, len(s), 3):
print(s[i:i+2])

print("1月、2月、3月".replace('、', '\n'))
312デフォルトの名無しさん:2015/01/08(木) 13:15:36.83 ID:0An2B4E8
置換するのが普通なの?
splitしてjoinするのが普通じゃないの?
print "\n".join("1月、2月、3月…".split("、"))
313デフォルトの名無しさん:2015/01/08(木) 13:33:24.76 ID:5iJyKn99
おたくの言う普通の基準って何
314デフォルトの名無しさん:2015/01/08(木) 18:14:53.37 ID:0An2B4E8
世のプログラムで
ある同じ目的を達成するための手段のうち採用されている割合が多いもののこと
まあ実際にどれが多いかなんて集計してみないとわからんし無理だから、各人の経験則として
315デフォルトの名無しさん:2015/01/08(木) 18:31:11.44 ID:nx8fIEJ5
>>312
置換しちゃうと、後で(一週間後とか)仕様変更で元の文字列をもう一度使いたいときに、
置換してたのを忘れてる時が有るから、ちょっと要注意。
そういう意味で、俺はこの場合はsplit、join。
まあデータが小さければ、コピーして好きに変更でもいいんだろうけど。
316デフォルトの名無しさん:2015/01/08(木) 18:38:11.40 ID:XOR/qKrs
俺はprint(s.split('、'), sep='¥n')かな(大嘘
317デフォルトの名無しさん:2015/01/08(木) 19:07:15.67 ID:qIfkunGX
今日は鯖落ちまくりで暇だったので
https://paiza.io/projects/2qNzkOVEN5gKqjmXz9KkOw
318デフォルトの名無しさん:2015/01/08(木) 19:09:18.71 ID:X+YvwCCE
代入しなきゃいいだけだろ
319デフォルトの名無しさん:2015/01/08(木) 19:36:49.69 ID:5iJyKn99
経験則として代入するから
言ってて馬鹿らしい
320デフォルトの名無しさん:2015/01/08(木) 20:16:14.92 ID:qR5vxfrT
BeatifulSoup って使いずらくね。CSSセレクタかXpathのやつないの。
321デフォルトの名無しさん:2015/01/08(木) 20:48:28.31 ID:XOR/qKrs
XMLでXPathのサブセットが使えればいいならElementTree
HTMLとXMLでXPathとCSSセレクタが使いたければlxml
今時はもっといいのがあるかもしれない
322デフォルトの名無しさん:2015/01/08(木) 20:50:38.49 ID:fhc4fEXM
BeatifulSoupが使いにくいと言うより
そもそもDOMが使いにくい
323デフォルトの名無しさん:2015/01/08(木) 21:18:24.52 ID:GqWH++TS
pyqueryならHTMLerにも使いやすいで
324デフォルトの名無しさん:2015/01/08(木) 22:55:01.67 ID:J74p3gKV
import hogeA.hogeB as hogeB
from hogeA import hogeB
って同じです?
325デフォルトの名無しさん:2015/01/08(木) 23:26:22.09 ID:sfR//wXE
同じじゃない
hogeBがクラスや関数なら上の書き方ではImportError
326デフォルトの名無しさん:2015/01/08(木) 23:57:14.72 ID:KQjbFOAv
>>319
処理の流れによるのではないかね
327デフォルトの名無しさん:2015/01/09(金) 00:01:17.16 ID:J74p3gKV
ありがとうございます。たしかにそうですね。
328デフォルトの名無しさん:2015/01/09(金) 02:26:05.19 ID:Zx8Mee6A
>>269,>>271だけど日を改めてやってみたらなんとなく原因がわかった

syntastic自体にエラーが出て機能しないのは、どうやらjmcantrell/vim-virtualenvとsyntasticが競合してるみたいだった
ただUbuntuで似たような環境を作ったときはなぜか問題なかった
syntasticに仮想環境のPythonを認識させるのは>>270で上手くいった
329デフォルトの名無しさん:2015/01/09(金) 17:28:59.68 ID:Q82CWQ0g
pythonやpygameではメイリオは使えないのでしょうか?

pygame.font.get_fontsでmeiryomeiryomeiryouimeiryouiitalicというメイリオのフォントがPC中にあると確認できたのですが、
pygame.font.SysFont("meiryomeiryomeiryouimeiryouiitalic", 10)という感じでフォントをセットしても起動しても画面が真っ黒のままで動きません
他のフォントにするとちゃんと動くのでコーディングエラーはないと思います
どうしたらいいんでしょうか?
330デフォルトの名無しさん:2015/01/09(金) 17:44:54.43 ID:ERxK07PY
'meiryo'だけでよくね?
331デフォルトの名無しさん:2015/01/09(金) 17:52:21.39 ID:Q82CWQ0g
meiryoという感じで区切ってしまうと、日本語が表示されなくなり、フォント自体もおそらくメイリオではないデフォルトのフォントになってしまいます
ちなみに、画面が真っ黒のままでもエラーメッセージ等は出てきてません
332デフォルトの名無しさん:2015/01/09(金) 17:59:20.57 ID:JoT/J+XX
うちも一緒だった (win8.1)

pygame.font.SysFont("meiryomeiryomeiryouimeiryouiitalic", 10)
のところで止まって次の行逝ってないね

pygame.font.SysFont("msminchomspmincho", 10)
なら通る
333デフォルトの名無しさん:2015/01/09(金) 18:22:02.96 ID:JoT/J+XX
copy c:\windows\fonts\meiryo.ttc .

hogefont = pygame.font.Font('meiryo.ttc', 10)

これならうまくいくな
334デフォルトの名無しさん:2015/01/09(金) 18:24:36.85 ID:ERxK07PY
>>331
本当だねー
しゃーないから2段階で

fontpath = pygame.font.match_font('meiryomeiryoboldmeiryouiboldmeiryouibolditalic')
font = pygame.font.Font(fontpath, 10)
335デフォルトの名無しさん:2015/01/09(金) 18:25:51.42 ID:ERxK07PY
かぶっちゃったww
336デフォルトの名無しさん:2015/01/09(金) 21:45:48.85 ID:cpWCapOI
フォントフォルダにパスとおせばいいんじゃねえのか
337デフォルトの名無しさん:2015/01/10(土) 06:04:13.05 ID:rmYnkCrg
Python3系は、Win8でも動くの?
338デフォルトの名無しさん:2015/01/10(土) 06:06:25.45 ID:n7roigOl
>>337
動くよ
339デフォルトの名無しさん:2015/01/10(土) 07:22:52.05 ID:gS0g5gRi
font = pygame.font.Font(fontpath, 10, bold=True, italic=True)
これも効かないよね
340デフォルトの名無しさん:2015/01/10(土) 10:11:08.17 ID:8jyfhdtq
font = pygame.font.Font(fontpath, 10)
font.set_bold(True)
font.set_italic(True)
font.set_underline(True)
341デフォルトの名無しさん:2015/01/11(日) 00:25:51.82 ID:CAsTcRy+
>>317 さんと >>329 さんに inpire されたので
鯖監視ツール書いてみたよ
https://paiza.io/projects/K-MM5FG-jwflANF-3AnFDQ
342デフォルトの名無しさん:2015/01/11(日) 14:08:16.48 ID:p/qDHhQA
343デフォルトの名無しさん:2015/01/11(日) 20:47:51.64 ID:o/8A2y6f
Linux使っててプログラミングしたいのですが、最初から入ってるPythonにしたいです。
コマンドラインでPythonと打つと安価みたいなものが出てきました
print "test"と打ったらtestとでました。
しかしこれでは一行しか書けません。
どうすれば一行より多くかけますか?
それともテキストエディタてコードを書いてそれをコマンドラインで読み取り実行するのですか?
初心者なので全くわかりません
Pythonの使い方を教えてもらえないですか?
解説してるサイトでもいいです
344デフォルトの名無しさん:2015/01/11(日) 20:59:21.92 ID:p7O2XLcs
if 1 == 1:
print 1

これを2行に分けて入力してみろ
できるだろ
345デフォルトの名無しさん:2015/01/11(日) 20:59:23.22 ID:hXDAFv79
ドットインストールでも見たらいいんじゃないですか(投げやり)
346デフォルトの名無しさん:2015/01/11(日) 20:59:33.10 ID:0FZ9h/6J
>>343
解説
http://dotinstall.com/lessons/basic_python_v2
公式のチュートリアル
http://docs.python.jp/2/tutorial/index.html

pythonの前にグーグルでの調べ方を勉強しましょう
初心者なので、は理由になりません
このスレを少しでも読めばわかると思いますが、そんなレベルから手とり足取り教えてもらう人も教えている人もいません
まず自分で「勉強」してください
それでわからなかったら質問してください
勉強頑張ってね
347デフォルトの名無しさん:2015/01/11(日) 21:08:05.04 ID:uJ5bpItj
ここに来れたのに見つからないわけないしね
348デフォルトの名無しさん:2015/01/11(日) 21:31:32.06 ID:kmCRN0/L
>>343みたいな質問もたまにある分には
同様のレベルにある人の励みにもなるし良いかなと思ったりする
349デフォルトの名無しさん:2015/01/11(日) 21:31:45.41 ID:WpzutThS
Pythonスクリプトをファイルにして実行する方法を
まず調べてみるといいのでは?
公式ドキュメントだといきなりインタープリタ出てきて
ナンカコレジャナイって事態に陥りがちだよね。
350デフォルトの名無しさん:2015/01/11(日) 21:34:00.21 ID:hXDAFv79
まあでも解説がポンポン出てくるだけいい世の中になったわ
俺も今頃に思春期を迎えたかったな
351デフォルトの名無しさん:2015/01/11(日) 21:55:22.92 ID:vLTVs/HV
引きこもってからpythonの勉強始めてたけどたしか5年前はまったく情報がなかったよ
352デフォルトの名無しさん:2015/01/11(日) 22:30:48.30 ID:sGm64abe
すいません、

net4=ipaddress.ip_network('10.0.0.0/24')

for i in net4:
print(i)

の出力をファイルに書き込みたいのですが、どの様にすればいいのでしょうか。
353デフォルトの名無しさん:2015/01/11(日) 22:50:42.95 ID:kmCRN0/L
printで欲しい値が出力できてるんならリダイレクトでいいんじゃないか
python print_ipaddr.py > result.txt のように
354デフォルトの名無しさん:2015/01/11(日) 23:19:34.43 ID:jQsmpaL2
>>343
一番簡単なのは、Pythonインタープリタを実行して、
その中でソースコードを書いて実行する

また、テキストファイルの中に、
ソースコードを書いて、端末から実行もできる

「みんなのPython 第3版」を読んで
355デフォルトの名無しさん:2015/01/11(日) 23:44:11.83 ID:yo5s2le0
with open("v4.txt", "w") as fp: fp.write("\n".join(map(str, net4)))

with open("v4.txt", "w") as fp: print(*net4, sep="\n", file=fp)
356デフォルトの名無しさん:2015/01/12(月) 11:28:11.80 ID:wEhaR0fQ
>>352
"IPアドレスを使用する他のモジュール(socket など)は通常このモジュールからオブジェクトを直接受け付けません。直接渡すのではなく、他のモジュールが受け付ける整数や文字列に強制的に変換する必要があります。"
(http://docs.python.jp/3.4/howto/ipaddress.html#using-ip-addresses-with-other-modules)

ファイルオブジェクトがIPアドレス使うわけじゃないけど同じこと。受けつけるオブジェクトに変換してあげないといけない
ちなみに10.0.0.0/24でホストに割り当てられる有効なアドレスはnet4じゃなくてnet4.hosts()を使ってください
357デフォルトの名無しさん:2015/01/13(火) 18:20:42.59 ID:j8KuOTF/
ubuntuでpyenvとpyenv-virtualenv使ってるんだけど、pipでインストールしたmatplotlibのpyplotパッケージやpylabパッケージのshow()関数呼び出しても何も起こらない
エラーメッセージすら吐かない
一応python2.7と3.4両方で試してみたけど結果は変わらず
ちなみに試してみたコードで一番簡単なのは次のやつ
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
pllt.show()
358デフォルトの名無しさん:2015/01/13(火) 18:28:57.46 ID:eeRd4u2J
ipython入れて補完できるか確認してみて
359デフォルトの名無しさん:2015/01/13(火) 19:23:32.17 ID:j8KuOTF/
自己解決した
解決する前はbackendがaggになっててたぶんそれのせいで上手くできなかったんだと思う
そんでtgkで起動するためにtkinterを入れてmatplotlib入れ直したらできた

そもそもpyenvでtkinterが上手く入ってなかったみたいで、必要そうなもの色々とインストールしてpyenvのpythonのバージョンを入れ直してようやくtkinterが動いたんだけどね
360デフォルトの名無しさん:2015/01/13(火) 21:44:56.75 ID:8u//ndKD
そりゃあtkはpythonに含まれてないからね
361デフォルトの名無しさん:2015/01/14(水) 09:43:45.67 ID:EnBoJmyV
エラーが不親切(というかそもそも出てないんじゃね)って意味なら同意
362デフォルトの名無しさん:2015/01/14(水) 18:29:08.04 ID:GE1H21pw
matplotlibはバックエンドどれにするかが悩みどころで
結局使わなくなっちゃったなあ
363デフォルトの名無しさん:2015/01/14(水) 18:35:27.23 ID:/jk0RY/v
matplotlib とか basemap とか入れたら
いつの間にか httplib2 が古いバージョンに置き換えられてたでござる
364デフォルトの名無しさん:2015/01/14(水) 18:37:26.08 ID:/jk0RY/v
>>362
単体なら問題ないのに
他の色んなモジュールと組み合わせると動かなくなるってのが困るよねー
365デフォルトの名無しさん:2015/01/14(水) 19:04:19.55 ID:IigJrcbt
あるある
366354:2015/01/15(木) 02:22:06.28 ID:KHeQBVOf
>>354
訂正
>一番簡単なのは、Pythonインタープリタを実行して、
>その中でソースコードを書いて実行する

インタープリタではなく、インタラクティブシェル。
またそれを高機能にした、IPythonもある
367デフォルトの名無しさん:2015/01/26(月) 02:28:32.17 ID:fdPK5fY8
if A != Bとif not A == Bは同じ意味ですか?
368デフォルトの名無しさん:2015/01/26(月) 02:58:59.75 ID:Nas4rFKx
def not_equal_to(a, b):
    if a != b:
        print("a != b")

def not_equal_equal_to(a, b):
    if not a == b:
        print("not a = b")

if __name__=="__main__":
    not_equal_to(2, 2)
    not_equal_to(2, 3)
    not_equal_to("2", "2")
    not_equal_to("2", "3")
    not_equal_equal_to(2, 2)
    not_equal_equal_to(2, 3)
    not_equal_equal_to("2", "2")
    not_equal_equal_to("2", "3")

'''
C:\work>python ne.py
a != b
a != b
not a = b
not a = b
'''
369デフォルトの名無しさん:2015/01/26(月) 03:24:48.29 ID:1ha70wOy
def not_equal_equal_to(a, b):
    if not a == b:
        print("not a == b")

def not_a(a, b):
    if (not a) == b:
        print("(not a) == b")

if __name__=="__main__":
    not_equal_equal_to(1, 1)
    not_equal_equal_to(0, 1)
    not_equal_equal_to("1", "1")
    not_equal_equal_to("0", "1")
    not_a(1, 1)
    not_a(0, 1)
    not_a("1", "1")
    not_a("0", "1")

'''
not a == b
not a == b
(not a) == b
'''
370デフォルトの名無しさん:2015/01/26(月) 06:11:56.81 ID:fhQPsb6z
not_equal_to(False, False)
not_equal_to(False, None)
not_equal_to(False, 0)
not_equal_to(None, 0)
not_equal_equal_to(False, False)
not_equal_equal_to(False, None)
not_equal_equal_to(False, 0)
not_equal_equal_to(None, 0)
371デフォルトの名無しさん:2015/01/26(月) 16:45:12.25 ID:34ZvbZ5E
モジュールとライブラリってどう違うの?
372デフォルトの名無しさん:2015/01/26(月) 17:11:41.13 ID:OM9k+a/d
importの対象であり名前空間を提供するモノとしての側面を強調するならモジュール
お役立ち関数/クラス群としてならライブラリってとこじゃないか
373デフォルトの名無しさん:2015/01/26(月) 23:55:57.91 ID:nAw6e05Y
>368-370
ありがとうございます!
374デフォルトの名無しさん:2015/01/27(火) 03:05:51.48 ID:JE8N2DrC
ある特定少数のソフトウェア向けの何かならモジュール
ある程度幅広いソフトウェア向けの何かならライブラリ
375デフォルトの名無しさん:2015/01/27(火) 11:29:49.50 ID:t2UBLXgk
日本語でおk
376デフォルトの名無しさん:2015/01/27(火) 20:51:44.07 ID:OJ5SgUcW
>>371
もぢゅるもあつまればらいぶらりとなる
377デフォルトの名無しさん:2015/01/28(水) 01:19:49.99 ID:s4FF0JvS
アーカイブは、ライブラリですか?
378デフォルトの名無しさん:2015/01/28(水) 02:46:40.94 ID:Tm33obPu
アーカイブは書庫じゃね
zipとかrarとか
379デフォルトの名無しさん:2015/01/28(水) 02:50:13.49 ID:iRn2n6c7
まずは単語の意味を調べろ。
話はそれからだ。
380デフォルトの名無しさん:2015/01/28(水) 07:56:59.24 ID:U+4OJYJI
オブジェクトファイルをアーカイブコマンドarでまとめたものを
ライブラリとすることもあるけど、
それはそういう扱いをしているということでな
381デフォルトの名無しさん:2015/01/28(水) 08:26:27.39 ID:h5fNpxJ2
sys.path.add() で .tgz とかも追加出来るお
382デフォルトの名無しさん:2015/01/28(水) 08:27:05.37 ID:h5fNpxJ2
まちがえた
x sys.path.add()
o sys.path.append()
383デフォルトの名無しさん:2015/01/28(水) 08:39:12.31 ID:OirFWuRy
.zipじゃなくて.tgz?
384デフォルトの名無しさん:2015/01/28(水) 09:04:14.35 ID:h5fNpxJ2
どっちでもいけるで
385デフォルトの名無しさん:2015/01/28(水) 09:04:46.21 ID:h5fNpxJ2
あと egg も中身は zip だったり tgz だったり
386デフォルトの名無しさん:2015/01/28(水) 09:13:02.21 ID:OirFWuRy
とんとん。調べてみるお
387デフォルトの名無しさん:2015/01/28(水) 13:02:51.65 ID:OirFWuRy
調査報告
.py入りの.zipのimportはうまくいくけど.tgzはImportErrorだった
388デフォルトの名無しさん:2015/01/28(水) 13:30:34.09 ID:U/zfeC5A
馬鹿には無理
389デフォルトの名無しさん:2015/01/28(水) 14:11:24.25 ID:ncVbnS0H
インポートできる名前空間の単位(=定数や関数を定義したファイル名)がモジュール

再利用可能な形にまとめたものがライブラリ(Pythonとしての言葉の定義はないのでは?)
一つのモジュールでライブラリということもあるだろうし
ライブラリの中に関連した複数のモジュールがある場合もあるだろうし
標準ライブラリというようにモジュールのまとまりを指すこともある
390デフォルトの名無しさん:2015/01/28(水) 19:44:20.03 ID:93RLbcHP
え、お前のPythonはgzをimportできないの?
偽者だよそれ

とか言ってみようかと思ったけど
勇気なし
391デフォルトの名無しさん:2015/01/28(水) 19:48:32.43 ID:nz1FZefG
mutiprocessingを使っていて
queueのサイズを確認する方法ってありますか?
392デフォルトの名無しさん:2015/01/28(水) 19:54:05.16 ID:93RLbcHP
え、 qsizeあるだろ

https://docs.python.org/2.6/library/multiprocessing.html

qsize()
Return the approximate size of the queue. Because of multithreading/multiprocessing semantics, this number is not reliable.
Note that this may raise NotImplementedError on Unix platforms like Mac OS X where sem_getvalue() is not implemented.
393デフォルトの名無しさん:2015/01/28(水) 19:55:51.11 ID:zZ5T+Bp9
え、え、え、ええー、ええ、え、
394デフォルトの名無しさん:2015/01/28(水) 20:04:13.99 ID:93RLbcHP
すみません
395デフォルトの名無しさん:2015/01/28(水) 20:18:14.56 ID:OirFWuRy
やだこのスレこわい
396デフォルトの名無しさん:2015/01/28(水) 22:45:26.89 ID:Pj5TPfOs
subprocessモジュールの動かしかたを教えて下さい
このように書いたとき

import subprocess
subprocess.check_output("image.jpg")

次のようなエラーを吐きます

Traceback (most recent call last):
File "test.py", line 2, in <module>
subprocess.check_output("image.jpg")
File "C:\Python27\lib\subprocess.py", line 566, in check_output
process = Popen(stdout=PIPE, *popenargs, **kwargs)
File "C:\Python27\lib\subprocess.py", line 710, in __init__
errread, errwrite)
File "C:\Python27\lib\subprocess.py", line 958, in _execute_child
startupinfo)
WindowsError: [Error 2] 指定されたファイルが見つかりません。

OSはWindows7 Pythonのバージョンは2.7.9です
397デフォルトの名無しさん:2015/01/28(水) 22:49:34.83 ID:SqboHAEq
そのコードを実行したときどうなってほしいのか書いてもらえないだろうか
398デフォルトの名無しさん:2015/01/28(水) 22:55:11.45 ID:q1oY2hNP
そのモジュールの使い方は知らんがimage.jpgが無えって言われてるんじゃないの
399デフォルトの名無しさん:2015/01/28(水) 22:55:36.45 ID:Pj5TPfOs
>>397
コマンドプロンプトにコマンドを打ちこんだような挙動をさせたいです
元々exiftoolという外部ソフトをpythonから動かそうとしていたのですがわかりづらくなるかと思い単純なコマンドにしました
一昨日からプログラミングを始めた身なので変なこと言ってるかもしれませんがお願いします
400デフォルトの名無しさん:2015/01/28(水) 22:57:43.90 ID:Pj5TPfOs
>>398
デタラメなパスを打ち込んでもフルパスを打ち込んでも同じエラーがでます
401デフォルトの名無しさん:2015/01/28(水) 23:01:27.57 ID:OirFWuRy
check_output([exiftoolへのフルパス, "image.jpg"]) の実行例を省略しないで貼ってくれないか
402デフォルトの名無しさん:2015/01/28(水) 23:25:49.39 ID:Pj5TPfOs
>>401
このようなエラーが出ました

Traceback (most recent call last):
File "C:\Python27\app\test.py", line 2, in <module>
subprocess.check_output(["C:\Program Files (x86)\exiftool-9.82\exiftool.exe", "C:\image\abc.jpg"])
File "C:\Python27\lib\subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '['C:\\Program Files (x86)\\exiftool-9.82\\exiftool.exe', 'C:\\image\x07bc.jpg']' returned non-zero exit status 1

Exiftoolはコマンドプロンプトから打ち込んで動かすツールで、パスを通すことでコマンドのように使えます
exiftool -keywords+=1boy -keywords+=1girl image.jpg
とコマンドすればimage.jpgのExifタグに1boyと1girlを追加することができます
subprocessモジュールは括弧内のコマンドをそのまま実行すると聞いて試しているのですが...
cmdで正常に動くコマンドを打ち込んでもこのエラーと同じものが出てきます
403デフォルトの名無しさん:2015/01/28(水) 23:31:31.66 ID:93RLbcHP
C:\\image\x07bc.jpg

なんかおかしくね
404デフォルトの名無しさん:2015/01/28(水) 23:35:45.24 ID:OirFWuRy
となると r'C:¥Program Files ...' にするか 'c:/Program Files ...' か
うちはMacでうまくいく

$ python3 -q
>>> from subprocess import check_output
>>> output = check_output(['exiftool', 'ss.bmp'])
>>> output[:80]
b'ExifTool Version Number : 9.76¥nFile Name : ss.bmp¥n'
405デフォルトの名無しさん:2015/01/28(水) 23:37:27.85 ID:93RLbcHP
いやいやいやエスケープ忘れてるって
406デフォルトの名無しさん:2015/01/28(水) 23:42:15.92 ID:93RLbcHP
raw文字列使うといいと思いますよ

subprocess.check_output([r"C:\Program Files (x86)\exiftool-9.82\exiftool.exe", r"C:\image\abc.jpg"])
407デフォルトの名無しさん:2015/01/28(水) 23:43:40.70 ID:SqboHAEq
エスケープシーケンスで引っかかったのか
rawでない文字列の中で\は通常印字しない特殊な文字を表わすために使う
\として書く場合は2つ重ねて\\と書かなければならない
408デフォルトの名無しさん:2015/01/28(水) 23:44:40.11 ID:93RLbcHP
軽く罠だよね
\記号の後ろがエスケープシーケンスでない場合エラーにならずスルーするの
この仕様で誰が得をしたのか未だによく分からない
409デフォルトの名無しさん:2015/01/28(水) 23:48:19.26 ID:OirFWuRy
¥a はエスケープシーケンスでベルだよ
410デフォルトの名無しさん:2015/01/28(水) 23:49:35.88 ID:Pj5TPfOs
>>405
うわああああああ!!!!ありがとうございます!!
IDLEのバグかと思ってました・・・
バックスラッシュをスラッシュに変えたらうまく動きました
ああ・・・
411デフォルトの名無しさん:2015/01/28(水) 23:50:39.16 ID:93RLbcHP
警告するようなら最初の\Pでとまるっしょ
そこで「認識できないエスケープシーケンスです」って出たら「知らねー単語だわ」だってググるっしょ
そういう意味よ
412デフォルトの名無しさん:2015/01/28(水) 23:52:57.36 ID:93RLbcHP
× 警告するようなら
○ エラーになるようなら

そうじゃなくても凡ミスによるエスケープ忘れは高確率で止められるよね
413デフォルトの名無しさん:2015/01/28(水) 23:56:07.55 ID:Pj5TPfOs
>>411
仰るとおりで...
cmdで動くなら中身に問題はないだろうという先入観がありました
恐らく聞かずに一人では気付かなかったと思います
おかげさまで画像収集が捗ります
414デフォルトの名無しさん:2015/01/29(木) 15:06:56.93 ID:M+KmZpw4
c apiで可変長の引数を受け取り、シーケンシャルに処理するにはどうしたらいいでしょうか?
pythonコードだと、*argsで受け取るのをc apiでやりたい

PyArg_の関数ではなく、タプルとして処理できることはわかってますが、それご正しいのか分からない
415デフォルトの名無しさん:2015/01/29(木) 15:08:58.70 ID:8k6H8xeW
それご正しい
416デフォルトの名無しさん:2015/01/29(木) 15:10:46.28 ID:8k6H8xeW
417デフォルトの名無しさん:2015/01/30(金) 01:09:55.87 ID:s163V8A4
>>415
おおおありがとう
python c APIで期待する結果を得ること自体は、apiが直感的なので難しくないけど
こういう時こうする的なtipsがあまりなくて、けっこう不安です
418デフォルトの名無しさん:2015/01/30(金) 16:14:35.48 ID:Oq+uAeyG
最新版libgit2をインストール
cmake .
make
sudo make install

pygit2をインストール
pip install pygit2

この流れではpygit2のインストールに失敗しました
どうやってインストールできるか教えてください
Debian
419デフォルトの名無しさん:2015/01/30(金) 18:55:08.68 ID:ETWlTvgQ
だからエラー読め質問するならエラー貼れっていってんじゃねえかよ
420418:2015/01/30(金) 19:30:56.43 ID:JD65IaYR
先輩すいません。
エラーはこれですhttp://ideone.com/io5P8C
421デフォルトの名無しさん:2015/01/30(金) 19:45:17.65 ID:ETWlTvgQ
libgit2を入れたって書いてあるけど他の外部依存ライブラリは入れたのか?

http://www.pygit2.org/install.html
ここのRequirementsにcffi 0.8.1+も必要って書いてあるが
422418:2015/01/30(金) 19:57:46.76 ID:o5DeHUoq
入れてませんでした。pip install cffiして入れた後にpip install pygit2やりましたがエラーでインストールできません
http://ideone.com/ZRhtKq
423デフォルトの名無しさん:2015/01/30(金) 20:21:22.21 ID:ETWlTvgQ
Debianは64bit?
424418:2015/01/30(金) 21:37:01.52 ID:/koRDY8e
wheezy 64bitです
425デフォルトの名無しさん:2015/01/30(金) 22:24:15.18 ID:ETWlTvgQ
ソースコードが64bit環境に対応してないんじゃないかと思う
手間だけど32bitOSを使えば上手くいくかもしれない

https://bitbucket.org/cffi/cffi/issue/136/cffi-tests-fail-on-aarch64
https://bitbucket.org/cffi/cffi/commits/af4e381b5e99

俺にはこれ以上分からん
426デフォルトの名無しさん:2015/01/30(金) 22:41:10.32 ID:/koRDY8e
となると厳しいので諦めます
調べていただきありがとうございます
427デフォルトの名無しさん:2015/01/31(土) 19:59:50.02 ID:C4epDZHv
struct git_checkout_optionsのサイズが違うって出てる
libgit2は開発版じゃなくてv0.22.1の方を使えばうまくいくんじゃない
428デフォルトの名無しさん:2015/02/01(日) 14:42:33.21 ID:uQt+NoZh
pygameがないと動かないのでエラーになってますが、こういう文字列を画像にして表示するプログラムを書きました

http://ideone.com/tNXFHQ

【現状】
textクラス中の__init__に文字列を画像にするrenderコマンドを置いているが、これではゲームなどに使ったときに文字列を自由に指定できない
【やりたい事】
main()中で文字列を指定し、画像化、描写を一つの命令文で行えるようにしたい

何かいい方法はないでしょうか
429デフォルトの名無しさん:2015/02/01(日) 16:25:19.85 ID:k8MZj5zh
キャッシュ
430デフォルトの名無しさん:2015/02/01(日) 16:54:47.36 ID:uQt+NoZh
キャッシュ?
431デフォルトの名無しさん:2015/02/01(日) 17:44:16.23 ID:JrPrq0o+
>>428
ほとんど同じような物を作ったことがあります

今だって text_image で持っているものを blit で描画できていますよね
何がしたいのかもう少し
432デフォルトの名無しさん:2015/02/01(日) 19:11:19.30 ID:uQt+NoZh
>>431
例えば、このプログラムを応用してゲームのテキストエンジンとして利用したとき、
今の状況ですとテキストクラスからrender(str)を呼び出した後にdraw(screen, pos)を呼び出して描画しなくてはいけないですよね
勿論このままでも動きますが、一文描画するのに2つの動作を呼び出すのは少し面倒です
そこでもう少し簡潔に、例としてdraw(screen, pos, str)という風に、一文で文字列を描画できるようにしたい訳です
draw()の中にself.render()を入れてみましたが、際限なく新たな描画が続いて上手くいきませんでした
433デフォルトの名無しさん:2015/02/01(日) 19:22:26.67 ID:ymu35Jul
見た感じ、drawにself.renderを加えても際限なく描画されるようには見えない

54行目から56行目の間に書かなければ
434デフォルトの名無しさん:2015/02/01(日) 19:35:41.85 ID:uQt+NoZh
>>433
def draw():の後に入れてみましたがやはりダメでした

http://i.imgur.com/GOwjBhI.png
435デフォルトの名無しさん:2015/02/01(日) 20:29:55.13 ID:JrPrq0o+
>>432
Textにscreenかsurfaceを渡す窓口(あるいはrenderの引数)を用意して
renderの方にdrawを入れて、メインループの中ではblitによるバッファ転送だけする形でどうですか

その場合は、画面管理クラスを別に作った方がよさそうです
436デフォルトの名無しさん:2015/02/01(日) 20:36:19.28 ID:y6cHpPmK
drawの中でrender呼んだらself.text_imagesに要素を追加し続けるから
とんでも座標で描画を続けたのが原因なんじゃないの
437デフォルトの名無しさん:2015/02/01(日) 20:48:26.84 ID:uQt+NoZh
>>435>>436
お陰様で後は自力で何とかできそうです
有り難うございました!
438デフォルトの名無しさん:2015/02/02(月) 15:06:57.29 ID:m/5VlGOo
python.jpに求人情報とかやめとけよ。。。
439デフォルトの名無しさん:2015/02/02(月) 15:13:47.28 ID:EgeABrdT
やめるも何も、出す奴いないよ
440デフォルトの名無しさん:2015/02/02(月) 15:19:04.42 ID:lRVyPaO0
出す奴いない
求人はすでに載ってるから
応募するバカはいないって意味でいいのかな
441デフォルトの名無しさん:2015/02/03(火) 01:37:03.68 ID:QJPps9BC
Python 2.7.6 32bit(Canopyディストリビューション)
pipでScrapyインストール済

Canopy 32-bit command promptで
C:\Windows\system32>scrapy startproject test
を実行すると
WindowsError: [Error 5]Access is denied
になる

権限の問題だと思うんですけど、一括で変更する方法が知りたいです
コマンドプロンプトでできた気はするのですが
442デフォルトの名無しさん:2015/02/03(火) 01:48:43.72 ID:bJajSEki
>>441
c:/windows/system32は書き込みに管理者権限が必要で権限変更するのは論外
他の場所(c:/workとか)にディレクトリ作ってcdで移動してそこで作業すればいい
443デフォルトの名無しさん:2015/02/03(火) 09:17:55.84 ID:TBm/nFR4
>>441
ぼくはねD:¥programfilesフォルダを作って全部そこにエディタやらIDEやら言語やらオフィスやら全部インストールしてますよ
システムフォルダを避けるのはWindowsの鉄板ですよ
444デフォルトの名無しさん:2015/02/03(火) 14:55:47.62 ID:00JNNVea
避けてても C:\hoge\common とかにインスコする糞アプリもある VS とか
VS とか VS とか
445デフォルトの名無しさん:2015/02/03(火) 15:06:26.79 ID:1xtDyTMh
一つのファイル内にpythonのバージョン2.7と3.4を分けて書く方法ありませんか?
例えば
2.7用にprint 1
3.4用にprint(1)
みたいにバージョン特有のコードが書きたいんです。
446デフォルトの名無しさん:2015/02/03(火) 15:22:21.92 ID:TZB29Y9v
future importを検討しろ
447デフォルトの名無しさん:2015/02/03(火) 17:59:14.94 ID:RUeaq0xn
Ctrl+zで終了させるときに特定の処理を行いたいんですが
http://stackoverflow.com/questions/9174799/how-to-prevent-user-stopping-script-by-ctrl-z
ここに載ってるsignalを使った方法をためしても実行されませんでした
何か解決方法を教えてください
448デフォルトの名無しさん:2015/02/03(火) 18:52:31.46 ID:bJajSEki
>>447
OSはUNIX系じゃなくWindows?
だったらEOFErrorを捕まえるとかになるんだろうか
449デフォルトの名無しさん:2015/02/03(火) 19:28:28.28 ID:RUeaq0xn
UNIXですLinux
450デフォルトの名無しさん:2015/02/03(火) 19:45:37.25 ID:zRw9wgG/
何が起きたのか書きなよ
そこに載ってるサンプルを動かしてctrl+zするとどうなったの
何も起きずに動作し続ける?
一時停止してしまう?
何も表示せずに終了する?
451デフォルトの名無しさん:2015/02/03(火) 20:02:39.16 ID:bJajSEki
>>449
ついでにOSやPythonのバージョン、ターミナル何使ってるかとか環境も詳しく
452デフォルトの名無しさん:2015/02/03(火) 20:03:03.13 ID:4Ne+gXZ7
>>445
sysモジュールのsys.version_infoでバージョン番号を取得できるから、
プログラムの頭で取得しておいて、あとはこれを使ってif文で分岐したらいい。
ただしprintはprint関数で統一する必要がある。
3で実行するときにprint文が混じってると実行以前に文法エラーでこける。
453デフォルトの名無しさん:2015/02/03(火) 20:12:23.60 ID:4Ne+gXZ7
>>445
投稿してから思い出したけど他にも文法レベルで2と3で互換性なくて
しかもprintのようには2と3で共通して使える書き方がないのがあったような気がする
だからそういう場合はこの方法は使えないな ごめん
454デフォルトの名無しさん:2015/02/03(火) 20:31:32.93 ID:zRw9wgG/
どうしてもバージョンで分岐させたければ
文字列でバージョン違いの文法を入れて置いてevalすればなんとかなる
関数で各eval処理をラップしとけばそれなりに違和感ないコードになるんじゃね
455デフォルトの名無しさん:2015/02/03(火) 20:35:54.43 ID:zK4Db0E5
six使えんの?
456デフォルトの名無しさん:2015/02/03(火) 20:39:15.68 ID:jTfu7rnB
>>455
まだしたことないです
457447:2015/02/03(火) 21:26:13.21 ID:lVjwn/n/
あ、すいませんちょっと特定の環境っぽいので質問取り消します
458デフォルトの名無しさん:2015/02/03(火) 21:50:16.32 ID:bJajSEki
特定の環境が原因ぽかったらそれ書いてくれないと
回答者やROMってる人の助けにならないぞ
459447:2015/02/03(火) 22:40:19.19 ID:hLrKLBVf
確認したいことがあるので1日待ってください
460デフォルトの名無しさん:2015/02/03(火) 23:07:39.51 ID:bJajSEki
>>459
面倒くさいかもしれないけどよろしく
461デフォルトの名無しさん:2015/02/04(水) 00:17:16.42 ID:E92Eb1xr
本当のトラブルをお見せしますよ
462デフォルトの名無しさん:2015/02/04(水) 09:25:13.37 ID:fF80T871
print() と print を使い分ける wrapper で printf() ってのを作って
そっちだけ使うように書けば良い
463デフォルトの名無しさん:2015/02/04(水) 09:36:28.27 ID:qNYKp0Ci
map使う場合は?イテレータ返すか返さないかになるけどどうしたらいいの?
464デフォルトの名無しさん:2015/02/04(水) 09:46:49.93 ID:2cmJ/TzB
from itertools import imap as map
465デフォルトの名無しさん:2015/02/04(水) 12:58:12.77 ID:rvhcdKCh
pythonのクラス仕様ってphpよりも貧弱なのが気になってる
466デフォルトの名無しさん:2015/02/04(水) 13:00:05.45 ID:2cmJ/TzB
無様なことを強力というならそうかもね
467デフォルトの名無しさん:2015/02/04(水) 16:11:54.38 ID:EhRerTxk
昨日のctrl+zですがこういうことでした
http://peace.2ch.net/test/read.cgi/unix/1413122189/611-
468デフォルトの名無しさん:2015/02/04(水) 17:26:53.56 ID:Hvq8z1KY
特定の環境でもなんでもなく
ただVim上でプログラムを動作させてctrl+zしたらプログラムじゃなくてVimがそれを受け取ってバックグラウンドになっていたのを
プログラムが落ちたと勘違いしていたということね
469デフォルトの名無しさん:2015/02/04(水) 22:31:45.96 ID:ZzO5YX2o
>>467
vimがバックグラウンドに移行するのはいいとして
>>447のpythonで書いたシグナルハンドラも実行されてない?
470デフォルトの名無しさん:2015/02/05(木) 21:27:51.71 ID:gy1V0AJT
>>442-443
ご返信ありがとうございました
確かにsystem32でゴニョゴニョすること自体間違ってますよね
初心者過ぎてすいません
471デフォルトの名無しさん:2015/02/06(金) 00:02:22.85 ID:OhT+VurR
pythonで、連立方程式は解けるんでしょうか?
例えば、
"a+b=6"
"a-b=2"
のように式が文字列で与えられたら、
a=5
b=3
という解を導きたいです。
472デフォルトの名無しさん:2015/02/06(金) 00:05:53.24 ID:LVKoZcPO
pythonに限らずプログラミング言語はどれもできるよ
473デフォルトの名無しさん:2015/02/06(金) 00:13:41.62 ID:OhT+VurR
>>472
pythonではどうやるんでしょうか?
evalでは上手く行かなかったので。
474デフォルトの名無しさん:2015/02/06(金) 00:16:47.41 ID:gUq3o64m
>>471
Sympy というのがあってな
まずはオンラインで試してみるがよろし
http://live.sympy.org/

>>> a, b = symbols('a b')
>>> solve([a + b - 6, a - b - 2])
{a:4,b:2}
475デフォルトの名無しさん:2015/02/06(金) 00:31:12.53 ID:AimmmYil
>>474
所見
おもろい
476デフォルトの名無しさん:2015/02/06(金) 00:51:51.42 ID:OhT+VurR
>>474
ありがとうございます!
こんな事が出来るのが不思議ですね。
477デフォルトの名無しさん:2015/02/06(金) 13:19:38.69 ID:kKwSzCeq
>>476
行列で処理する連立方程式とかで数学ぐぐれば
一般解見れるよ

xの二次方程式の解とかと同じぐらいワンパターンで処理できる
478デフォルトの名無しさん:2015/02/06(金) 13:58:51.52 ID:+HsTLx7S
中学生にも門戸が開かれているpython
479デフォルトの名無しさん:2015/02/06(金) 14:24:05.89 ID:dY44XvYt
どういう意図で言ってるのか知らんけどPython for kidsなんて本も出てるくらいだからまったく不思議な点はないんだよなあ
480デフォルトの名無しさん:2015/02/06(金) 14:40:14.58 ID:90DsWNY6
開かれてない言語って何?w

scratchは5才からって本があるけどw
481デフォルトの名無しさん:2015/02/06(金) 23:04:41.99 ID:c0NRoLXk
世界一の難解さを目的に作られたMalbolgeとかかな
普通の言語ではないが
482デフォルトの名無しさん:2015/02/08(日) 18:13:20.80 ID:Yey/sLzg
どなたかアドバイスお願いします。
pythonまったくの初心者です。CENTOS6で、python2.6を使っています。

tweepyを使って特定のツイートを収集、ファイルに書き出していますが
何かの拍子で、データ書き出しがストップしてしまいます。以降、まったく
データを吐き出さなくなります。問題ないときもあるのですが。。。
標準出力をファイルに書き出しているわけではなく、tweepyのスクリプト
内で、f = open() f.write() f.close()しています。

同様の経験されている方はおられますでしょうか。
483デフォルトの名無しさん:2015/02/08(日) 19:19:24.27 ID:hk971H9N
sys.stderr.write("prompt>> ")
print(sys.stdin.readline())

とやるとpython2.7では
prompt>> userinput
userinput

と出力されるのに対しpython3.4では

userinput
userinput

prompt>>

と出力されてしまいます.
3.4でも2.7の様に動かす方法は無いでしょうか?
標準入力以外のファイルオブジェクトからも入力したいので組み込み関数のinputを使うことを考えていません。
484デフォルトの名無しさん:2015/02/08(日) 19:32:09.79 ID:tUjKNEQ0
>>482
codec の確認とか
encode に error='ignore'
あとちゃんと例外補足汁
485デフォルトの名無しさん:2015/02/08(日) 19:34:53.55 ID:iT8Ynbpt
>>483
python3系は標準エラーが行バッファされてるというバグにも似た仕様のせい

from types import MethodType
sys.stderr.write = MethodType(lambda self, s, *a, **k: self.buffer.raw.write(s.encode(self.encoding), *a, **k), sys.stderr)

こんな感じでバッファリングされなくする事はできる。
486デフォルトの名無しさん:2015/02/08(日) 19:35:11.54 ID:tUjKNEQ0
あと単位時間当たりのAPI呼び出し回数制限越えるとロックが有るな
ひどいとそのまま垢凍結まで逝く

>>483
flush()
487デフォルトの名無しさん:2015/02/08(日) 21:58:45.05 ID:BjIob8z3
ttp://stackoverflow.com/questions/14675140/attributeerror-module-object-has-no-attribute-treetagger


['This\tDT\tthis', 'is\tVBZ\tbe', 'a\tDT\ta', 'very\tRB\tvery', 'short\tJJ\tshort', 'text\tNN\ttext', 'to\tTO\tto', 'tag\tVV\ttag', '.\tSENT\t.']
品詞と
488デフォルトの名無しさん:2015/02/08(日) 22:08:48.85 ID:BjIob8z3
すいません。。全部書き込む前に投稿してしまいました

treetaggerに関することです。
参考にしているのは以下のページです。
ttp://stackoverflow.com/questions/14675140/attributeerror-module-object-has-no-attribute-treetagger
ttp://www.fabienpoulard.info/post/2011/01/09/Python-et-Tree-Tagger

実行して、
['This\tDT\tthis', 'is\tVBZ\tbe', 'a\tDT\ta', 'very\tRB\tvery', 'short\tJJ\tshort', 'text\tNN\ttext', 'to\tTO\tto', 'tag\tVV\ttag', '.\tSENT\t.']
こういう結果をprintするところまで出来たのですが、品詞と入力した単語原形の前に
"t"が入ってしまいます。
tの外すこととタブ区切りの出力がしたいのですが、どうすればよいでしょうか。。
489デフォルトの名無しさん:2015/02/08(日) 22:17:20.08 ID:iT8Ynbpt
>>488
一個づつprintすればタブ区切りになってるから何も問題ない。
for t in tags: print t
やってみ
490デフォルトの名無しさん:2015/02/09(月) 02:30:34.77 ID:LINxt01k
>>485
仕様とバグの区別ができない人?
491デフォルトの名無しさん:2015/02/09(月) 05:36:57.48 ID:0p2uaiNK
stderrが行バファリングしてるとか驚き最大限の法則
492デフォルトの名無しさん:2015/02/09(月) 07:43:46.29 ID:iJdyGTL3
>>490
仕様がバグらないと思ってるひと?
493デフォルトの名無しさん:2015/02/09(月) 08:07:54.75 ID:aQfcHbG+
>>490はバグという言葉に反応して大好きなパイソンが貶されてるとでも思ったん?
494デフォルトの名無しさん:2015/02/09(月) 08:09:53.18 ID:cxy5oANg
コミッターも挙動にびっくりしてるのが面白い
http://bugs.python.org/issue13597
495デフォルトの名無しさん:2015/02/09(月) 12:02:19.52 ID:LINxt01k
なるほど仕様とバグの区別が付かないのか
496488:2015/02/09(月) 12:27:31.03 ID:99yenudv
>>489
ありがとうございます
正規表現だとタブは\tでしたね、、とんちんかんな質問でした
497デフォルトの名無しさん:2015/02/09(月) 12:31:28.62 ID:pXLa1zoS
python -u じゃだめなん?
498デフォルトの名無しさん:2015/02/09(月) 19:52:09.93 ID:+MNuqsBS
処理の早いファイルの可逆暗号で手軽な方法ないでしょうか。
入門ページとかだとMD5やらSHA1が紹介されてるものの、これはただのハッシュ直ですよね?

base64→rot13みたいな隙だらけなものでもいいのですがこれだとファイル容量が膨らみすぎるため、
blowfishのようなもう少し使いやすいものものが理想です。
499デフォルトの名無しさん:2015/02/09(月) 19:59:02.45 ID:vkRnUcmL
厳密な暗号じゃなくていいなら
乱数のシードを鍵にしてxorでも取れば
500デフォルトの名無しさん:2015/02/09(月) 19:59:04.73 ID:sBN76GX2
漏れは aes-256-cbc 使ってる
501デフォルトの名無しさん:2015/02/09(月) 22:42:37.71 ID:FMJ5hSgn
すいません。
正規表現を使って文字列の置き換えを
変数で行いたいんですけど、どのようにすれば良いでしょうか?

------------------------------------------------------
SET_NUM = 111
r1 = r'("NUMBER":")\d+(")'
re.compile(r1)
flow.response.replace(r1, r'\g<1>${SET_NUM}\g<2>', 5)
------------------------------------------------------

よろしくお願いします、、、。
502デフォルトの名無しさん:2015/02/09(月) 23:32:37.54 ID:hYgUeUM1
投稿する場所間違ってねーか?
503デフォルトの名無しさん:2015/02/09(月) 23:34:24.62 ID:FMJ5hSgn
自己解決しますた。
504デフォルトの名無しさん:2015/02/09(月) 23:34:46.48 ID:hYgUeUM1
【FFRK】FFレコードキーパー升スレが出てくるわ
チーターか君は
505デフォルトの名無しさん:2015/02/09(月) 23:36:23.52 ID:hYgUeUM1
タイミング的にrubyスレでmitmproxyのこと聞いてた奴も臭い
506デフォルトの名無しさん:2015/02/09(月) 23:38:30.27 ID:0p2uaiNK
Rubyで書いたりPerlっぽいPython書いたり忙しすぎるだろう
507デフォルトの名無しさん:2015/02/09(月) 23:54:01.03 ID:hYgUeUM1
スレ眺めてきたけど
仮想マシンにpython入れてmitmproxy立てて
root取ってSSL証明書をインストールして
素人の割になかなか根性あるなと思った

エロに掛ける情熱といい勝負
508デフォルトの名無しさん:2015/02/09(月) 23:56:55.33 ID:bwEZbR4B
509デフォルトの名無しさん:2015/02/10(火) 00:41:07.61 ID:MYjHodlR
windowsで2.7を使っているのですが、
ディレクトリ一覧を見るtreeコマンドを使うためにはどうすればよいのでしょうか

pipとdistributeは入れていて、easy_install treeってやってみたのですが
うまくいきません
510デフォルトの名無しさん:2015/02/10(火) 03:14:34.62 ID:S8aa6Cnw
os.walk
511デフォルトの名無しさん:2015/02/10(火) 14:19:25.82 ID:MYjHodlR
>>510
ありがとうございました
今はtreeは使えないということでしょうか。
512デフォルトの名無しさん:2015/02/10(火) 15:04:06.09 ID:ALeeSDV7
>>509
まずtreeとはなんでしょうか
そして何がうまくいかないのか情報がたりません。何をして何のエラーがをはいたかなどを書きましょう。
treeとはhttps://pypi.python.org/に登録されているパッケージのことですか?それなら該当するページを貼ってください。
513デフォルトの名無しさん:2015/02/10(火) 15:05:58.43 ID:ALeeSDV7
ひょっとしてlinuxのtreeコマンドを実行したいなら
http://docs.python.jp/2/library/subprocess.htmlをみましょう
514デフォルトの名無しさん:2015/02/10(火) 15:55:52.25 ID:Hs3TdF+4
ありがとうございました
515デフォルトの名無しさん:2015/02/10(火) 16:01:52.74 ID:MYjHodlR
>>513
すいません
pythonでもlinuxコマンドが特に気にせず使えるものだと勘違いしていました
アホすぎますね、もっと勉強します
516デフォルトの名無しさん:2015/02/10(火) 19:55:29.72 ID:V4ts0ZsF
import sys.os
たっけ?
517デフォルトの名無しさん:2015/02/10(火) 20:45:04.04 ID:sLQgIheM
nihongodeok
518デフォルトの名無しさん:2015/02/10(火) 20:46:14.92 ID:0/TZRNUl
>>516
とりあえず試そう
519デフォルトの名無しさん:2015/02/11(水) 01:12:51.19 ID:GkIWFUyF
試す暇があったらお前らになんか聞かんわ
520デフォルトの名無しさん:2015/02/11(水) 02:45:25.74 ID:sfXJxhtA
>>519
ここに書き込むより自分で試したほうがよっぽど速い。
それをしないお前はクズ。
521デフォルトの名無しさん:2015/02/11(水) 04:19:45.07 ID:G6Qrpf6L
sqlalchemyのcommit()とflush()てどう違うんでしょうか?
同じですか?
522デフォルトの名無しさん:2015/02/11(水) 06:05:02.34 ID:29qyXWgk
commitはボットン便所
flushは水洗便所
523デフォルトの名無しさん:2015/02/11(水) 13:33:17.98 ID:G6Qrpf6L
すみませんもうちょっと詳しく教えていただけないでしょうか
524デフォルトの名無しさん:2015/02/11(水) 13:50:03.72 ID:luZixpFu
525デフォルトの名無しさん:2015/02/11(水) 19:06:05.92 ID:G6Qrpf6L
>>524
ありがとうございます
526デフォルトの名無しさん:2015/02/12(木) 02:16:08.34 ID:l8sOurZL
さよならpyscripter
君の事は大好きだったけどraw_inputが読み込めないのが怖くて使えないんだ……

はぁ、開発環境どないしよ
pycharmのオープンソース版とかいう奴でええんかな
527デフォルトの名無しさん:2015/02/12(木) 04:09:05.71 ID:nz2ivqB0
>>510
ファイル数が少ないならいいけどos.walkって糞遅いんだよね
その部分だけc/c++で書いてswigとかで呼び出したほうが幸せだわ
528デフォルトの名無しさん:2015/02/12(木) 04:32:53.18 ID:/kBvo1zT
パス列挙する以外に余計な機能持ってるかんね
ディレクトリとファイルを分ける為に一つ一つシステムコール打ちやがるし
初期のナンセンスな設計そのままって感じ
529デフォルトの名無しさん:2015/02/13(金) 09:43:12.40 ID:BrAGpUh6
質問です
python でopenしたファイル(テキストファイル)を、10行ずつ別ファイルに
書き込みたいです。
別の変数を用意して、
ファイルを読み込んで、1行ずつ書き込んでいくごとに1足していって、10になったら
別ファイルに書くようにすればいいかと思うのですが、もっといい方法あったら教えてください。
530デフォルトの名無しさん:2015/02/13(金) 09:49:37.42 ID:OQXQ5SVC
それでいいよ
531デフォルトの名無しさん:2015/02/13(金) 13:51:13.72 ID:XSQtTg3s
いい方法かどうかはわかんないけど、こんなやり方もあるって程度で↓
1. 全部一気に読む
2. 改行文字でsplit()
3. 2で出力されたリストを10個ずつ書き出す

この方法だとメモリを食うのが難点だけど、ファイル書き出しを始める前にファイル総数が分かる点はメリット。
532デフォルトの名無しさん:2015/02/13(金) 13:51:43.35 ID:dpVVOxpY
だめよ
だめだめ
533デフォルトの名無しさん:2015/02/13(金) 22:13:40.15 ID:SVZa3gOz
534デフォルトの名無しさん:2015/02/13(金) 22:17:50.53 ID:bVuUfGGH
親切だな・・・と、思ったらw
535デフォルトの名無しさん:2015/02/13(金) 22:30:06.64 ID:VTed8hSx
なにこのわざわざPythonをRubyに変換したかのようなRubyらしくないコード
536デフォルトの名無しさん:2015/02/13(金) 22:50:58.97 ID:VTed8hSx
import itertools
lines=10
filename="input.txt"
for i in itertools.zip_longest(*[open(filename,"r")]*lines): print(i)
# ファイルへの出力に自分で変えてね
537デフォルトの名無しさん:2015/02/13(金) 23:10:45.29 ID:kDDtzzsz
その発想はなかったけど嫌なコードだなw
538デフォルトの名無しさん:2015/02/13(金) 23:17:03.64 ID:VTed8hSx
その場限りならインタフェースと動作さえ分かってれば実装はどうでもよいのさ
539デフォルトの名無しさん:2015/02/14(土) 01:17:41.83 ID:eT51Fssc
そういった書き捨てや簡単な文字列処理のコードは、perlやシェルの方が
適しているのかな
540デフォルトの名無しさん:2015/02/14(土) 02:11:22.92 ID:6+v8Aa7S
んなこたあない
541デフォルトの名無しさん:2015/02/14(土) 09:45:13.69 ID:9lOVDoz+
そもそもテキストファイルを特定行数単位で処理するのって
どの言語も不得意なテーマだよ
データ処理のエキスパートであるSQLですら、上位xx行という機能はあっても
xx行ずつレコードを抜き出すという機能は持ち合わせていない
542デフォルトの名無しさん:2015/02/14(土) 10:01:16.90 ID:AJcG1brN
不得意も何もPythonのzip_longestやRubyのeach_sliceでサクッと解いてるじゃないか
543デフォルトの名無しさん:2015/02/14(土) 10:26:53.77 ID:L/dx5qmH
>>541
MySQLにはlimit句で行数の取得制限あるよ
じゃないとwebのページング処理とか作れない
544デフォルトの名無しさん:2015/02/14(土) 10:31:16.03 ID:xzkKcWkn
limitって上位xx行だけじゃなくて
上位oo行から上位ωω行までって指定も出来たっけ
545デフォルトの名無しさん:2015/02/14(土) 10:43:37.86 ID:L/dx5qmH
>>544
例えば3ページ目の15件なら
select * from xxxx limit 30, 15
のようにカンマの前にスキップ数を指定

通常は順序が不定にならないようにorder byも入れるかな?
546デフォルトの名無しさん:2015/02/14(土) 10:44:23.21 ID:pzGXmezT
limit offsetだろ
まあ素人がスロークエリー作りやすい機能だけど
547デフォルトの名無しさん:2015/02/14(土) 10:59:52.77 ID:Tntf/sjh
2点間の経度緯度の距離を求めるパッケージってありませんか?
国土地理院で公開されている計算式が読めなくてコードにするのに挫折したんですが
パッケージなら有りそうな気がするので
548デフォルトの名無しさん:2015/02/14(土) 11:02:16.61 ID:Tntf/sjh
経度緯度 距離 javascript
でググって出てくる1ページ目の記事で公開されているコードの実行結果と
国土地理院での結果があまりにも違いすぎて

東京駅から埼玉の大宮駅の間だけで5000kmもの差が出てるのでググって出てきた記事ですら信用できません
549デフォルトの名無しさん:2015/02/14(土) 11:14:55.18 ID:xzkKcWkn
それ地球一周してないか
550デフォルトの名無しさん:2015/02/14(土) 11:21:14.79 ID:pzGXmezT
そもそもなんでjavascriptなんだ
質問するところ間違ってねえか
npmのパッケージ探してますとか言ったらころすぞ
551デフォルトの名無しさん:2015/02/14(土) 11:22:49.17 ID:xzkKcWkn
552デフォルトの名無しさん:2015/02/14(土) 11:22:53.64 ID:pzGXmezT
本当にPythonなら https://pypi.python.org/pypi/geopy を使うとよい
553デフォルトの名無しさん:2015/02/14(土) 11:31:36.15 ID:pzGXmezT
地球を球体として扱っている式は、緯度方向のずれが大きくなるので止めた方がいい
球体扱いとvincentyの式では、東京大宮間ですら4kmも差が出る
554デフォルトの名無しさん:2015/02/14(土) 13:16:06.26 ID:4Ppy833I
語学学習のための動画ファイルを自動的にダウンロードすることを考えています。
以下のサイトの再生ボタンを python から操作したいのですが、良い方法があれば教えていただけると助かります。

http://www.nhk.or.jp/kokusaihoudou/movie.html?v=72d3551c8a75a8bb2d9

※RTMPDUMP というソフトを事前に起動しておけば、動画を再生することで動画ファイルを保存出来るため。
555デフォルトの名無しさん:2015/02/14(土) 13:29:52.55 ID:FOX5OGDf
またコード1から書いてくれちゃんですか
556デフォルトの名無しさん:2015/02/14(土) 13:41:06.49 ID:AJcG1brN
コードば書いてくれちゃらんですかに見えた
557デフォルトの名無しさん:2015/02/14(土) 13:55:07.13 ID:G55HU/jn
558デフォルトの名無しさん:2015/02/14(土) 14:28:40.47 ID:G55HU/jn
>>548
>>551
cos(距離/赤道半径) = sinY1sinY2 + cosY1cosY2cos(X2-X1)
tan(90 - 方位角) = sin(X2-X1) / (cosY1tanY2 - sinY1cos(X2-X1))

大宮 = 139.647216796875 , 35.8667954174903
東京 = 139.735107421875 , 35.7108378353009
赤道半径 = 6378.137 km
距離 = 19.089176 km
方位角 = 155.407105 (155:24:25.58)
559デフォルトの名無しさん:2015/02/14(土) 15:02:52.37 ID:4RlJzBDK
>>554
ブラウザ操作ならSelenium
560デフォルトの名無しさん:2015/02/14(土) 18:30:14.71 ID:LnLkdXvp
PythonでWindowsアプリというかクロスプラットフォームアプリを作る時
Windowsではpy2exeでまとめるのが今も一般的ですか?
561デフォルトの名無しさん:2015/02/14(土) 18:30:17.32 ID:4Ppy833I
>>555
何かヒントだけでも良いので教えてもらえると・・・

>>557
これはJavaスクリプトですか。

>>559
ありがとうございます。
調べてみます。
562デフォルトの名無しさん:2015/02/14(土) 18:41:31.98 ID:IBf+xnKf
俺ぐらいの実力ならシェルスクリプトでcurl使うけどね
563デフォルトの名無しさん:2015/02/14(土) 19:03:22.47 ID:pzGXmezT
>>560
俺の観測範囲では利用例を見たことがない
今もってことは昔は一般的だったのか?
564デフォルトの名無しさん:2015/02/14(土) 19:09:06.71 ID:LnLkdXvp
>>563
知らないです。ぐぐったらそれが出てきたので。

Windowsでサービス化したアプリを作りたいと思っているのですが、
どうすればいいのかなーと思って。
565デフォルトの名無しさん:2015/02/14(土) 19:11:41.05 ID:Wks88uPG
おれならpyqtを使う
566デフォルトの名無しさん:2015/02/14(土) 19:19:52.96 ID:pzGXmezT
サービスなんかスクリプトのままでも登録できる
普通に作るとサービスイベントに反応できないが、そりゃexeにしたって同じだろう

sc create hoge binPath= C:\path\to\python.exe C:\path\to\script.py
567デフォルトの名無しさん:2015/02/14(土) 19:26:03.33 ID:pzGXmezT
568デフォルトの名無しさん:2015/02/14(土) 19:30:28.97 ID:LnLkdXvp
>>565
それGUIじゃないんですか?
サービスなのでGUIはいらないです。

>>566
問題はサービスに登録する方法ではなくて、
普通のユーザーはpython.exeを持っていないので、
どうやって配布するかという問題です。

python.exeをzipに詰めて、install.batすればいいんでしょうか?
569デフォルトの名無しさん:2015/02/14(土) 19:31:08.99 ID:LnLkdXvp
つまり、パッケージ化の方法。
使っているライブラリを全部含めないといけない。
570デフォルトの名無しさん:2015/02/14(土) 20:16:55.59 ID:4RlJzBDK
比較したことないけどcxfreezeが簡単だったょ
571デフォルトの名無しさん:2015/02/14(土) 20:35:10.46 ID:TJAnvvXO
>>558
質問です

from math import *

def rad(t):
return t * pi / 180.0

def irad(r):
return r * 180.0 / pi

def main(r, (n1, x1, y1), (n2, x2, y2)):
print '%-10s: %20.15f, %20.15f' % (n1, x1, y1)
print '%-10s: %20.15f, %20.15f' % (n2, x2, y2)
rx1, ry1 = rad(x1), rad(y1)
rx2, ry2 = rad(x2), rad(y2)
rdx = rad(x2 - x1)
print 'd: %20.15f' % (r * acos(sin(ry1) * sin(ry2) + cos(ry1) * cos(ry2) * cos(rdx)))
print 't: %20.15f' % (90.0 - irad(atan((cos(ry1) * tan(ry2) - sin(ry1) * cos(rdx)) / sin(rdx))))

if __name__ == '__main__':
omiya = ('Omiya', 139.647216796875, 35.8667954174903)
tokyo = ('Tokyo', 139.735107421875, 35.7108378353009)
main(6378.137, omiya, tokyo)
main(6378.137, tokyo, omiya)

方向角が180度変わることを期待したのですが同じ値になってしまうのです。なぜでしょうか?どう治せば良いですか?
572デフォルトの名無しさん:2015/02/14(土) 20:36:26.54 ID:a/Aaml5q
>>570
ありがとうございます。

py2exeはPython3には対応してないみたいですね。
PyInstallerというのも見つけたけど同様。
573デフォルトの名無しさん:2015/02/14(土) 23:15:17.17 ID:j6SWj+8+
vimをIDE化しようとして挫折しました
windows環境でオススメのIDE教えて頂けませんか
574デフォルトの名無しさん:2015/02/14(土) 23:45:07.95 ID:15MsuvIH
PyCharm
575デフォルトの名無しさん:2015/02/14(土) 23:51:26.64 ID:3EzoAznx
windowsだとunicornとか使えなくて色々不便に感じませんか
576デフォルトの名無しさん:2015/02/15(日) 00:20:33.75 ID:emBVm4wS
>>574
ありがとうございます
英語の勉強と思って暫く頑張ってみます

>>575
まだpython初めて2週間そこらなんです
何か不便に感じる部分があったらまた相談に来たいと思います
577デフォルトの名無しさん:2015/02/15(日) 01:30:39.60 ID:l4Ml7vAk
IDE化より先にやることあるだろバカ
578デフォルトの名無しさん:2015/02/15(日) 08:38:55.42 ID:m8EyiHEU
先にやることとは?

初学者ほどIDEあると簡単に文法チェックや動作確認デバッグできるから有用だと思う
リファレンスとか見なくても書けるようになると一時期はエディタだけでもよくなり
大きいソフトを書くようになるとまたIDEで管理が有用になる感じだなあ
579デフォルトの名無しさん:2015/02/15(日) 09:25:20.88 ID:MIyWYvDB
>>578
577は、煽り学習法厨。
580デフォルトの名無しさん:2015/02/15(日) 09:30:41.96 ID:p1zacc3e
シェルの扱いにも慣れていないようなずぶの初心者にIDE勧める奴は理屈抜きで銃殺されてほしい
581デフォルトの名無しさん:2015/02/15(日) 09:41:23.77 ID:oBnjhPw1
これも煽り学習法厨かぁ
582デフォルトの名無しさん:2015/02/15(日) 10:05:45.91 ID:BnNo2fCr
>>556
ワロタwww
583デフォルトの名無しさん:2015/02/15(日) 11:09:44.10 ID:cXPo/aFG
vim でいえば python 初学者に必要なのはいいとこ
quickrun と python-pep8-indent と好きなカラースキームくらいでしょ。
せっかくの動的型付けのインタープリタ言語なのだし(ガシガシ実行してエラー吐けば良い)
# vim のメインの魅力はそこにはない…と思うので、IDE化挫折でストレスなく他の環境に移れるなら
# それもいいとはおもうけど
584デフォルトの名無しさん:2015/02/15(日) 11:42:33.69 ID:NqF+36Lb
チョンチョンうるせー
585デフォルトの名無しさん:2015/02/15(日) 12:00:49.78 ID:GsyuIu8e
586デフォルトの名無しさん:2015/02/15(日) 12:03:15.45 ID:uxAoEDAd
将来性がなさそうなSublimeですか
開発者はぼっちを卒業できたの?
587デフォルトの名無しさん:2015/02/15(日) 12:08:59.14 ID:nj8cCepF
プラグインとか入れすぎると設定ファイルやらキーバインディングやらわけわからなくなるw
588デフォルトの名無しさん:2015/02/15(日) 12:37:28.07 ID:cwqWcMrx
なんてったってIDLE〜
589デフォルトの名無しさん:2015/02/15(日) 16:07:55.41 ID:bX6frV1s
節子それ綴りちゃう
590デフォルトの名無しさん:2015/02/15(日) 21:50:40.79 ID:yEZCPie2
pycharmが便利すぎるんだもの・・・
591デフォルトの名無しさん:2015/02/16(月) 02:56:11.07 ID:Zn9bWbFW
>>568-569
「パーフェクトPython」によると、
標準ライブラリの distutils をベースにした、
distribute がよく使われているらしい

プロジェクトには、setup.py モジュールを含める

README.txt は、reST記法で書く。
reSTは、Sphinx ユーザ会を参照

アプリをPyPIで公開
592デフォルトの名無しさん:2015/02/16(月) 03:51:48.70 ID:eNf9G2qM
>Since the Setuptools 0.7 release, Setuptools and Distribute have merged and Distribute is no longer being maintained.
>Distribute is no longer being maintained.
>Distribute is no longer being maintained.
>Distribute is no longer being maintained.
593デフォルトの名無しさん:2015/02/16(月) 22:56:27.23 ID:bBWfSFB0
>>591
レスありがとうございます。

ですが、そのレスを見るより先に、こっちを読んでしましましたw
http://www.yunabe.jp/docs/python_package_management.html

> 原則 pip を使ってパッケージの管理を行う
> setuptools も広く使われているので入れておくとよい。そもそも pip のインストール時に自動的ににインストールされる
> distribute は 2013年に setuptools にマージされたので不要
594デフォルトの名無しさん:2015/02/19(木) 21:59:37.47 ID:SeqnhdII
pythonのtkってドキュメントに書いてあることが圧倒的に少ないんですが書いてないのは未実装ってことですか?
595デフォルトの名無しさん:2015/02/20(金) 00:10:50.21 ID:0PEQCiTj
はい?
596デフォルトの名無しさん:2015/02/21(土) 14:25:07.32 ID:gDUcfidl
from moduleName import ClassName
とクラスをインポートしてリロードしたい場合どう書くのでしょう?
597デフォルトの名無しさん:2015/02/21(土) 15:18:29.29 ID:Z8d/Dz/w
リロードってなに?ブラウザ上?
598デフォルトの名無しさん:2015/02/21(土) 15:32:18.23 ID:gDUcfidl
内容を修正して再読み込みしたいときに
モジュールでfrom modulePath import moduleNameとインポートしていれば
reload(moduleName)と書いていたのですが
from moduleName import ClassName
とクラスをインポートしている場合、どう書くのかなと
599デフォルトの名無しさん:2015/02/21(土) 18:08:48.67 ID:+xlkhew9
>>598
リロードはできる、できるが・・・
君が望んでるリロードではないと思う
もしそうなら君が望んでるリロードはできない
どう書けばいいかでなくそういう機能はない

http://pastebin.com/3CYgfGBF
600デフォルトの名無しさん:2015/02/21(土) 18:11:47.69 ID:+xlkhew9
余談だが、フレームワークの機能によくあるautoreloadは
自分自身を再起動する or execfileでソースから実行する
などの方法を使っている
601デフォルトの名無しさん:2015/02/21(土) 20:06:37.88 ID:gDUcfidl
ありがとうございました
修正がありそうなものはクラスで読み込まないように書こうと思います

もう一点インポートについて
import modulePath.moduleName as moduleName
といったモジュール名と同じ名前を別名に与えているコードがあります
個人的に名前を変更しないならfromのほうが自然のような気がするのですが
from modulePath import moduleName
何か利点があるのでしょうか?
602デフォルトの名無しさん:2015/02/21(土) 20:16:12.87 ID:HRR/gGfP
__init__.py を敢えて使いたくない(書きたくない)ときとかかな
603デフォルトの名無しさん:2015/02/21(土) 20:21:48.31 ID:/hoA+ACR
なんで

hensu, hensu2 = map(int, raw_input().split())
print(hensu, hensu2)
print hensu, hensu2

プリントの出力が違うのはなぜですか
604デフォルトの名無しさん:2015/02/21(土) 20:36:25.15 ID:sa43Zcnr
print(a, b)は引数のタプル(a,b)をprintしてる
一方print a, bは引数aと引数bをprintしてる
605デフォルトの名無しさん:2015/02/21(土) 20:53:32.79 ID:SU8LRiPf
python3だと
print((hensu, hensu2))
print(hensu, hensu2)
こうなっちゃうね
606デフォルトの名無しさん:2015/02/22(日) 00:54:32.42 ID:dEB4uEVR
いまどきPython2なんかつかってるロートルほど自分のPythonのバージョン書かないのな。
607デフォルトの名無しさん:2015/02/22(日) 00:59:33.32 ID:c7iyE8Go
>>602
ありがとうございます
608デフォルトの名無しさん:2015/02/22(日) 01:50:41.10 ID:COKde7BB
>>606
print文なんてFAQレベルじゃん
つーかPython2なんかをつかわない環境を明記してくれよw
609デフォルトの名無しさん:2015/02/22(日) 09:52:00.80 ID:LjorwAuy
コード見てpython2だという事がわからない無知がいるのかよ
610デフォルトの名無しさん:2015/02/22(日) 10:12:25.02 ID:2vzKbssH
from __future__ import print_function

Python2なら書いとけよ
611デフォルトの名無しさん:2015/02/22(日) 10:13:30.86 ID:TAWF76o2
最初の質問者じゃないんだけど、疑問に思ったので便乗質問させてください。

print関数って2.6以降の2.x系にバックポートされて、
2.6と2.7ではprint文とprint関数の両方が使える、
と思い込んでたけど、実は違った。
ここの流れを見ていて、同じprint関数なのになんで挙動が違う?
と疑問に思って調べて、初めて知った。

2.x系におけるprint()は、見かけに相違して、print関数ではなく、
() で囲まれた式をprint文に渡しているものとして解釈されている。
("a") みたいに () の中がひとつなら2.xでも3.xでも同じ挙動だけど、
("a", "b") みたいに () の中に "," で区切って複数を並べると、
2.xではタプルをprint文に渡したものとして解釈される
(一方、3.xではふたつの引数をprint関数に渡したものとして解釈される。
2.xにおける print "a", "b" と同じ)。
2.x系でprint()に3.x系と同じ挙動を求めるなら、
from __future__ import print_function を実行して、
print文を無効にし、print関数を有効にしなければならない。

この理解であっていますか?
612デフォルトの名無しさん:2015/02/22(日) 11:04:10.99 ID:uX3Bvmht
>同じprint関数なのになんで挙動が違う?

だれが同じprint関数って言ってた?
613デフォルトの名無しさん:2015/02/22(日) 11:18:14.17 ID:JdprH66q
そうだよ、両方使えると言えば使えるが
future文による切り替えで混在している訳ではない
括弧つけたくらいでキーワードが識別子になるものか
614デフォルトの名無しさん:2015/02/22(日) 12:08:42.83 ID:x6DbFD5S
オライリーのデータ分析入門やってる。最初のサンプルデータから、エンコードのエラー出るんだけど…。どうしたらいいの…。
615デフォルトの名無しさん:2015/02/22(日) 12:13:07.50 ID:tq8+HI3u
いきなりスポーツカーに乗らないで教習所から始めたらどうですか
616デフォルトの名無しさん:2015/02/22(日) 12:22:07.32 ID:x6DbFD5S
ホームページから落としたサンプルを本の通りに数行入力しただけなんだけど。それがスポーツカーなのか?
まあもう少し調べてみるが。
617デフォルトの名無しさん:2015/02/22(日) 12:28:22.61 ID:zI7TF6m8
・エラーを見て何が原因か調査する
・サンプルが動く動作環境を満たしているか確認する
618デフォルトの名無しさん:2015/02/22(日) 12:34:03.75 ID:uX3Bvmht
>>616
スポーツカーというか盗難車だな
619デフォルトの名無しさん:2015/02/22(日) 13:06:41.71 ID:ZJshy5JI
Python3にはまだ早い
あと2年待て
620デフォルトの名無しさん:2015/02/22(日) 13:10:02.34 ID:G9MatKu0
と、言われ続けてはや幾年
621デフォルトの名無しさん:2015/02/22(日) 14:23:33.95 ID:TfAgRNIZ
>>616
窃盗と無免許運転です
622デフォルトの名無しさん:2015/02/22(日) 14:27:06.89 ID:33oFsXpr
運転免許には、車の点検・整備の責務もあるんだよなぁ
623デフォルトの名無しさん:2015/02/22(日) 14:37:59.78 ID:TfAgRNIZ
自賠責加入も義務だな
窃盗無免許だと保険下りないだろうけど
624デフォルトの名無しさん:2015/02/22(日) 15:00:42.15 ID:0njaRTk3
その本はPythonの入門書ではない
Pythonという言語の使い方が分かっている人向けの、Pythonを使ってデータ分析する入門書

車に乗れないのに、車に乗れる人向けのスポーツカーの乗り方を見てるようなもの
625デフォルトの名無しさん:2015/02/22(日) 16:35:34.11 ID:Y6PClI/L
スポーツカーの乗り方って普通の車とそんなに違うの?
626デフォルトの名無しさん:2015/02/22(日) 16:38:56.93 ID:tq8+HI3u
僕は乗り方(Python自体のチュートリアル)から学んだらどうですかと言ったつもりなんですが
なんかへんな方向に進んでますね
627デフォルトの名無しさん:2015/02/22(日) 16:46:55.79 ID:TAWF76o2
>>613
ありがとう。

>>612
少なくとも俺はそう思い込んでたっていうこと。
628デフォルトの名無しさん:2015/02/22(日) 16:49:20.24 ID:Y6PClI/L
たとえ話は適切に用いないと読み手に却って混乱を来たすという好例ですね。
629デフォルトの名無しさん:2015/02/22(日) 17:17:07.83 ID:6dzHQoci
>>625
違う
まっすぐ走るのも結構難しい
何もない直線で自分の車なのにガードレールに突っ込むやつとか見たこと無い?
630デフォルトの名無しさん:2015/02/22(日) 17:22:35.88 ID:G9MatKu0
低速で走る方が難しい、車高が低いから視界が悪い
631デフォルトの名無しさん:2015/02/23(月) 15:47:08.16 ID:UVXbAF4b
>>595
panedWindowの説明も載ってない
632デフォルトの名無しさん:2015/02/23(月) 16:05:20.33 ID:cY48eAod
>>631
https://docs.python.org/3/library/tk.html
> The tkinter package is a thin object-oriented layer on top of Tcl/Tk.
> To use tkinter, you don’t need to write Tcl code, but you will need
> to consult the Tk documentation, and occasionally the Tcl documentation.

http://effbot.org/tkinterbook/panedwindow.htm
633デフォルトの名無しさん:2015/02/23(月) 16:51:30.66 ID:Kf7W7KjZ
Tclコードを書く必要はないが、TkやTclのドキュメント見てね、か
634デフォルトの名無しさん:2015/02/26(木) 06:37:21.90 ID:7Ps8h7ua
すいません、本当に下らない質問をさせて下さい。

datetime.dateでは2つの日時で引き算が出来るのですが、datetime.timeで2つの時刻を使った引き算が出来ません。

s = datetime.time(15,20)
e = datetime.time(21,30)
t = e - s

何を使えば良いのでしょうか?
635デフォルトの名無しさん:2015/02/26(木) 07:16:27.97 ID:NRaL/N/C
>>> import datetime
>>> s = datetime.datetime(2015,2,26,15,20)
>>> e = datetime.datetime(2015,2,26,21,30)
>>> t = e - s
>>> t
datetime.timedelta(0, 22200)
636デフォルトの名無しさん:2015/02/26(木) 07:50:28.11 ID:rnY64eLq
http://bugs.python.org/issue17267
なんか揉めていやがる
ま〜たタイムゾーンか

joda-timeみたいにdateとtimeはlocalオンリーにすればよかったんだよ
マヌケめ
637デフォルトの名無しさん:2015/02/26(木) 08:11:23.97 ID:7Ps8h7ua
>>635
ありがとうございます。

ちなみに「時??分」の入力だけで求められる方法ってないでしょうか?
特に年月日が決まってない際には困るなぁと思いまして。
638デフォルトの名無しさん:2015/02/26(木) 08:33:49.85 ID:rJrYfait
GoogleAppEngineもなんかtimezone可笑しいんだよな
639デフォルトの名無しさん:2015/02/26(木) 08:34:41.95 ID:rJrYfait
>>636
日本みたいに夏時間使ってなくてtimezoneも一つしかない国ならそれが一番良いんだけどね
640デフォルトの名無しさん:2015/02/26(木) 08:39:28.47 ID:rJrYfait
641デフォルトの名無しさん:2015/02/26(木) 09:54:48.82 ID:x0eimpI7
俺にも解けた!
642デフォルトの名無しさん:2015/02/26(木) 09:55:01.39 ID:h/RT/ene
phpは夏時間にも対応している
pythonも対応するべきだ
643デフォルトの名無しさん:2015/02/26(木) 10:55:04.14 ID:rJrYfait
>>641
python で解くプログラム書いてみ
644デフォルトの名無しさん:2015/02/26(木) 10:56:05.57 ID:rJrYfait
>>642
pytz が有名だけど
645デフォルトの名無しさん:2015/02/26(木) 20:37:03.22 ID:NRaL/N/C
>>637
年月日がきまってないっていうことはその2つの時刻が
同日だという保証もないので計算不能が正しいのでは?
もし同日と見なしてもいい場合は、そういうメソッドは
ないので自分で求めましょう。
646デフォルトの名無しさん:2015/02/26(木) 21:51:55.23 ID:EQFLZ0n/
うるう秒のある日だったらどうするんだろうな
647デフォルトの名無しさん:2015/02/26(木) 23:14:51.09 ID:s/sSMokI
>>637
端からTimeDelta同士にすれば良…くないかな?

s = datetime.timedelta(hours=15,minutes=20)
e = datetime.timedelta(hours=21,minutes=30)
t = e - s
648デフォルトの名無しさん:2015/02/27(金) 10:48:00.29 ID:8am9uRwl
>>637
import datetime
x = lambda h, m: datetime.timedelta(hours=h, minutes=m)
s = x(1, 2)
e = x(5, 7)
print(e - s)
649デフォルトの名無しさん:2015/02/27(金) 11:38:34.02 ID:OVfL6gGI
>>634
e>=sの条件が絶対に成り立っているの?
時刻だけで計算したいって言うならsが23:59でeが0:00みたいなときはどうすんの?
650デフォルトの名無しさん:2015/02/27(金) 11:39:40.02 ID:OVfL6gGI
21時30から15時20を引くなら単純に
2130-1520でもいいんだけどさ
651デフォルトの名無しさん:2015/02/27(金) 11:46:54.58 ID:rH0Q6QqF
このスレは条件後出し推奨ですか?
652デフォルトの名無しさん:2015/02/27(金) 11:49:54.33 ID:RzxKPtwm
ツッコミだと思います先生
653デフォルトの名無しさん:2015/02/27(金) 13:30:03.74 ID:EtM70Hm1
今からpython学ぶ場合、2と3ではどっちのほうがいいんだよ
654デフォルトの名無しさん:2015/02/27(金) 13:40:23.10 ID:rH0Q6QqF
両方やれ
Pythonに横道なし
655デフォルトの名無しさん:2015/02/27(金) 14:01:33.52 ID:kbiroK7N
俺も新しもの好きで3.3から始めた俺がアドバイスしてやる。
競技プログラミングだと2.7で書かれることが多い。
Linuxだと2.7が標準で入っていて3は3.2が入っていることが多いので、世の中の実行環境は2.7のほうが3よりも多いから便利なツールなどはいろんな環境で動かせるように2.7で作るようにしている。
djangoなどのWebフレームワークを使ってWebアプリを作る場合は3.4使ってる
用途にあわせてバージョンを変えて使っていけば自然と両方書けるようになる
656デフォルトの名無しさん:2015/02/27(金) 14:19:45.47 ID:LOve8H/f
GAEのPython3待ち
657デフォルトの名無しさん:2015/02/27(金) 15:32:43.73 ID:PdlM0W+O
そういやCentoOSもようやく2.7にしやがったのか
658デフォルトの名無しさん:2015/02/28(土) 16:09:03.83 ID:n54ECBzp
ABAQUSと連携してる方、なんかおもしろいのあったら教えてちょ!
659デフォルトの名無しさん:2015/02/28(土) 16:13:22.37 ID:ODdhY4Z/
>>643
import datetime
LED7SEG = [6, 2, 5, 5, 4, 5, 6, 4, 7, 6]

def checkSum(ym):
return reduce(lambda a, b: a + LED7SEG[int(b)], (ym[0], ym[1], ym[3], ym[4]), 0)

sum, cnt, min, minym, max, maxym = 24, 0, (LED7SEG[8] * 4), '', 0, ''
dt = datetime.datetime(2016, 1, 1)
while True:
ts = datetime.datetime.strftime(dt, '%Y-%m-%dT%H:%M:%S')
ym = ts[5:10]
s = checkSum(ym)
if s < min: min, minym = s, ym
if s > max: max, maxym = s, ym
if s == sum: cnt += 1
dt += datetime.timedelta(days=1)
if dt.month == 1 and dt.day == 1: break

print 'cnt: %d, min: %d %s, max: %d %s' % (cnt, min, minym, max, maxym)
660デフォルトの名無しさん:2015/02/28(土) 17:51:58.21 ID:qDsQcJHp
PHPからPythonに移行して感動したコード

a = 1
b = 2
a, b = b, a
661デフォルトの名無しさん:2015/02/28(土) 18:19:10.70 ID:st/D/r/c
総当たりつまらんな
662デフォルトの名無しさん:2015/02/28(土) 18:36:42.68 ID:QIv+CRYz
>>658
Abaqus Pythonは叩いたことあるけど
君が何を求めているのかがわからない。
663デフォルトの名無しさん:2015/02/28(土) 21:32:31.72 ID:XCn5YYSe
Python初心者です。少しお尋ねしたいことがあります。OSは OSX yosemite(10.10.2)です。
私はPythonのバージョン管理をpyenv及びvirtualenvを用いて行っています。
先日Anaconda(3.2.1.0)なるPythonの数値計算ディストリビューションをpyenvを用いて導入したのですが、
virtualenvを用いて仮想環境を構築し、その仮想環境下のディレクトリでスクリプトを書いても、
Anacondaに付属しているはずのNumpyがimportできませんでした。
少々調べてみたところ、
"It doesn't really make sense to merge Anaconda and a virtualenv,
as Anaconda is a completely independent installation of Python. "
と書かれていたのですが、結局何も分からずじまいです。
付属のSpyder.app(IDE)を用いるとNumpyもimportできるのですが、
結局のところAnacondaによる仮想環境はどのように構築することができるのでしょうか?
そして何故Spyder.appを用いるとNumpyのimportが可能だったのでしょうか?
全く見当外れな質問かもしれませんが、よろしくお願いします。長文失礼しました。
664デフォルトの名無しさん:2015/03/01(日) 02:00:08.10 ID:58loK7uz
Anaconda入れてるんだけど、Anaconda自体は結局どういう役割なんだ?
ライブラリの管理?
665デフォルトの名無しさん:2015/03/01(日) 02:10:03.46 ID:DKIg1AyE
scientific computing in pythonな環境を最初からフルセットで提供していることに意味があるのでは
実際楽だし
666デフォルトの名無しさん:2015/03/01(日) 02:40:44.85 ID:58loK7uz
書き方が悪かったかも
コマンドプロンプトで
conda list
でモジュールの一覧が見られるのだが
Anacondaというモジュールがあるし、時々アップデートもされる。
モジュールとしてのAbacondaは一体何をやってるんだろうと疑問。
667デフォルトの名無しさん:2015/03/01(日) 04:30:32.48 ID:LYwpGVQL
VM
668デフォルトの名無しさん:2015/03/01(日) 11:44:33.83 ID:0aLofY9O
pyenvを使ってpythonの複数バージョンを切り替えて使用しています
また、複数の標準入出力をテストするためにPythonコードを実行するためのPythonスクリプトを使っているのですが
Pythonスクリプトからうまくpyenvと連携して子プロセスで動作するPythonのバージョンを切り替える方法はないでしょうか?

systemのpythonのバージョンは2.7.6です
現在、subprocess.call(['python',src_path])を使って子プロセスでpythonスクリプトを実行しており
以下を試してみましたがバージョンが切り替わらずsystemのままで動作してしまいました
・subprocess.call(['python',src_path],env={'PYENV_VERSION','3.4.2'})
・subprocess.call(' '.join(['python',src_path]),env={'PYENV_VERSION','3.4.2'},shell=True)
・subprocess.call(['env','PYENV_VERSION=3.4.2','python',src_path])
・subprocess.call(' '.join(['env','PYENV_VERSION=3.4.2','python',src_path]),shell=True)
・os.environ['PYENV_VERSION']='3.4.2'
・subprocess.call(['pyenv','global','3.4.2'])
669デフォルトの名無しさん:2015/03/01(日) 12:09:12.37 ID:P8lkcWMS
ためしてないけど.python-versionの中身を書き換えて実行するとか
670デフォルトの名無しさん:2015/03/01(日) 12:11:13.12 ID:P8lkcWMS
そもそも動かしているpythonからバージョンを切り替えて実行するっておかしい気もするけど・・・
シェルスクリプトから操作すればいい話だと思うんだけどなあ
671デフォルトの名無しさん:2015/03/01(日) 12:22:40.03 ID:Sga1DM1F
subprocess.popen
672デフォルトの名無しさん:2015/03/01(日) 16:49:14.49 ID:tQPiHTVG
>>663です。
結局のところ、virtualenvはAnacondaには対応しておらず、
同バージョンで仮想環境を分けることは少なくともvirtualenvを用いてはできないということでしょうか?
673デフォルトの名無しさん:2015/03/01(日) 17:00:34.48 ID:lheYQzbz
>>672
ぼくは初心者だからわかんないけど
そもそもvirtualenvで仮想環境を作るときにパッケージも仮想環境にコピーされるように設定して作ってますか?
もし何もしてないならそりゃあインポートできなくて当たり前だし、それなら再度パッケージをインストールしないといけないとおもうんですけど。
macだったらanacondaなんて使わなくても仮想環境ごとにnumpyとかscipyとかインストールしたらんんではないでしょうか
面倒なインストール作業なんてシェルスクリプトを書けばいいわけですしね
674デフォルトの名無しさん:2015/03/01(日) 17:35:51.86 ID:BjMRiKz1
>>666
Anacondaに標準で含まれるパッケージの種類やバージョン等を指定するデータの提供。
anacondaモジュールの依存関係を利用して標準パッケージがインストールされる。
ライブラリとしての実体はない。
conda listの一覧の中にipython-notebookっていうのがあるでしょう?これも同じ。
IPython notebook環境を構築するのに必要なライブラリのリストを提供してるけど、
自身にライブラリとしての実体はない。
675668:2015/03/01(日) 20:48:15.01 ID:0aLofY9O
アドバイスありがとうございます
>>669,670
確かに複数入出力テストだけならシェルスクリプトでよいと思いますが
すでに色々機能を持たせたpythonスクリプトになっているので別スクリプトではなく一機能として実現できないかと検討してます
>>671
Popenとcallは完了待ちするかどうかの違いのみで引数も同じです

解決はできていませんが、表面的な原因は分かりました
pyenvによってpython実行時にPATHが追加されているようで/usr/binが最上位にきており
subprocessで呼び出すpythonはpyenvの用意したpythonではなく/usr/bin/pythonになってました
そりゃあ環境変数がどうなっていようが変わらないですよね
676デフォルトの名無しさん:2015/03/01(日) 22:47:04.78 ID:BjMRiKz1
>>672
Anacondaはpyenvでインストール後に有効にしてあるんだよね?
virtualenvはどうやってインストールしたの?
俺のAnaconda環境でvirtualenvをインストールしようとすると、
Anacondaでの使用は推奨されないって警告が出る。
警告を無視してインストールすることはできるけど、
エラーが出てvirtualenvコマンドは使えない。

あなたの環境ではvirtualenvは使えてるみたいだけど、
>>673さんの言うように、仮想環境をつくるとまっさらな環境がつくられるので、
numpyとかの外部モジュールは(たとえAnacondaではプリインストールされてたとしても)
その仮想環境ではインストールされていない状態になるので、使えない。
プリインストールされてるいろんな外部モジュールを、
仮想環境でもそのまま使いたいんだったら、仮想環境つくるときに
--system-site-packages オプションをつけたら使える。

インストール時の警告にもあるように、virtualenvの使用はAnacondaでは推奨されていない。
かわりに、同梱されているパッケージ管理ツールのcondaコマンドを使う。
仮想環境ごとに、Pythonとライブラリがあらためてインストールされる。
プリインストールされている外部モジュールをすべて使える仮想環境をつくる、みたいな使い方はできない。
その場合はあらためてAnacondaの全モジュールをインストールする形になる。

Python3でしか使えないけど、標準モジュールのvenvを使う手もある。
使い方はvirtualenvと一緒。手軽に使えるので俺はよく使う。
677デフォルトの名無しさん:2015/03/02(月) 00:02:40.32 ID:JcvGP3WN
>>673
>>676
ありがとうございます。
Anacondaというディストリビューションがあることを知り、せっかくなら使ってみようと思った次第です。
私の場合はpyenv及びvirtualenvを先にインストールした後にAnacondaをpyenvでインストールし、
virtualenvを用いて仮想環境を構築するという順番をとりました。
警告文は見ておりませんし、Anacondaの仮想環境をvirtualenvを用いて構築できましたので、
それはおそらくこのインストール順が関係しているのではないかと思います。

やはりvirtualenvの使用はAnacondaでは推奨されていないのですか…
condaコマンドを用いてもAnaconda付属モジュールごと仮想環境を複数構築することは想定されていないわけですね。

venvに関して存在自体は聞いたことがあったのですが、Python3からの実装ということもあり、文献が少ないため使うことを避けていました。
virtualenvと同じように使えるのであれば次の機会に使ってみたいと思います。

このような初心者相手に様々丁寧に教えていただきありがとうございました。
678デフォルトの名無しさん:2015/03/02(月) 10:13:50.58 ID:1nxIHbiN
もしかしてvirtualenvで作った仮想環境をactivateしてないとか?
679デフォルトの名無しさん:2015/03/02(月) 14:21:20.29 ID:pq1u81iH
別に消さなくてもいいのに
せっかく新しい翻訳なんだから公開したらいいのに
なんでちょっと言われたただけ顔真っ赤になって消すのかな
680デフォルトの名無しさん:2015/03/02(月) 14:30:42.39 ID:BRroRxQz
自意識過剰
中二病
童貞
681デフォルトの名無しさん:2015/03/02(月) 18:40:33.59 ID:Ujp8xgr6
>>677
>condaコマンドを用いてもAnaconda付属モジュールごと仮想環境を複数構築することは想定されていない
いや、想定されてないわけじゃないんだ。>>676の書き方が悪かったけど、
単にvirtualenvとは内部処理が違うだけ。公式ドキュメントにもちゃんとやり方が記載されてる。例えば

$ conda create -n myenv anaconda

これはAnacondaの仮想環境用デフォルトディレクトリ(<your-prefix>/anaconda3/envs)の中にmyenvって言う名前の
仮想環境を作って、その中にPythonとAnaconda付属モジュールをすべてインストールする。

$ conda create -n myenv python=2.7 anaconda

これだと Python=2.7 を引数につけてるので、Python2.7の最新も同時にインストールされて、
この仮想環境ではそれが使われる。pyenv local <version>をするのと同じようなことができるわけ。
あと仮想環境のディレクトリを指定するときは -p オプションをつける。
下の例では仮想環境にインストールされるのはPythonとnumpyの1.6 (とその依存モジュール) だけ。

$ conda create -p ~/project/envs/myenv numpy=1.6
682デフォルトの名無しさん:2015/03/02(月) 20:24:46.55 ID:AZdlh9F+
重いこんだら
683デフォルトの名無しさん:2015/03/02(月) 22:05:23.80 ID:sGAmVR+y
ご助言いただきありがとうございます。
>>678
全くの初心者でしてactivateが具体的に何を意味するのかよくわからないのですが、
該当ディレクトリ内で pyenv versions コマンドを用いて確認したところ、構築した仮想環境の部分に✳︎マークが確認できましたので、
おそらくvirtualenvは機能しているのではないかと思います。

>>681
正直なことを申し上げますと、恥ずかしながらこのようなバージョン管理は全く経験がなく右も左もわからない状態でして、
英語の公式ドキュメントを読んでもよくわからず、日本語で解説されたページのみを参考にしながら環境構築を試みていました。
condaコマンドに関してもよく理解できていませんでしたので、丁寧なご解説とても参考になります。
よくわかりました。本当にありがとうございました。
684デフォルトの名無しさん:2015/03/03(火) 00:11:34.05 ID:tu3xNi4r
>>674
なるほど
Anacondaの依存関係を保った範囲内で最新にしていくには
conda update conda
conda update anaconda
を実行するだけでいいん?俺はこれしかやってないんだけど。
それとも
conda update --all
とかしなくちゃいけない?
685デフォルトの名無しさん:2015/03/04(水) 08:26:34.33 ID:DolSq2VW
>>684
conda update conda; conda update anaconda だけでいいよ。
自分で入れたパッケージは個別に自分でアップデートしてね。
conda update --all を使うと、パッケージひとつひとつをそれぞれ最新にアップデートしようとするので、
anacondaモジュールに書いてあるバージョンの組み合わせと整合性が取れなくて、
その旨表示して処理はキャンセルされる。


そしたら安定して動作することが確認された
Anacondaに最初からインストールされているパッケージだけを、
安定して動作することが確認されたバージョンの組み合わせでアップデートするだけだったら、
686デフォルトの名無しさん:2015/03/04(水) 08:28:44.11 ID:DolSq2VW
ごめん空行以降は無視して
書きかけの説明を削除するの忘れてた
687デフォルトの名無しさん:2015/03/04(水) 08:57:57.09 ID:UWB+qgaN
住所氏名消し忘れて投稿する夢みた
688デフォルトの名無しさん:2015/03/04(水) 09:08:02.54 ID:DU9HoCMy
scipyのminimizeについて教えてもらいたいのですが,フィッティングするパラメータの精度を指定することは出来るのでしょうか.
たとえばa, b, c・・・とパラメータがあった時にaは0~10を0.1刻みで・・・のようにです.
0~10という部分はboundsで指定できますが,刻みの指定がわかりません.
689デフォルトの名無しさん:2015/03/04(水) 14:16:28.10 ID:DnsfCac9
>685
便利だな
thanx
690デフォルトの名無しさん:2015/03/04(水) 15:03:17.02 ID:kJbztO6w
ニワカです
pythonでxlwtを使ってエクセルのグラフを描きたいのだけどサンプルが見つかりません。
誰か教えて m( )m
691デフォルトの名無しさん:2015/03/04(水) 16:15:30.67 ID:1ms42xKS
ちなみに自分はnetへの書き込みは必要最小限にとどめている
今日はこれが最後だと思う
netの書き込み数激減(少なくとも1/3以下へ)というまごうことなき数字を突きつけることが
現状打開のために必要だと思うから
でも皆に同じことをしてくれともそうすべきとも思わない
自分のことは自分で決めればいいんだよ
692デフォルトの名無しさん:2015/03/04(水) 20:20:26.62 ID:6TumWt/1
質問です。

環境:Python2.7.8, Windows 8.1 64bit
困ってること:WindowsのコンソールやSendTo経由で波ダッシュ(〜)を含む名前のファイルを開けない
問題のコード:
f = open(u"〜.txt", "r") # OK. スクリプトファイルに直書きしたときは開けます
f = open(sys.argv[1], "r") # これをコンソールやSendTo経由で実行するとIOErrorが出ます
f = open(sys.argv[1].decode(sys.stdin.encoding, "r") # 同上
f = open(sys.argv[1].decode(sys.getfilesystemencoding(), "r") # 同上

直書きしたときは開けるので、decode()の引数を間違えているのだとは思うのですが
一向に解決できません。
対処法をご存知の方、ご回答お願いします。
693692:2015/03/04(水) 20:23:31.83 ID:6TumWt/1
このスレでは全角チルダで表示されてしまうようですが
問題が起こるのは波ダッシュの方です
694デフォルトの名無しさん:2015/03/04(水) 21:10:11.17 ID:m03rR+si
Pythonは開発効率が良いと聞いて試しましたがイマイチですね
本当にC#より速く堅牢なアプリケーションを作れるのですか?
695デフォルトの名無しさん:2015/03/04(水) 21:21:06.61 ID:tD+/JAWL
人によっては作れます
696デフォルトの名無しさん:2015/03/04(水) 21:22:15.38 ID:aiebJTF+
一体どこでそんな事聞いてきたの?w
無理して使わなくていいからね
697デフォルトの名無しさん:2015/03/04(水) 21:30:31.17 ID:YgBYjps4
pythonのweb frameworkって言ったらとりあえずdjangoをやっとけば通じるみたいだけど
djangoのベストプラクティスな情報がな圧倒的に足りない
698デフォルトの名無しさん:2015/03/04(水) 21:34:05.80 ID:0V1AC57V
>>692
?がUnicodeなので__argvを使ってるPython2ではsys.argvに正しく入ってません
正攻法としてはPython3を使用するか、ベストプラクティスかは知らんけど
是が非でもPython2でやるならctypesでGetCommandLineWをぶっ叩くとか…?
699692:2015/03/04(水) 21:43:55.83 ID:6TumWt/1
>>698
>?がUnicodeなので__argvを使ってるPython2ではsys.argvに正しく入ってません

えぇぇぇぇぇぇぇぇぇぇぇぇ…そんな罠があったのですか(汗)
教えて頂いて助かりました!知らなかったらあと何時間ねばってたことか^^;
素直にそのスクリプトだけpython3で実行するように本体とsendto書き換えてみます
ご親切にどうもありがとうございました!
700デフォルトの名無しさん:2015/03/04(水) 21:55:44.33 ID:aiebJTF+
波ダッシュ、全角チルダ問題まとめ
ttp://qiita.com/kasei-san/items/3ce2249f0a1c1af1cbd2
701デフォルトの名無しさん:2015/03/05(木) 03:44:59.33 ID:n3NecQLR
pythonのせいじゃなくてcmd.exeとかの側の問題だろ
どうしても波ダッシュ使いたいならcmd.exe使うのやめるか
hoge.py < arglistfile.txt
とか
702Yuta@:2015/03/05(木) 13:26:12.70 ID:XfWaMqOT
ただいまプログラム製作中で、num1 とnum2 にデータを入力させて、それらをoperatorに入力された
ものにしたがって計算する、というのをやっているのですが、うまくいきません。
どうしたらいいでしょうか。。
prompt='Input first number.\n'
num1=input(prompt)
#input the number1
if num1 == 0:
print('Error')
else:
prompt2='Input operator\n'
operator=input(prompt2)
#If the number is zero, print Error. If not, input the operator
if operator !="+":
if operator !="-":
if operator !="*":
if operator !="/":
print('Error')
703YutaA:2015/03/05(木) 13:27:21.79 ID:XfWaMqOT
#If the operator is not "+","-","*","/", print Error.
else:
prompt2='Input second number.\n'
num2=input(prompt2)
#If not, input num2
if num2 == 0:
print('Error')
#If the number is zero, print Error.
else:
if operator=='+':
print(num1+num2)
elif operator=='-':
print(num1-num2)
elif operator=='*':
print(num1*num2)
else:
print(num1/num2)
#If the number isn't zero, calculate num1 and num2.
704デフォルトの名無しさん:2015/03/05(木) 13:42:24.00 ID:NOA7K+lC
もう春休みの宿題の時期か
705デフォルトの名無しさん:2015/03/05(木) 13:47:55.86 ID:f/1//Rxj
長いのはideoneに貼ってくれないとコピペがだるい
706デフォルトの名無しさん:2015/03/05(木) 13:57:02.72 ID:NOA7K+lC
Python3 はこんな風に書かなくても良くなったのか
num1=int(input(prompt1))
num2=int(input(prompt2))
707デフォルトの名無しさん:2015/03/05(木) 14:08:19.71 ID:ookD3nmq
>>704
普通は春休みに宿題なんて出さない。
708デフォルトの名無しさん:2015/03/05(木) 14:49:29.81 ID:VUA3XSdQ
python2で1.0が0になるんですが何故ですか?

n = 0
for i in range(1000):
 n += 1.0 / 1000
a = 1 / n

print(a) # 1.0
print(int(a)) # 0
709デフォルトの名無しさん:2015/03/05(木) 16:13:24.82 ID:wT1PXWMM
>>> print int(1.0)
1
710デフォルトの名無しさん:2015/03/05(木) 16:15:06.21 ID:wT1PXWMM
>>> n
1.0000000000000007
>>> a = 1 / n
>>> a
0.99999999999999933
>>> int(a)
0

浮動小数点数の誤差の蓄積やね
711デフォルトの名無しさん:2015/03/05(木) 16:31:41.01 ID:0eIB5bR0
どうして?目に見えない部分にデータがあるの?
712デフォルトの名無しさん:2015/03/05(木) 16:43:05.27 ID:wT1PXWMM

目に見えないデータを見えるところで切ってる
713デフォルトの名無しさん:2015/03/05(木) 17:00:37.79 ID:LYdoOvYu
PHPみたいにクソ仕様だな
714デフォルトの名無しさん:2015/03/05(木) 17:08:14.83 ID:wT1PXWMM
この場合はprintに原因があるのか
715デフォルトの名無しさん:2015/03/05(木) 17:25:55.74 ID:kvzpUYSP
math.fsumで誤差を補正できる
>>> n = math.fsum(1.0 / 1000 for _ in xrange(1000))
>>> a = 1 / n
>>> print a
1.0
>>> print int(a)
1
716デフォルトの名無しさん:2015/03/05(木) 17:34:11.17 ID:LYdoOvYu
print(a)で1.0だけどどうやったら誤差が見えるの?
717デフォルトの名無しさん:2015/03/05(木) 17:57:25.74 ID:0TrB/Lm6
DartみたいにJavaScript に変換できないの?Pythonって。

インデントが構文になってるとか機能美高いしJavaScript も全てpythonになるべきだと思うのだけども
718デフォルトの名無しさん:2015/03/05(木) 18:25:07.36 ID:wT1PXWMM
>>716
心の眼を開く
719デフォルトの名無しさん:2015/03/05(木) 18:25:51.88 ID:wT1PXWMM
>>717
っCoffeeScript
720デフォルトの名無しさん:2015/03/05(木) 18:27:34.81 ID:0rvjRaI9
ipythonを起動した時に自動的にimport mathをしたいんですけど
そういう設定教えてください
721デフォルトの名無しさん:2015/03/05(木) 18:51:54.64 ID:puWRUP/J
echo "import math" > ~/.ipython/profile_default/startup/000.py
722デフォルトの名無しさん:2015/03/05(木) 19:05:58.30 ID:0TrB/Lm6
>>719
CoffeeScriptもPythonとは違うんでしょ?
723デフォルトの名無しさん:2015/03/05(木) 20:25:20.69 ID:n3NecQLR
sites.py
724デフォルトの名無しさん:2015/03/05(木) 21:11:50.07 ID:Z+dMZ8cD
>>722
pythonより良い
725デフォルトの名無しさん:2015/03/05(木) 22:26:08.79 ID:qy5l4tP8
726デフォルトの名無しさん:2015/03/05(木) 23:04:24.66 ID:xRIr8wDA
ラッソンゴレライ
727デフォルトの名無しさん:2015/03/06(金) 00:00:17.25 ID:G4aqU6d9
javascriptに対する現実解はtypescript程度だと思うよ
まあアレも結構面倒な部分は残ってるんだが
728デフォルトの名無しさん:2015/03/06(金) 00:53:46.60 ID:dcg9agNJ
ゆるさと開発効率のバランスが絶妙
CoffeeScript
729デフォルトの名無しさん:2015/03/06(金) 09:22:14.27 ID:TaB/WAXS
CoffeeScript 良いよね
Python もだけどなんで日本だと流行らないんだろう
730デフォルトの名無しさん:2015/03/06(金) 10:36:33.76 ID:gYife3US
a = 0
b = 'p'
a += b == 'p'

こういう式はなんていうの?
なんでちゃんと動くのか知りたい
731デフォルトの名無しさん:2015/03/06(金) 10:48:09.94 ID:WzNu1b2w
b=='p'は比較だから返り値がTrueかFalse(ここではTrue)
bool型はintのサブクラスだからa += Trueはa += 1と同じ
732デフォルトの名無しさん:2015/03/06(金) 11:05:36.99 ID:gYife3US
ありがとうございます!
733デフォルトの名無しさん:2015/03/06(金) 19:46:39.41 ID:oPjT86JG
真面目に使ったことはないけど、Brython っていうのは javascript で動く python3 実装
script type=text/python3 で python のスクリプトをそのまま書けるというやつだ
734デフォルトの名無しさん:2015/03/06(金) 22:19:56.79 ID:CTj2h1Ar
中学の頃 大村君が苗字音読みでダイソンって呼ばれてて
それが元で梅村君はバイソン 若村君はジャクソン
下村君はアンダーソンとみんなかっこいいあだ名がついたのに
津村君だけあだ名がバスロマンだったのはイジメに近いし
今思うとバスロマンはツムラじゃなくてアース製薬
735デフォルトの名無しさん:2015/03/07(土) 04:16:44.13 ID:4UroII6b
みんなのパイチンくんとチンパイくん
736デフォルトの名無しさん:2015/03/07(土) 12:04:33.35 ID:dV5NPacx
>>734
2get
737デフォルトの名無しさん:2015/03/07(土) 12:06:10.75 ID:dV5NPacx
>Brython
ブラ依存
738デフォルトの名無しさん:2015/03/07(土) 13:38:30.32 ID:JFs2oY1Z
pythonはインデントに意味があるから転送量おさえるためにコンパクト化
する事が出来ないのは不利なんじゃ?
739デフォルトの名無しさん:2015/03/07(土) 15:33:24.76 ID:vMIWPrbn
>>734
よく出来てるわ

転送前と後で適当に {} に機械的に置き換える処理入れたら済む気がする
740デフォルトの名無しさん:2015/03/07(土) 17:01:48.08 ID:yymwmlBA
サーバで実行するのに転送量もクソもねえよ
741デフォルトの名無しさん:2015/03/07(土) 17:03:40.88 ID:G29w8V6C
ファイルロードのコストが増えるじゃん
742デフォルトの名無しさん:2015/03/07(土) 17:20:46.38 ID:yymwmlBA
pycが作られるだろうが!
743デフォルトの名無しさん:2015/03/07(土) 17:29:04.98 ID:L9NOIbfd
初心者ですがpygtkで簡易画像ビューアを作りました
こうしたほうが良いとかありましたらお願いしたいです
ttp://ideone.com/yxaD2T
744デフォルトの名無しさん:2015/03/07(土) 17:51:50.44 ID:JFs2oY1Z
あーゴメン

転送量が気になるのはBrythonの方つうかブラウザのスクリプトね
745test:2015/03/07(土) 20:30:16.03 ID:dV5NPacx
import sys, os
import time
import datetime
LED7SEG = [6, 2, 5, 5, 4, 5, 6, 4, 7, 6]
def checkSum(ym):
2return reduce(lambda a, b: a + LED7SEG[int(b)], (ym[0], ym[1], ym[3], ym[4]), 0)
sum, cnt, min, minym, max, maxym = 24, 0, (LED7SEG[8] * 4), '', 0, ''
dt = datetime.datetime(2016, 1, 1)
while True:
2ts = datetime.datetime.strftime(dt, '%Y-%m-%dT%H:%M:%S')
2ym = ts[5:10]
2s = checkSum(ym)
2if s < min: min, minym = s, ym
2if s > max: max, maxym = s, ym
2if s == sum: cnt += 1
2dt += datetime.timedelta(days=1)
2if dt.month == 1 and dt.day == 1: break
print 'cnt: %d, min: %d %s, max: %d %s' % (cnt, min, minym, max, maxym)
746デフォルトの名無しさん:2015/03/08(日) 12:26:06.98 ID:+/h1eClM
747デフォルトの名無しさん:2015/03/11(水) 14:24:22.67 ID:vQ4+w4tm
バイナリファイルの処理をしたいと考えております.
コマンドラインでは

file = open("dir", "rb")
file.read()

でバイナリのデータが表示されるのですが,pyscripter上では表示されません.

file = open("dir", "rb")
print file.read()

としても"|"が表示されるだけでした.
pyscripterの設定がおかしいのかと考えておりますがどなたか本件に関して多い当たる点ございますか?
748デフォルトの名無しさん:2015/03/11(水) 15:02:38.66 ID:vQ4+w4tm
早速すみません
一応自己解決しました
簡単なバイナリファイルを自分で作ってみたところフォーマット文字列を指定してunpackしないとpyscripterでは表示されないみたいでした
749デフォルトの名無しさん
もれもそう思ってたから返事しなかった