■ このスレッドは過去ログ倉庫に格納されています
くだすれPython(超初心者用) その25©2ch.net
- 1 :デフォルトの名無しさん 転載ダメ©2ch.net:2014/11/05(水) 16:40:01.25 ID:Awvl8HhM
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は 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
- pystache
https://pypi.python.org/pypi/pystache/0.5.4
- 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
- http://melpon.org/wandbox
- 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
- どういうふうにしたいのかサンプルをいくつか書いて
- 75 :70: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)
- 114 :112: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") の意味は想像つかない?
- 196 :188: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は書いてないのかよく分からん
- 247 :244: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
- https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range
- 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
- https://www.youtube.com/watch?v=4W2AqUetBi4
https://www.youtube.com/watch?v=qbEEcQXw8aw
https://www.youtube.com/watch?v=8IRyt7ft7zg
https://www.youtube.com/watch?v=O4Y5KrNgP_c
https://www.youtube.com/watch?v=3zSrkC6c1aU
https://www.youtube.com/watch?v=vcYcFX9yqiY
https://www.youtube.com/watch?v=IfJIFqAxW9I
https://www.youtube.com/watch?v=3COTY4tAwsw
- 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
- あるある
- 366 :354: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
- http://grokbase.com/t/python/python-ideas/145qha8ygm/faster-pyarg-parsetupleandkeywords-kwargs
- 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
- だからエラー読め質問するならエラー貼れっていってんじゃねえかよ
- 420 :418: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+も必要って書いてあるが
- 422 :418: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?
- 424 :418: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
まだしたことないです
- 457 :447:2015/02/03(火) 21:26:13.21 ID:lVjwn/n/
- あ、すいませんちょっと特定の環境っぽいので質問取り消します
- 458 :デフォルトの名無しさん:2015/02/03(火) 21:50:16.32 ID:bJajSEki
- 特定の環境が原因ぽかったらそれ書いてくれないと
回答者やROMってる人の助けにならないぞ
- 459 :447: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
- なるほど仕様とバグの区別が付かないのか
- 496 :488: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
- http://jbbs.shitaraba.net/sports/42269/
- 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
- http://stackoverflow.com/questions/4201455/sqlalchemy-whats-the-difference-between-flush-and-commit
- 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
- >>529
https://ideone.com/Q9PeAV
- 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
- ここのがまとも
http://keisan.casio.jp/exec/system/1257670779
- 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
- document.write('<script charset="utf-8" src="http://movtag.nhk.or.jp/IF/RequestMovie.aspx?clientid=850&episodeid=72d3551c8a75a8bb2d9&smode=1&u_base_pw=320&u_base_ph=199"></' + 'script>');
- 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
- こっちの方がいいかな
http://masahito.hatenablog.com/entry/20110511/1305107553
- 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
- windowsでsublime text使ってhttps://github.com/srusskih/SublimeJEDIを入れろ
- 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
- >>637
http://www.nichinoken.co.jp/images/column/shikakumaru/2014/15_m02/poster_sa_b.jpg
- 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環境を構築するのに必要なライブラリのリストを提供してるけど、
自身にライブラリとしての実体はない。
- 675 :668: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()の引数を間違えているのだとは思うのですが
一向に解決できません。
対処法をご存知の方、ご回答お願いします。
- 693 :692: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をぶっ叩くとか…?
- 699 :692: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
とか
- 702 :Yuta@: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')
- 703 :YutaA: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
- >>722
https://github.com/rusthon/Rusthon
- 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の方つうかブラウザのスクリプトね
- 745 :test: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
- >>692
っ ttp://python.rdy.jp/wiki.cgi?page=japaneseCharset
- 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 :デフォルトの名無しさん:2015/03/11(水) 15:56:26.71 ID:8MeoENMQ
- もれもそう思ってたから返事しなかった
- 750 :デフォルトの名無しさん:2015/03/12(木) 19:30:34.95 ID:IG7CVxL3
- pygameのevent.keyで大文字を認識させたい時はどうしたらいいんですか?
- 751 :デフォルトの名無しさん:2015/03/12(木) 21:22:09.10 ID:kfyJIopR
- 大文字化無くてshiftを押したかかだろ
- 752 :デフォルトの名無しさん:2015/03/14(土) 12:16:32.00 ID:jA1R8gSb
- count = 0
f = open('sample.txt', 'w')
while True:
count += 1
f.write(str(count))
これを動かしてる最中に特定のキー(Ctrl Cとか)を押したら
f.close()してから終了するにはどうすればいいでしょうか?
- 753 :デフォルトの名無しさん:2015/03/14(土) 12:29:45.54 ID:mizsz9YY
- >>752
import sys
count = 0
f = open('sample.txt', 'w')
try:
while True:
count += 1
f.write(str(count))
except KeyboardInterrupt:
f.close()
sys.exit()
- 754 :デフォルトの名無しさん:2015/03/14(土) 12:41:18.61 ID:jA1R8gSb
- >>753
ありがとうございます!
- 755 :デフォルトの名無しさん:2015/03/14(土) 16:31:47.61 ID:PQiRsuPZ
- withも覚えとけ
- 756 :デフォルトの名無しさん:2015/03/15(日) 00:48:12.05 ID:iNfC0gMp
- python2.7で数字を入力した時にinputとint(raw_input())で違いありますか?
- 757 :デフォルトの名無しさん:2015/03/15(日) 01:05:17.44 ID:rkCwx/om
- djang○翻訳チームwww
http://b.hatena.ne.jp/entry/mizchi.hatenablog.com/entry/2015/03/14/133535
- 758 :デフォルトの名無しさん:2015/03/16(月) 02:38:40.84 ID:1GyT2oWU
- http://mizchi.hatenablog.com/entry/2015/03/14/133535
- 759 :デフォルトの名無しさん:2015/03/17(火) 08:00:28.18 ID:HdJtxgxX
- ああこいつか…Qiitaで童貞臭いアイコン使ってる
何度も同じ記事貼るんじゃねえ
- 760 :デフォルトの名無しさん:2015/03/17(火) 10:44:44.64 ID:Bw8e4yLM
- なかのひとですねわかります
http://mizchi.hatenablog.com/entry/2014/10/25/174045
- 761 :デフォルトの名無しさん:2015/03/18(水) 05:15:31.92 ID:eOz49mYu
- "{0:.1f}".format(value)といった具合にfloatを文字列に変換しているのですが
0.0が"0.0"になるものと"-0.0"になるものがあります。
ゼロは符号を付けたくないのですが、方法ありますか?
自分ではroundで0と比較してintの0にしてから変換していたのですが、何か違う気がして・・・
初歩的な質問ですみません。
- 762 :デフォルトの名無しさん:2015/03/18(水) 05:42:52.45 ID:Zar8QNwZ
- >>761
http://stackoverflow.com/questions/11010683/how-to-have-negative-zero-always-formatted-as-positive-zero-in-a-python-string
+0するのがよさげ
- 763 :デフォルトの名無しさん:2015/03/18(水) 06:01:55.98 ID:eOz49mYu
- すごい。できました!ありがとうございます。
- 764 :デフォルトの名無しさん:2015/03/18(水) 16:17:27.57 ID:J/QK9l4l
- pyinstallerを使ってとあるファイルを変換するプログラムを仲間内に配布しようとしていますが
フローズンバイナリ化したexeファイルが置いてあるディレクトリに日本語を含む場合に起動しません
#Coding:UTF-8というのはやったので,プログラムが起動してしまえば変換したいファイルに日本語を含んでいても大丈夫なようにはしているのですが
どなたか回避方法ご存じですか?
- 765 :デフォルトの名無しさん:2015/03/19(木) 01:50:21.56 ID:j2+spSxx
- >>764
パス使ってる所をユニコードに変換
- 766 :デフォルトの名無しさん:2015/03/19(木) 02:01:37.06 ID:noU2qMQu
- 1行目にこういう、shebang を書いた?
#!/usr/bin/env python
#!/usr/bin/python3.3
スクリプトファイルに実行権限を付けた?
chmod +x ファイル名.py
環境変数 PATH は?
./ファイル名.py で実行した?
君のOSとバージョンは何?
pythonのバージョンは何?
VirtualEnv, venv などの仮想環境を使っているのか?
エラーメッセージは?
もっと詳しく書け
- 767 :デフォルトの名無しさん:2015/03/19(木) 08:00:14.39 ID:e0gH4C5r
- >>765-766
返信ありがとうございます
exeファイルを実行した際に出てくるエラーメッセージは以下になります
Traceback (most recent call last):
File "<string>", line 21, in <module>
File "c:\python27\lib\site-packages\PyInstaller-2.1-py2.7.egg\PyInstaller\load
er\pyi_importers.py", line 507, in install
sys.meta_path.append(FrozenImporter())
File "c:\python27\lib\site-packages\PyInstaller-2.1-py2.7.egg\PyInstaller\load
er\pyi_importers.py", line 156, in __init__
raise ImportError("Can't load frozen modules.")
ImportError: Can't load frozen modules.
・自分のスクリプトというよりpyinstallerの方の問題でしょうか
・.exeファイルを入れているフォルダ名を移動せずに英語に戻すとちゃんと実行しました
・OSはwindows8.1ですが,他人のXPでも同様でした
・pythonはver.2.7.9です
・pyinstallerはver.2.1です
・仮想環境は使っていません
取り急ぎ
- 768 :デフォルトの名無しさん:2015/03/19(木) 20:29:14.85 ID:Nd/ot4O0
- >>762
コレどうして+0で符号が変わる?
- 769 :デフォルトの名無しさん:2015/03/19(木) 22:35:48.43 ID:3kge4PG6
- pythonのflaskで画像の出力したいんですが
print('Content-Type: image/jpeg;\n\n')
f = open('test.jpeg', 'rb')
img = f.read()
f.close()
print(img)
これじゃバイト列のstrが返ってるので、画像出てくれません。。
ord()しても期待通りにならないし、実はpythonでこういった処理するのって
結構めんどくさいですか?
シェルでcgiとかだと echo -en 'Content-Type: image/jpeg;\n\n'
cat test.jpeg
で行けてたような処理が、pythonだとどうやったらできるのでしょうか?
- 770 :デフォルトの名無しさん:2015/03/19(木) 22:37:13.47 ID:H9sTIQWx
- sys.stdout.write
- 771 :デフォルトの名無しさん:2015/03/20(金) 04:24:17.06 ID:dOiGdIE8
- >>767
pyi_importers.py, line 156, in __init__
raise ImportError("Can't load frozen modules.")
このファイルの156行前後に、print文を埋め込むか、
デバッグなどして、日本語のパス名が、
どのような文字コードになっているか見る
(ただし、元のファイルは取っておくこと)
CP932(Shift-JIS)か、UTF-8か?
Python2では、strがバイト列のまま、文字列を扱っていたが、
Python3からは、strオブジェクトで、ユニコード文字を扱う
漏れも、これ以上はわからないので、
Python2 → 3の、文字列の変換方法を、検索してみて
そして、そのファイルの該当箇所を修正する
(勝手に修正してもいいのかな?
それとも、修正済みのファイルが既にあるかも?
または、作者に知らせるとか)
自分でちょっとしたスクリプトを書いて、
日本語のパス名が、どう解釈されるか試してみて
- 772 :デフォルトの名無しさん:2015/03/20(金) 12:05:23.13 ID:uw3XCVp4
- >>770
ありがと
flaskじゃstdoutはflaskを実行してるターミナルにフックされるけど
とりあえずしらべてみますー
- 773 :デフォルトの名無しさん:2015/03/20(金) 15:52:58.84 ID:6mVx13Pi
- import するモジュールA内のあるクラスa(A)を上書きしたいので,
呼び出す(importする)側Sに同じ名前のクラスa(S)を書いたのですが,
このとき, モジュールAの別のクラスb(A)からクラスaを呼んだら,
同じモジュール内のa(A)がでてきます.
こういうときに上書きする方法はありませんか?
- 774 :デフォルトの名無しさん:2015/03/20(金) 16:24:29.11 ID:6rxbuNBs
- モジュールS内ではモジュールAのクラスbはモジュールSのクラスaを呼び出してほしいということですか?
モジュールAのクラスbからモジュールSのクラスaを呼び出したいということですか?
出来れば上手くいかない状態を表す短いコードがあれば助かります
A.py
class a:
pass
class b:
def call_a(self):
a()
S.py
import A
class a: pass
- 775 :774:2015/03/20(金) 16:28:57.05 ID:6rxbuNBs
- 書きかけを投稿してしまいました
コード片は無視して下さい
- 776 :デフォルトの名無しさん:2015/03/20(金) 18:46:50.15 ID:zzyYoiYd
- >>773
S.py
import A
old_a = A.a #もともとのaクラス
class s_a: pass
A.a = s_a
new_a = A.a #新しいs_aクラス
こうすればA.pyのaを呼び出すコードbもs_aを呼ぶようになるはず
でもこういう置き換え方は筋が悪いからやめたほうがいいと思う
- 777 :デフォルトの名無しさん:2015/03/20(金) 21:33:24.77 ID:6BjYmIn0
- 勉強したことの復習するタイミングを教えてくれるプログラムをつくろうとしているのですが、
{勉強したセクション:やるべき日付(datetime型)}としてファイルに入出力していて、そのままだと上手くいかないのでググったりコピペしながらJSONでやったのですが変なエラーが出ます
ファイルの入出力の時文字列型になってしまうのはどうしても避けられないんでしょうか?
また、XMLという別の方法がある模様(ググっただけでまったく知識はないです)なんですがXMLなら型の問題は回避出来るのでしょうか?
- 778 :767:2015/03/20(金) 23:38:42.36 ID:PWi5odoJ
- >>771
返信ありがとございます.
該当部分念の為のスクリプトを以下に示します.
http://codepad.org/DOQKMl2m
どうやら実行ファイルのディレクトリがsys.pathに含まれ,これに日本語があると文字化けを起こし,問題となっているようです.
引き続き検討してみます
- 779 :デフォルトの名無しさん:2015/03/21(土) 00:04:18.91 ID:rUUBEQ0g
- >>777
jsonの表現とオブジェクトの表現は一致しないから、それらの対応を書かないとダメ
ある文字列をどうオブジェクトに復元するか、あるオブジェクトをどう文字列として表すかってことね
これはxmlでも同じ
jsonモジュールのobject_hookについて調べてみて
ちなみにとりあえず保存できればいいんならpickleの方が簡単だよ
あと、こういう質問は書いたコードとそのエラーをそのまま貼ったほうが正確に状況が伝わるからまず貼ろう
- 780 :デフォルトの名無しさん:2015/03/21(土) 00:15:32.82 ID:pulqrllr
- >>770
>ファイルの入出力の時文字列型になってしまうのはどうしても避けられないんでしょうか?
バイナリとかもあるけど、基本的にはそう。
PythonのオブジェクトがPythonのオブジェクトでいられるのはPythonの中だけ
JSON云々はその次の話だけど、それでもhttp://docs.python.jp/3.4/library/json.html#py-to-json-tableにある以外の型が渡された場合はTypeErrorがraiseされる。
json.dump()にdefault引数を指定すること上記のテーブルにある以外のオブジェクトが渡されたときに呼ばれる関数を指定できる。
http://docs.python.jp/3.4/library/json.html#json.dump
>>> from datetime import time, date, datetime
>>> import json
>>> with open("test", "w") as fp:
json.dump({"勉強したセクション": datetime(2015, 3, 10, hour=13, minute=15)}, fp, default=str)
>>> with open("test", "r") as fp:
print(json.load(fp))
{'勉強したセクション': '2015-03-10 13:15:00'}
- 781 :デフォルトの名無しさん:2015/03/21(土) 00:16:48.24 ID:pulqrllr
- >>777だった
- 782 :デフォルトの名無しさん:2015/03/21(土) 01:54:10.60 ID:b4FQIC21
- Rubyでは改行コードは、
:universal_newline => true にすると、
Windowsの CRLF、MacOS9までの CR を、LF に置き換える
(Unix系は元々、LF を使っている)
テキストモードではこの変換を行うが、
バイナリモードではこの変換をしない。
テキスト/バイナリモードの違いはこれだけ
JSON, XMLはほとんど同じ。
JSONの方が、データ転送量が少ないので、エコ
- 783 :771:2015/03/21(土) 02:23:26.60 ID:b4FQIC21
- >>778
そのソースコードの11行目、print pyz_filepath で、
ファイル名が表示されているので、
それで日本語のパス名を見てみる
たぶんその、ZlibArchive というアプリが、
日本語のパス名に対応していないのだろう
Rubyと違って、外人はユニコード文字に無頓着だから、
Pythonではよくあること
その作者に聞いてみないと、わからない。
勝手に修正すると、他の箇所でバグが生じるかも
まあ業務用なら、日本語のパス名を使わないのが常識
- 784 :デフォルトの名無しさん:2015/03/21(土) 03:07:55.56 ID:nfoUPo3V
- コンパイル時にドキュメンテーション文字列を削除することって出来ますか?
- 785 :デフォルトの名無しさん:2015/03/21(土) 10:01:39.10 ID:CbFTQJbK
- >>779
ありがとうございます
object_hookを使ったコードはググったら出てきたのでつかってます
あと謎のエラーは自己解決しました 元のコードではfrom datetime import datetimeとしていたのをimport datetimeとしてたため型が合わなかったようです
今後エラーが出たらコードとエラー貼って質問します
- 786 :デフォルトの名無しさん:2015/03/21(土) 10:04:00.39 ID:CbFTQJbK
- >>780
>バイナリとかもあるけど、基本的にはそう。
>PythonのオブジェクトがPythonのオブジェクトでいられるのはPythonの中だけ
なるほどやっぱりそうなんですね…
- 787 :デフォルトの名無しさん:2015/03/21(土) 11:28:13.55 ID:Oxj/Vzj+
- >>> '%s %d %08x' % (-1, -1, -1)
'-1 -1 -0000001'
>>> '%s %d %08x' % (0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF)
'4294967295 4294967295 ffffffff'
>>> '%s %d %08x' % (0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF, 0xFFFFFFFFFFFFFFFF)
'18446744073709551615 18446744073709551615 ffffffffffffffff'
>>> 0xffffffff
4294967295L
>>> 0xffffffff + 1
4294967296L
>>> int(0xffffffff)
4294967295L
n = 0xffffffff という値から
n = -1 と解釈したいのですが
どう書けば良い?
- 788 :デフォルトの名無しさん:2015/03/21(土) 12:26:08.81 ID:Z0/VNcfN
- >>> f = lambda n: n - (1<<32) if n & (1<<31) else n
>>> f(0xffffffff)
-1L
>>> f(0xfffffffe)
-2L
>>> f(0x80000000)
-2147483648L
>>> f(0x7fffffff)
2147483647
- 789 :デフォルトの名無しさん:2015/03/21(土) 13:08:11.76 ID:GgI7Ng16
- ctypes.c_int(0x80000000).valueトカ
- 790 :デフォルトの名無しさん:2015/03/21(土) 13:52:09.87 ID:2oh5rAiV
- >>> int.from_bytes((0xffffffff).to_bytes(4, 'big', signed=False), 'big', signed=True)
-1
- 791 :デフォルトの名無しさん:2015/03/21(土) 14:27:58.41 ID:sLj+E6BF
- wxPythonとクラスになれるために、色々書いていたのですが、行き詰まってしまいました・・・。
https://ideone.com/2AyzFQ
上記コードを実行すると、
self.InsertPage(0,panel,"tab_1")
wx._core.wxAssertionError: C++ assertion "pPage->GetParent() == this" failed at
..\..\src\msw\notebook.cpp(680) in wxNotebook::InsertPage(): notebook pages must
have notebook as parent
と表示されてしまい何が何だか・・・。多分タブを追加する対象がないよとかそういう感じだとおもうのですが、
いかんせんクラスの概念をよく理解していなく、なにか根本的に間違ってる気がしてます・・・・・。
- 792 :デフォルトの名無しさん:2015/03/21(土) 14:43:47.74 ID:sLj+E6BF
- ↑
すみません、1日考えてだめだった結果が、単純な構文ミスでした。
しにたい。
- 793 :デフォルトの名無しさん:2015/03/21(土) 15:29:45.34 ID:QO2AdWWK
- >>792
悩んだあげく、人に聞いたら自己解決ってよくあった。
今は頭の中で人に聞いて、それでもダメなら聞くようにしてる。
- 794 :デフォルトの名無しさん:2015/03/21(土) 17:55:12.84 ID:Fvy98M6G
- (テディ)ベアプログラミングを実践しよう
- 795 :デフォルトの名無しさん:2015/03/21(土) 18:17:13.22 ID:RDMmfQRe
- >>789
ありがとう
シンプルなのと仕様通りなのでそれにします
他の回答くれたみんなもありがとう
- 796 :デフォルトの名無しさん:2015/03/21(土) 20:26:17.10 ID:QO2AdWWK
- >>794
冗談かと思ったww
無意識にベアプログラミングやってたわ。
- 797 :デフォルトの名無しさん:2015/03/22(日) 02:46:15.14 ID:zalLAL+t
- >>787
Pythonには、Rubyのような、
pack, unpack のモジュールは無いの?
Rubyの pack, unpack
ttp://docs.ruby-lang.org/ja/1.9.3/doc/pack_template.html
- 798 :デフォルトの名無しさん:2015/03/22(日) 04:12:22.47 ID:rR9IQ1L/
- >>797
基本的にはここらでしょう
ttp://docs.python.jp/3/library/struct.html
ttp://docs.python.jp/3/library/array.html
目的に応じてその他諸々
ttp://docs.python.jp/3/library/stdtypes.html#additional-methods-on-integer-types
ttp://docs.python.jp/3/library/stdtypes.html#memoryview
ttp://docs.python.jp/3/library/ctypes.html#data-types
- 799 :デフォルトの名無しさん:2015/03/24(火) 13:43:05.25 ID:oT9XT9lZ
- メーリングリストわろた
- 800 :デフォルトの名無しさん:2015/03/25(水) 11:44:44.34 ID:bi42DHFl
- 今時メーリングリストに聞きに行く時点でなんかズレてる
どこでも回答なんかされないだろうが
- 801 :デフォルトの名無しさん:2015/03/25(水) 15:28:04.09 ID:jY89TDAe
- 3.5リリースまで後6ヶ月だけど
4.0の開発の話とかは何年後に出るんだろうか
- 802 :デフォルトの名無しさん:2015/03/25(水) 18:08:01.36 ID:N9g82RNH
- 今のペースだと3.10または4.0は2023年ころ
互換性を壊してまで変えたいものがなければ
Perl5のようにずっと3系が続くと予想してる
- 803 :デフォルトの名無しさん:2015/03/25(水) 21:47:33.53 ID:4eLreSQE
- 2つの関数の別のローカル変数に同じ名前を使うのはできるだけ避けるべきでしょうか?
それとも気にしなくてもいいのでしょうか?
簡素化した例をかいてみました
http://ideone.com/o0Whl7
- 804 :デフォルトの名無しさん:2015/03/25(水) 22:14:06.02 ID:fuG7BCjB
- 気にしなくてもいい
むしろあわせたほうがよさそう
例えば、Managerクラスのインスタンスは必ずmgrではなくmanagerに代入する、など
でも今回の例だとshoppingのnum_appleはnum_itemにしたほうがいいと思う
(おそらく)shoppingの引数はりんごってことに依存しないのに、引数がnum_appleになってると紛らわしいから
- 805 :デフォルトの名無しさん:2015/03/26(木) 10:32:43.78 ID:ZAP9cAHT
- ctypes で python 側のメモリ領域を渡したい場合
create_string_buffer() するしかないですか?
既にある str 型の hoge に対してその中のメモリ領域に書き込みたいのです
テスト用の DLL 作って c_char_p(hoge) を char *hoge で受けて書き換えても
python 側の hoge の中身は書き換わりませんでした
- 806 :デフォルトの名無しさん:2015/03/26(木) 12:22:07.15 ID:ml9CMOKh
- >>805
そういう危険な事をしてはいけません…イミュータブルなオブジェクトを変更すると
ハッシュが無意味になったり、その結果、内容が違うのにイコールとか戯けます
という建前はさておき…それUnicodeならc_wchar_pじゃないのと思ったら…
2と3で挙動が異なるのでソースを眺めてみたところ、Py_UNICODEがwchar_tなら
2系ではPyUnicode_AS_UNICODEでポインタがそのまま渡されているが
3系では関係なくPyUnicode_AsWideCharStringでコピーされてるようですん
bytesなら3でも書き換えられるけど…簡単にアドレス取得は方法ってなかったっけかな
id()にフィールドオフセット加算してくすねてくるのは嫌らしいし
- 807 :806:2015/03/26(木) 12:38:22.83 ID:ml9CMOKh
- あーPython上だけで考えちゃったけどpy_objectとして渡して
C側でPython/C API使っていじるとか…いよいよもって破壊的というか
もはやPythonモジュールになってしまうな、そしたらもうbytearrayでも使った方が…
- 808 :デフォルトの名無しさん:2015/03/26(木) 13:15:00.63 ID:SuVdMCRs
- PIL の im.tostring() とか
PyOpenCV の iplimage.imageData とか
bytearray じゃなくて str なんですよね
素直に Python モジュールで書いた方が良いのかな
- 809 :デフォルトの名無しさん:2015/03/26(木) 13:49:26.54 ID:ml9CMOKh
- >>808
うん…?ちょっと待って、それはそれ自体コピーじゃないの?
PILくらいしかそれもちょっと触ったことしかないけど、
ピクセル操作ならputpixelするとか、from*系で戻すとかしないとダメじゃない?
- 810 :デフォルトの名無しさん:2015/03/26(木) 15:12:06.80 ID:SuVdMCRs
- im.tostring() はコピーかもしれないですが(こっちは直接変更するつもりないです)
iplimage.imageData はコピーじゃないと思ってるんですがどうなんでしょう?
iplimage.imageData の指してるアドレスの内容を変更したいです
cvSetData とかはあるようですがこれは全部を置き換えるものみたいで効率悪いんです
- 811 :デフォルトの名無しさん:2015/03/26(木) 17:05:39.65 ID:H+EftXlX
- Rubyのbundlerみたいにプロジェクトごとにパッケージをインストールする方法って
仮想環境を作る以外にはないですか?
プロジェクトごとに仮想環境を作るとバージョンアップした時に作りなおさないといけないし
プロジェクトが増えるに連れて仮想環境にコピーされる実行ファイルとか諸々のファイルサイズも気になりだしてきたので・・・
- 812 :デフォルトの名無しさん:2015/03/26(木) 19:14:32.25 ID:hd1hb778
- そんなバカな
pip install --target=$DIR で指定ディレクトリにインストール
bundle execする代わりにPYTHONPATH=$DIR:$PYTHONPATHとやるか
sys.path.insert(0, '/path/to/$DIR')をやる
ライブラリの管理ファイルはrequirements.txtが慣例になっている
pip freeze > requirements.txtで作成
pip install -r requirements.txt --target=$DIRでインストール
そもそもbundlerが何やってるか知ってれば
こんな質問出てこねえよなあ〜
本当にこんな下々までプログラミングを広めて良いことがあるんだろうか?
飯の種に普及を図ってるようにしか見えねえや
- 813 :デフォルトの名無しさん:2015/03/26(木) 20:09:42.08 ID:ml9CMOKh
- >>810
ざっと見た限りその辺レガシーAPIではないの、pyopencvとopencv触ってみた感じ
ndarray返してきて書き換えれば済んだけど、どっから出てくるのそいつら
- 814 :デフォルトの名無しさん:2015/03/26(木) 21:39:52.99 ID:qFS8A6Q1
- bundlerって何やってるんですか?
- 815 :デフォルトの名無しさん:2015/03/26(木) 21:43:36.08 ID:qFS8A6Q1
- pip freeze > requirements.txtはグローバルなパッケージのほうを記録しちゃってますけどどうしてですか?
- 816 :デフォルトの名無しさん:2015/03/26(木) 22:51:30.44 ID:GMm8z4wV
- ファイルを開いた時
f.read()[1:]
これでエラーになるのは何でですか?
- 817 :デフォルトの名無しさん:2015/03/27(金) 03:08:20.78 ID:B/xnV6qp
- >>805-813
const char * s1 = "ab";
const char * const s2 = "cd";
char s3[] = "ef";
ここで、s1, s2 は変数だが、s3 は変数ではなく!、
配列の先頭アドレスの別名
ちなみに、書き込みできない rodata(ReadOnly)領域には、
ab, cd, s2
書き込みできる data 領域には、
ef, s1 が入る
また、書き込みできない rodata/text 領域は、
ファイルにデータがあるため、
スワップ領域に書き込まれないし、
同じアプリの複数プロセスで、
データが共有されるため、エコであり、
なるべく、const にした方がよい
C言語ではこのように、書き込みできる・できない領域を、
別々に管理しています
- 818 :デフォルトの名無しさん:2015/03/27(金) 03:54:25.26 ID:zZgFJ1tm
- ありがとchar
- 819 :デフォルトの名無しさん:2015/03/27(金) 05:29:08.14 ID:nMQwVixl
- ちんちん擦ってると気持ちよくなってくるのはなんでなんですか!? (><。
- 820 :デフォルトの名無しさん:2015/03/27(金) 16:16:59.32 ID:P27u+k0y
- いま、みんなのpython読んでるところなんだけど
rubyやpearlに比べてpythonが優れてる点って何なのですか。
ユニークで楽しいとは感じますが、まだ文法理解段階なので
これだ!とぐっとこないもので・・
- 821 :デフォルトの名無しさん:2015/03/27(金) 17:37:25.30 ID:MKjiVFgc
- [1,2,2,3] - [2] = [1,2,3]みたいにする方法教えてください
リストから集合に直して引き算すると2が全部消えて[1,3]ってなるので困りました
- 822 :デフォルトの名無しさん:2015/03/27(金) 19:58:57.57 ID:FOIXdkU1
- >>821
set([1,2,2,3])
- 823 :デフォルトの名無しさん:2015/03/27(金) 20:05:42.07 ID:FOIXdkU1
- >>821
list(set([1,2,2,3]))
すまん。こうゆう事で良い?
- 824 :デフォルトの名無しさん:2015/03/27(金) 20:10:25.29 ID:kqEHE0zo
- >>821
a = [1, 2, 2, 6, 2, 3, 3, 4, 3]
b = [2, 3]
for i in b:
del a[a.index(i)]
- 825 :デフォルトの名無しさん:2015/03/27(金) 20:35:33.34 ID:0J1GAupe
- >>821
[1,2,2,3]から2を一つだけ削除したいってことなら
a=[1,2,2,3]
a.remove(2)
破壊的なのがいやだとしたらいったんコピーしてからにするしかないかなあ何か別の方法あるかなあ
- 826 :デフォルトの名無しさん:2015/03/28(土) 03:45:43.32 ID:vFtQyJKT
- >>820
実行速度が速い、リスト内包表記と、
読み取りのみで、書き込みできない(const)タプル
他には、Pythonではこう書ける
x < f() < y
x < f() && f() < y
一般的な言語では、こう書くと、
f()が2回実行されてしまうので、
以下のように書かなければならない
tmp = f()
x < tmp && tmp < y
- 827 :デフォルトの名無しさん:2015/03/28(土) 04:24:03.94 ID:dPReY2nw
- x < (tmp = f()) && tmp < y
- 828 :デフォルトの名無しさん:2015/03/28(土) 10:34:49.36 ID:aQI1vv/L
- >>804
ありがとうございます!
アドバイスにある一般化できる名前を使いたいと思います
- 829 :デフォルトの名無しさん:2015/03/29(日) 10:46:06.21 ID:OKj2Wzwc
- mathなどPythonで書かれていないメソッドの引数情報を取得したいのですが方法ありますか?
inspectではpythonではないとエラーになります。
import inspect
import math
inspect.getargspec(math.floor)
- 830 :デフォルトの名無しさん:2015/03/29(日) 12:15:19.66 ID:b22zekXj
- python docsの翻訳でtransifexが使われているけどこれは個人で借りてるの?
どこかから寄付を募ってるの?
- 831 :デフォルトの名無しさん:2015/03/29(日) 19:03:17.14 ID:U/seMwAy
- オープンソースプロジェクトは無償で使える
Pricingのページをよく読め
- 832 :デフォルトの名無しさん:2015/03/29(日) 23:59:34.92 ID:yeDB6SnO
- >>829
inspectのライブラリリファレンスを読むと、
特定の実装のC定義関数は引数情報を提供してないっていう書き方なので、
あとはソースコードを読むぐらいじゃないですかね
- 833 :デフォルトの名無しさん:2015/03/30(月) 01:42:37.41 ID:gGNMsyQm
- 助けてぇ!初心者ですぅ!
min関数の実装をしているのですが、
maxの場合は、
最初に maxv = Noneとしておけば
if maxv < val:
maxv = val
で更新出来るのですが
min関数作る場合で、最初のminvは何に設定すればいいでしょうか?
最も大きい値ってあります?
not None で確認してみたところTrueとなったのですが、これは3とかのintよりも小さいみたいですし
って書いてるうちに気づいた、ループで最初の一回だけは、比較を逆にして処理すればいいのか
もしよければ、絶対的な最大の値ってなんでしょうか、教えてくださいm(__)m
- 834 :デフォルトの名無しさん:2015/03/30(月) 02:08:42.08 ID:iRUXlAgw
- 何をしたいのかイマイチ伝わらんぞ
コード貼れコード
- 835 :デフォルトの名無しさん:2015/03/30(月) 02:50:49.70 ID:gGNMsyQm
- あー、やっと解けました
疲れた・・。*argsの引数の部分が、例えば、[1,2,3]のように取ると
args = ([1,2,3],)となってfor文で処理できなくなるのに苦戦しました。
len(args) == 1 のときに、args = args[0]で更新すればいいということに気がついた
>>834さん
minv = ???
for i in ([1,2,3]):
if minv > i:
minv = i
としたいのですが、???が何であれば、[1,2,3]にどんな数や文字列が来ても稼働するかという質問です。
Python3系では、異なるデータ型同士では比較できないっぽい挙動がありましたが
None < -1、None < "a", None < [1,2,2]は全部Trueになりますが
逆に、
??? > 数の無限、??? > "a"、??? > [1,2,3]を満たすような???はないのかということです
結局、一周目だけ分岐させて、minv に i を代入させればいいだけのことなのですが
- 836 :デフォルトの名無しさん:2015/03/30(月) 03:07:11.23 ID:mMzd4deT
- >>835
横からだけどminv=args[0]にしてfor文でargs[1:]を処理するといいよ
ちなみに数の無限はfloat('inf')で作る
ていうかinfの作り方とか初めて知ったわ
- 837 :デフォルトの名無しさん:2015/03/30(月) 13:50:49.37 ID:FyB5h3Ft
- メーリングリストのメールアドレスの人は同一人物なのかな
ああいうのをメーリングリストで質問する神経が分からん
2ちゃんとか知恵袋で質問するようなことだろ
- 838 :デフォルトの名無しさん:2015/03/30(月) 15:19:14.24 ID:gGNMsyQm
- >>836
ありがとうございます
minv=args[0]の方が楽に書けますね
infも内蔵されているのか
知らなかった
- 839 :デフォルトの名無しさん:2015/03/31(火) 10:01:44.02 ID:vSVUohv/
- WindowsでPythonプログラミングしてるウンコに朗報だよー
Unofficial Windows Binaries for Python Extension Packages
http://www.lfd.uci.edu/~gohlke/pythonlibs/
のパッケージがインストーラー形式からwhl形式になったよ
pipでvirtualenvに入るよ
やったね
- 840 :デフォルトの名無しさん:2015/03/31(火) 11:33:56.34 ID:B5kKsNTd
- from . import a
.を使った書き方を見るんですが
この.ってなにを意味してるんですか?
- 841 :デフォルトの名無しさん:2015/03/31(火) 11:54:08.82 ID:vSVUohv/
- 相対インポート
- 842 :デフォルトの名無しさん:2015/03/31(火) 16:18:18.04 ID:iKp7SUfR
- なるほどその相対インポートってのを絶対パスを求める方法ありませんか?
- 843 :デフォルトの名無しさん:2015/03/31(火) 17:30:58.69 ID:vSVUohv/
- __file__変数
print a.__file__
- 844 :デフォルトの名無しさん:2015/03/31(火) 17:48:50.23 ID:vSVUohv/
- 違うな絶対パスか
確実な方法はない
簡単な方法はsys.pathと__file__を結合して存在チェックすること
確実な方法がない理由は
そもそもモジュールはファイルでなくてもよく
ファイルシステムに存在することも必須でないから
- 845 :デフォルトの名無しさん:2015/03/31(火) 17:54:11.80 ID:vSVUohv/
- http://ja.pymotw.com/2/sys/imports.html
ここにshelveからインポートする例がある
応用するとgithubなんかから直接インポートするようにもできる
意味があるかはともかく
- 846 :デフォルトの名無しさん:2015/03/31(火) 18:47:39.74 ID:c/ex+3Fj
- 正規表現で、( )を認識させるためにはどうすればいいですか?
- 847 :デフォルトの名無しさん:2015/03/31(火) 18:49:51.04 ID:UlHxCFJ1
- 正規表現 エスケープでググレ
- 848 :デフォルトの名無しさん:2015/03/31(火) 19:08:32.94 ID:c/ex+3Fj
- ありがとうございます
円で一度やってみてできなかったので
間違っているのかと思いましたが、
バックスラッシュでできました
- 849 :デフォルトの名無しさん:2015/04/01(水) 01:59:32.71 ID:m6CSw1kp
- for line in fp:
line = line.rstrip()
data = line.split(",")
number = int(data[0])
fp.close
123,abc という内容のtxtファイルをで読み込ませて、123の部分を数字にしてnumberという変数にいれたいのですが、
Traceback (most recent call last):
File "C:/python/abc.py", line 12, in <module>
number = int(data[0])
ValueError: invalid literal for int() with base 10: '\xef\xbb\xbf123'
というエラーが出てしまいます
どうしたらいいんでしょうか?
- 850 :デフォルトの名無しさん:2015/04/01(水) 02:25:42.80 ID:mF7dj2uB
- data[0]が"123"じゃなくて"\xef\xbb\xbf123"だからintで変換できない
BOMがついてるからBOMなしでUTF-8で保存できるエディタでtext.txtを編集しな
- 851 :デフォルトの名無しさん:2015/04/01(水) 05:06:59.46 ID:ZJ6YoV9V
- fp = open('file.txt', encoding='utf-8-sig')
- 852 :デフォルトの名無しさん:2015/04/01(水) 11:57:44.67 ID:m6CSw1kp
- お二人さんとも有り難うございました!
- 853 :デフォルトの名無しさん:2015/04/01(水) 13:31:19.54 ID:E9lgPX7z
- ラズパイでさわってるが、JavaScriptよりも、利便性が高い部分も
結構あるねこのスクリプト言語。
- 854 :デフォルトの名無しさん:2015/04/01(水) 13:46:10.07 ID:CKq6Lt/0
- $とかendとか書くのが嫌いだからぼくはPythonを使い続けるよ
- 855 :デフォルトの名無しさん:2015/04/02(木) 13:41:52.61 ID:hZpl+TDZ
- python2のraw_input()はpython3ではinput()ですが
python2のinput()はpython3ではinput()ではありませんよね
2と3どっちでも使える書き方をでんじゅして
- 856 :デフォルトの名無しさん:2015/04/02(木) 14:04:58.34 ID:qqPJ8aIO
- Python2.7には、__future__ モジュールに、
3の新機能がバックポートされている
また、2to3 というツールで、2の記述を、3へ変換できる
- 857 :デフォルトの名無しさん:2015/04/03(金) 11:16:23.19 ID:s3ZVtSco
- Python 2.6.1で以下の置換を実行すると、上の式だとうまくいかないのは何故でしょう?
戻り値はA\?Cとなります。
#coding:utf-8
import re
str='A(M)C'
print re.sub('[(]M[)]','',str)
print re.sub('(M)','',str)
- 858 :デフォルトの名無しさん:2015/04/03(金) 11:36:23.32 ID:leLHgqx2
- AMC()を全角文字で書いてるな
これは文字列リテラルにuプレフィックスを付けてユニコード文字列にすれば期待してる動作になるかも
- 859 :デフォルトの名無しさん:2015/04/03(金) 13:00:00.52 ID:/gPIw7xI
- pythonでwebサーバ立ち上げる場合ってサイト数だけサーバ起動コマンドを撃たないとダメなんですよね
10とか20もサイトあるとそれだけコマンドを撃たないとダメなんですか?
こういうものなんですか?
PHPより面倒くさいですね
- 860 :デフォルトの名無しさん:2015/04/03(金) 13:44:31.46 ID:s3ZVtSco
- >>858
ありがとうございます。以下の様にしたら期待通りの結果になりました。
#coding:utf-8
import re
str=u'A(M)C'
print re.sub(u'[((]M[))]','',str)
print re.sub(u'(M)','',str)
- 861 :デフォルトの名無しさん:2015/04/03(金) 16:03:48.78 ID:I1Qw0OFj
- >>859
自動化すればいいと思うのですが?
venvとuwsgiでの設定例なら
upstartはググればすぐ出るし、
sysvintもよく探せばありますよ。
systemdは…偉い人たちが書いてくれるのを待ってる最中です。
起動で文句を言ってたらMySQLを使う時に発狂してしまうのではないかと…。
Pythonエンジニア養成読本が発売されるようです。初心者の私としてはuwsgi・gunicorn・sqlalchemyなどが詳しく解説されている事を願うばかりです。
- 862 :デフォルトの名無しさん:2015/04/03(金) 16:26:38.12 ID:fygFc6bt
- GPIOから流れてくるシリアルデータを受けたらテキストにデータを書き込み
受けたら書き込むというのを繰り返すコードを書きたいのですが、どんな形
で書いたら良いのでしょうか?
またその場合、プログラムは常駐しないと行けないとおもうのですが、特にここ
がわかりずらくて。常駐して待機していて、GPIOから流れてくるデータを受けたら
テキストに書き込むなんて出来るんでしょうか?
- 863 :デフォルトの名無しさん:2015/04/03(金) 16:56:30.30 ID:QYeOKX2q
- >>862
ステートパターン
フラッシュ
- 864 :デフォルトの名無しさん:2015/04/03(金) 17:57:33.49 ID:aV58CpUC
- GPIOとのアクセス方法が不明だけど
単純にスリープはさんでポーリングかな。
それをステートパターンでやるかはどーでもいいかと。
もしこれだけの単機能プログラムじゃないなら
読み書きで別スレッドにして受け渡しすることになると思う。
- 865 :デフォルトの名無しさん:2015/04/04(土) 01:45:30.14 ID:knpZoffv
- >>862
Raspberr Piかな?
USBとか、UARTからシリアルデータ受信なら分かるけど、
GPIOでシリアルデータ受信?
- 866 :デフォルトの名無しさん:2015/04/04(土) 01:50:59.00 ID:knpZoffv
- >>862
こんなんとかかな。
# 参考ページ
# http://chicklab.blog84.fc2.com/blog-entry-46.html
import serial
def main():
# USB-Serialを使用する場合、ttyUSB0
# GPIOピンを使用する場合、ttyAMA0
# con=serial.Serial('/dev/ttyUSB0', 19200, timeout=10)
con = serial.Serial('/dev/ttyAMA0', 19200, timeout=10)
with open('out.txt', 'a')as f:
while True:
str = con.readline()
f.write(str)
if __name__ == '__main__':
main()
- 867 :デフォルトの名無しさん:2015/04/04(土) 12:42:54.92 ID:0/1TDv54
- >>861
でもコマンドの数だけプロセスが立ち上がるじゃないですか
MySQLの場合は起動は1つだけでいいのでどこに発狂する材料はあるんでしょうか
- 868 :デフォルトの名無しさん:2015/04/04(土) 13:26:23.20 ID:8tbUo2zR
- pyenv使うと環境変数PATHのトップに/usr/binが追加された状態でpythonが動作してるみたいなんだけど
これって何か理由があるのかな
出来れば追加をやめたいなあと思いpyenv内をexport PATHとかでgrepしても追加箇所が見当たらずよくわからん
pythonからruby呼び出しがrbenv経由にならなくてハマった
- 869 :デフォルトの名無しさん:2015/04/04(土) 13:46:54.64 ID:ieuO4P1x
- それ本当にpyenv関係あるの?
- 870 :デフォルトの名無しさん:2015/04/04(土) 16:49:31.73 ID:3ZYdL9yE
- インターネット上にあるCSVのファイルを開きたいのですが
import csv
import urllib.request
url = 'http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv'
response = urllib.request.urlopen( url )
reader = csv.reader( response )
for row in reader:
print(row)
以下のエラーがでます。
_csv.Error: iterator should return strings, not bytes (did you open the file in text mode?)
何か良い方法ないでしょうか?
- 871 :デフォルトの名無しさん:2015/04/04(土) 17:10:49.44 ID:N4lx0lGg
- >>867
まじめな話だけど
馬鹿には無理
- 872 :デフォルトの名無しさん:2015/04/04(土) 17:21:08.88 ID:8tbUo2zR
- >>869
pyenvでバージョンをsystemにしておいても
python(つまりpyenv経由)からos.environ["PATH"]を表示すると最初に/usr/binが入っていますが
/usr/bin/pythonから同様にPATHを表示すると入っていません(先頭の/usr/binを除けば同じ)
2環境(どちらもUbuntu14.04)で確認してどちらも同様だったのでpyenvが設定しているのでは、と見ています
- 873 :デフォルトの名無しさん:2015/04/04(土) 17:32:31.25 ID:8tbUo2zR
- すみません確認不足でした
上記の動作は、pyenvでバージョンをsystemにしている状態でのみパスが追加されてました
他のバージョンに設定しておけば追加されないようです
systemでのみパスが追加される理由はわからないですが自分の問題は解消しました
ありがとうございますお騒がせしました
- 874 :デフォルトの名無しさん:2015/04/04(土) 18:22:30.45 ID:Im19kqOF
- >>870
エンコーディングが判明しているなら
responseをcodecs.StreamReaderでラップしてやればいい
本当に初心者ならハードル高いかもね
俺なら
csv.reader(io.StringIO(requests .get(url).text))
とかやっちゃうかな
標準ライブラリ縛りみたいな、無駄な拘りがなければ
- 875 :デフォルトの名無しさん:2015/04/06(月) 07:24:32.76 ID:PufGX+Fr
- >>863-866
サンクス。
今日家に帰ったら早速やってみようと思います。
- 876 :870:2015/04/06(月) 12:00:16.96 ID:WONhOiZc
- >>874
ありがとうございます。
import csv
import urllib.request
url = 'http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv'
reader = csv.reader( urllib.request.urlopen(url).read().decode('cp932') )
for row in reader:
print(row)
これで一応エラーはでないで読み込むことはできるようになったのですが
なぜか文字が一文字ずつに分割
他のCSVで試してみると[', ']や改行?の[]が入っているようです。
上記の方法でやればこのようなことにはならないのでしょうか?
- 877 :デフォルトの名無しさん:2015/04/06(月) 12:33:37.79 ID:b9yIKEaO
- やってみてから言えばいいだろう…
行イテレーターを取る関数に文字イテレーターを渡してるから
関数は「一行に一文字しか書かれていないcsv」として処理してしまうわけ
- 878 :デフォルトの名無しさん:2015/04/06(月) 13:19:41.59 ID:PqzogR9Z
- >>876
教えてもらったコードの意味をググって勉強しろよ
s = "abcde"
for c in s: print(c)
print(s)
- 879 :870:2015/04/06(月) 13:55:04.81 ID:WONhOiZc
- >>877,878
勉強不足ですみません。
python3なためreauests.getが見つかりませんでした。
http://diveintopython3-ja.rdy.jp/files.html
>io.StringIOを使うと、文字列をテキストファイルのように扱うことができる。
import csv
import io
import urllib.request
url = 'http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv'
reader = csv.reader(io.StringIO(urllib.request.urlopen(url).read().decode('sjis')))
for row in reader:
print(row)
で目的通りに動くようになりました。
responseをcodecs.StreamReaderでラップについては勉強します。
- 880 :870:2015/04/06(月) 14:04:20.87 ID:WONhOiZc
- >>877
CSVでもダブルクォーテーションで囲む文字列文字は文字列で処理されています。
こちらの資料によると
http://itdoc.hitachi.co.jp/manuals/3020/30203698A0/swrj0068.htm
ダブルクォーテーションで囲まない文字列
区切り文字の間のすべての文字が値とみなされます。
コンマ(,)を文字列の値として記述することはできません。
区切り文字であるコンマ以外の文字はすべて値となります。したがって,アポストロフィ(')や空白文字も値とみなされます。
CSVの仕様でダブルクォーテーションで囲まないため1文字ずつの処理になっているのだと思います。
- 881 :デフォルトの名無しさん:2015/04/06(月) 14:45:47.80 ID:fqwipNOH
- >>880
膳膳違うから…もうこれで良いよ
from urllib.request import urlopen
import io, csv
with urlopen('http://www.tepco.co.jp/forecast/html/images/juyo-2013.csv') as res:
for row in csv.reader(io.TextIOWrapper(res,'sjis')):
print(row)
- 882 :870:2015/04/06(月) 15:05:00.21 ID:WONhOiZc
- >>881
そうなんですか勉強不足ですみません。
プログラムありがとうございます。
勉強させていただきます。
- 883 :デフォルトの名無しさん:2015/04/07(火) 14:56:04.94 ID:kjLpHpnX
- python-pipとpipの違いってなんでしょうか?
両方いれるとまずいのでしょうか
- 884 :デフォルトの名無しさん:2015/04/07(火) 15:26:45.84 ID:jnQKtoWz
- python-pipってどうせyumとかの奴だろ
古いしシステムのPythonは必要に迫られない限り変更すべきでない
pyenv使うなりソースインストールするなりで/optや$HOME下にいれて
パスを張って使え
pipが使いたくてPython2.7.9かPython3.4なら
python -m ensurepipとすればpipが入る
- 885 :デフォルトの名無しさん:2015/04/07(火) 16:14:31.84 ID:kjLpHpnX
- >>884
ありがとうございます。
- 886 :デフォルトの名無しさん:2015/04/08(水) 19:34:05.59 ID:vhF88cmZ
- pyenvとvirtualenvで仮想環境作ったけど
メインのバージョンの方を削除して新しいバージョンをいれた
そうしたら仮想環境を削除して作りなおさないといけないんですか?
またpipでインストールしなおさないといけないんですか?
ちょうだるい何かいいほうほうないっすか?
- 887 :デフォルトの名無しさん:2015/04/08(水) 20:08:31.78 ID:bA5nfYlZ
- 残念でした
ありません
もうこの辺でプログラミングから足を洗いましょうそうしましょう
- 888 :デフォルトの名無しさん:2015/04/08(水) 23:29:17.83 ID:i5GFx/ek
- fabric
- 889 :デフォルトの名無しさん:2015/04/09(木) 18:49:45.06 ID:zb+p9PTi
- ねー、メソッド版map関数みたいなのにゃい?
- 890 :デフォルトの名無しさん:2015/04/09(木) 18:51:52.08 ID:j3QfwzLY
- エスパーすると、メソッドチェーンしたいのかな
- 891 :デフォルトの名無しさん:2015/04/09(木) 19:00:36.55 ID:96U9YCId
- エスパーきてんね
- 892 :デフォルトの名無しさん:2015/04/09(木) 19:27:20.99 ID:zb+p9PTi
- 初心者だから何言っているのかわかんにゃい
メソッドチェーンでググったけど
Pythonは関数型言語で必要最小限の関数しか標準実装されてないからないってことでおk?
JavescriptとかRubyはあるのね
- 893 :デフォルトの名無しさん:2015/04/09(木) 19:27:39.47 ID:fQtolgaH
- Pythonにメソッドなんて用語あったっけ?
- 894 :デフォルトの名無しさん:2015/04/09(木) 19:32:16.77 ID:zb+p9PTi
- Pythonスタートブックって本読んでるけど
データ型にメソッド付随するみたいなこと書いてあるお
- 895 :デフォルトの名無しさん:2015/04/09(木) 20:35:44.30 ID:vzdfR+u8
- リストにlen属性を持たせないでlen関数使えとか言ってる言語ですよ
お察し
- 896 :デフォルトの名無しさん:2015/04/09(木) 23:52:13.62 ID:OhY+HYh2
- シーケンス型のオブジェクトそれぞれにlengthプロパティ持たせるよりも、標準関数としてlen()実装したほうが一貫性あると思うよ
ていうか、何でリスト限定なの
- 897 :デフォルトの名無しさん:2015/04/10(金) 10:52:33.19 ID:PAmS8Ow4
- >>896
釣りにマジレスしとるぞ
__len__
- 898 :デフォルトの名無しさん:2015/04/10(金) 10:53:06.45 ID:IGMdEJ+n
- >>896
釣りにマジレスしとるぞ
__len__
- 899 :デフォルトの名無しさん:2015/04/10(金) 12:42:26.36 ID:U/3ufYu+
- ここは釣りにマジレスする流れでしょうか
- 900 :デフォルトの名無しさん:2015/04/11(土) 14:08:14.55 ID:BGNFw9vt
- これからPython勉強するんすけど
Pythonのオブジェクト指向機能は
いわゆるJava的サンプルコードで語られることの多い
種々のデザインパターンを網羅できますかね?
それとも仕様のせいで実現困難なパターンもある?
- 901 :デフォルトの名無しさん:2015/04/12(日) 06:58:04.10 ID:P+OLIv+p
- 初心者です><
http://ideone.com/rMcVdn
このコードで、32行目のprint (ans) は表示されるのですが
78行目の print (route)は None になります
どこがおかしいのでしょうか?
- 902 :デフォルトの名無しさん:2015/04/12(日) 07:20:06.77 ID:iQq4nskB
- >>901
checkioは再帰関数のようですが、再帰部分のreturn文が足りないように見えます
44, 53, 63行目の部分を修正しました
http://ideone.com/yYx9jq
- 903 :デフォルトの名無しさん:2015/04/12(日) 07:26:25.72 ID:P+OLIv+p
- >>902
ありがとうございますm(_ _)m
おかげ様で助かりました
- 904 :デフォルトの名無しさん:2015/04/17(金) 03:58:07.93 ID:9h0FsUev
- 特定の座標をクリックさせるにはどうすればいい?
たとえば、「デスクトップ画面の左から100,上から100の位置をクリックする」みたいな。
- 905 :デフォルトの名無しさん:2015/04/17(金) 07:28:00.40 ID:737hTa9W
- ctypesでSendInputを呼ぶ
サンプルはググれば腐るほどあるので書かない
- 906 :デフォルトの名無しさん:2015/04/17(金) 18:47:14.44 ID:9h0FsUev
- >>905
ありがと
でけた
- 907 :デフォルトの名無しさん:2015/04/18(土) 09:12:51.42 ID:DNbLuOB8
- Windowsだとpyqtの新しいバージョンを入れるのが楽だけど
linuxだとソースコードから入れないと行けないからpyqt5は実用的ではない
pyqt4を使うかpysideを使うべきだ
- 908 :デフォルトの名無しさん:2015/04/18(土) 10:32:32.37 ID:TNGwH1Lz
- ふぁ〜
- 909 :デフォルトの名無しさん:2015/04/18(土) 15:18:15.14 ID:UFFh6cBw
- https://github.com/tweepy/tweepy/pull/574
このコミットをpipでインストールしたtweepyに反映させたいのですが
どういう方法でやれば今後のpip経由のupdateには影響させずにできるのでしょうか?
- 910 :デフォルトの名無しさん:2015/04/18(土) 17:48:22.11 ID:TNGwH1Lz
- どういう方法もないよ
諦めて
- 911 :デフォルトの名無しさん:2015/04/18(土) 17:58:09.61 ID:TNGwH1Lz
- pip install -Uは古いバージョンを削除して新しいバージョンをインストールする機能しかないので
次にupdateする時に、変更のあったファイルだけよしなに対応するような機能はないって意味ね
修正自体は直接ファイル弄るなり、pypiからソース取ってきてパッチ当てて
setup.pyするなりpip installするなりしたらいい
- 912 :デフォルトの名無しさん:2015/04/18(土) 23:39:32.23 ID:b4TBs1Oe
- 馬鹿か
コミットid指定してインストールできるだろ
- 913 :デフォルトの名無しさん:2015/04/19(日) 19:54:41.97 ID:GdN6icOR
- インストールした後にrequirement.txtにコミット指定で書けば出来るんじゃないの
モバイルのパケット代もったいないから試してないけど人柱として試してみてね
- 914 :デフォルトの名無しさん:2015/04/23(木) 14:41:11.03 ID:Eg844cdw
- Python(x,y)-2.7.9 を使っています。これの portable 環境を作りたくて、Python(x,y)
の Lib 以下、必要な部分だけを別のディレクトリにコピーしました。
おおむね動いたのですが、import enthought.mayavi.mlab as mlb を実行するとき下の
ようにエラーになってくれます。
//@@
import enthought.mayavi as mlb
//@@@
Traceback (most recent call last):
File "__tmp.py", line 1, in <module>
import enthought.mayavi as mlb
ImportError: No module named enthought.mayavi
なぜ import できないのかと調べています。下の __init__.py ファイルがありませんでした。
Lib\site-packages\enthought\__init__.py
でも、元の Python(x,y) の enthought package の下にも __init__.py ファイルがあり
ません。しかし元の Python(x,y) enthought package は __init__.py ファイルがなく
ても import できています。不思議です。
・ enthout package が __init__.py がなくても import できる理由
・ portble 版でも enthought pakage を動かす方法
を説明できる方がいらっしゃいますでしょうか?
- 915 :デフォルトの名無しさん:2015/04/23(木) 15:05:18.54 ID:atwBzKak
- 馬鹿には無理
- 916 :デフォルトの名無しさん:2015/04/23(木) 16:38:17.44 ID:0VCN8LwS
- このご時世でなんでポータブルにする理由を説明するべきだ
- 917 :デフォルトの名無しさん:2015/04/25(土) 05:48:49.79 ID:7hIFO1+/
- for (i=2; i<20; i*=2){
}
これをpythonのfor文で書くにはどうすればいいでしょうか?
while を使うべきでしょうか?
- 918 :デフォルトの名無しさん:2015/04/25(土) 09:55:31.18 ID:1ezOf5+0
- >>917
for i in range(2, 20):
i *= 2
- 919 :デフォルトの名無しさん:2015/04/25(土) 11:05:12.66 ID:GiqwOUcG
- >>917
どうしてもfor文でやりたいならこんなのはどう?
a = [2**x for x in range(1, 5)]
for i in a:
print i
>>918
結果出力してみろよ
- 920 :デフォルトの名無しさん:2015/04/25(土) 15:49:17.93 ID:8i45KO8z
- 大げさだけど意味合いは表現できてるはず、可読性はどうだかな
from itertools import accumulate, repeat, takewhile
for i in takewhile(lambda x: x < 20, accumulate(repeat(2), int.__mul__)):
print(i)
- 921 :デフォルトの名無しさん:2015/04/27(月) 06:57:48.75 ID:4xONkpCF
- >>914 です。自分で解決できました。
Enthought は dll に細工をしているようです。 Python ディレクトリの下の DLLs ディ
レクトリ以下を全部コピーしてやったら sight-packages\enthought ディレクトリに
__init__.py がないままで import enthought が可能になりました。どの dll ファイル
が その効いているのかまでの確認はとっていません。
- 922 :デフォルトの名無しさん:2015/04/27(月) 07:07:15.35 ID:4xONkpCF
- >>917 for (i=2; i<20; i*=2){..} これをpythonのfor文で書くにはどうすればいいでしょうか?
Python が C 言語の for loop 構文を使わない理由を分かっていないだろう。C++ STL
で iterator を追加している理由を分かっていないだろう。
for (i=2; i<20; i*=2){..} の構文では、{..} の中でインデックス i が使われる。そ
の変数 i をループの中で変更できてしまえる。
一方で for x in anIterator:... 構文では ... ループ処理の中で anIterator が出て
くることがない。anIterator を介在させずに直接ループごとに処理したい x を扱え
る。これにより、C 言語ループより安全なループ処理が可能になる。STL iterator も同
じ理由で設けられている。
- 923 :デフォルトの名無しさん:2015/04/27(月) 15:13:31.26 ID:YYXELk6X
- それがどうかしましたか?
- 924 :デフォルトの名無しさん:2015/04/28(火) 08:22:29.03 ID:r3QjeWTk
- if "a" < "b": print "OK"
この場合にOKと出力されるのですが
文字で比較する場合のルールってあるんですか?
- 925 :デフォルトの名無しさん:2015/04/28(火) 17:52:48.93 ID:m+/hFxfU
- キャラクタコード順
- 926 :実は男:2015/04/28(火) 22:32:29.43 ID:iGmhRd88
- ぱいそんそわそわ
フォロリクよろしく(^з^)-☆
ややちゃん♂
https://twitter.com/minwqgmg
#ややちゃんかわいい
ややちゃんよりかわいいMTFなどいない
http://i.imgur.com/L7IX75Q.png
http://i.imgur.com/lkujqEZ.png
https://pbs.twimg.com/profile_images/590714340384382977/3_IE5FW8.jpg
http://i.imgur.com/t1dy6yB.jpg
#百合原まこきもいしね
http://light.dotup.org/uploda/light.dotup.org175301.jpg
https://twitter.com/mako_yurigahara
- 927 :デフォルトの名無しさん:2015/04/29(水) 18:56:35.62 ID:gd7dN52B
- >>926
グロ
- 928 :デフォルトの名無しさん:2015/05/04(月) 16:33:24.41 ID:WcXi0Dqd
- import ast
print(ast.literal_eval('3*2'))
足し算引き算は問題ないのに割り算掛け算はえらーになります
どうしてですか?
- 929 :デフォルトの名無しさん:2015/05/04(月) 17:05:45.47 ID:sKsouBLL
- 複素数リテラルの表現に必要だから
+と-だけ使えるようになっているらしい
- 930 :デフォルトの名無しさん:2015/05/04(月) 17:33:46.03 ID:SL6Le6HD
- なるほどeval使うようにします
- 931 :デフォルトの名無しさん:2015/05/05(火) 00:33:29.74 ID:bz0m6DRq
- >>914 >>921
import package_A
__init__.py
パッケージをインポートすると、
__init__.py 中に定義した、グローバル定数が使える
パッケージ内のパッケージをインポート
import package_A.subPackage_B
パッケージ内のモジュールをインポート
import package_A.module_C
from package_A import module_C
パッケージ内のモジュールから、
同じパッケージ内のモジュールを、相対パスでインポート。
. は同じパッケージで、.. はその上位のパッケージ
from . import module_C
from .. import module_C
- 932 :デフォルトの名無しさん:2015/05/05(火) 00:58:13.81 ID:/B8D9JT8
- すみません
http://ideone.com/CzVnhF
sum.()
のところでエラーが出てるらしいのですが、理由がわかりません
どなたかわかる方はいらっしゃいませんか?
- 933 :デフォルトの名無しさん:2015/05/05(火) 01:14:55.73 ID:WXcigvGr
- エラーを読みなさい
float(2m)のmがおかしいと言ってるぞ
このmはなんだ?何のつもりでつけた?
- 934 :デフォルトの名無しさん:2015/05/05(火) 01:25:25.08 ID:/B8D9JT8
- >>933
ありがとうございます
公式を見ながらやったので、2 * m にしなければいけないことをすっかり失念していました
http://i.imgur.com/SOnX5u9.png
>float(2m)のmがおかしいと言ってるぞ
これはどうやってわかったのですか?
- 935 :デフォルトの名無しさん:2015/05/05(火) 01:29:53.69 ID:WXcigvGr
- Syntax Errorの行の上にハット記号(これ→^)が出てるだろ
そこが構文解析に失敗した位置を示してる
- 936 :デフォルトの名無しさん:2015/05/05(火) 01:37:25.45 ID:/B8D9JT8
- あ、これsum()の後ろのことではなく、一行上の2mのことだったんですね
ありがとうございます、ひとつ勉強になりましたm(__)m
- 937 :デフォルトの名無しさん:2015/05/08(金) 15:13:32.45 ID:3zw8TVPp
- リストに入っている全ての文字列群から、二番目の文字と三番目の文字を取ってきて新しいリストを作りたい
これ簡単に書くにはどうしたらいい?低レベルですまん
- 938 :デフォルトの名無しさん:2015/05/08(金) 19:14:26.89 ID:jdfB6B/G
- 全くのサイト制作初心者です
with open() as f
f.write()
でファイルの書き込みは出来るようになりました
とりあえずサイトの文章部分を別ファイルに書き込み&読込みしたいんですが
その際の文章部分の書式はどうしたらいいんでしょうか?
JSON?SQL?
どちらもよく解りませんが、必要ならば勉強します
コンマ区切りじゃダメでしょうか?
どれを使うにしても、その際に有用な関数なども教えていただければ幸いです
- 939 :デフォルトの名無しさん:2015/05/08(金) 20:03:18.24 ID:dNCQDJld
- >>937
以下のbでもcでもできる
a = ['abc','def','ghij']
b = list(map(lambda x: x[1:3], a))
print(b)
c = [x[1:3] for x in a]
print(c)
- 940 :デフォルトの名無しさん:2015/05/08(金) 20:13:07.27 ID:rtQrrRIy
- >>938
サイトって何よ
cgiでも動かしてんの?
- 941 :デフォルトの名無しさん:2015/05/08(金) 21:16:53.81 ID:sB39VK3e
- >>939
ありがとう!
思ったより難しかった
こういうのすらすら書けるようになりたい
- 942 :デフォルトの名無しさん:2015/05/09(土) 01:54:28.71 ID:9BMlX8/l
- >>940
> サイトって何よ
> cgiでも動かしてんの?
何も動かしてませんが、自宅サーバを立ててまして
実際には運営はしてませんがドメインも取りました
とりあえずNginx、postgres、あとuwsgiを入れてみました
でも、どこから手を付けていいものか解りません
で、Pythonの基本からやろうかと思いまして
問い合わせフォームとかをメアドを表示しない状態で、
などを実装してみたいんです
問い合わせ内容とか、ログに残してみたり、必要かと思って
まずは、ファイル書式関係かな?と思って質問してみました
- 943 :デフォルトの名無しさん:2015/05/09(土) 02:30:08.01 ID:5NEoo1tP
- あなたの言うPythonの基本って何だい
プログラミング初心者ってことならドットインストールでも見てきなよ
Webアプリに突撃するには10日早い
- 944 :デフォルトの名無しさん:2015/05/09(土) 02:56:38.93 ID:5NEoo1tP
- 一応質問にもアドバイスする
回答とは違う
書式なんて要件次第だ
何のしがらみもないなら自分で決めていい
というより、その程度の情報ではやりたいようにやれよとしか言えない
コンマ区切りで済むならそれで構わない
コンマ区切りを採用するなら、単純に文字列のsplitメソッドを使うか
csvモジュールを使えばいいだろう
- 945 :デフォルトの名無しさん:2015/05/09(土) 10:53:52.49 ID:gwDj3Ooh
- ここは科学技術計算系(anaconda3)の質問はスレ違いでしょうか?
- 946 :デフォルトの名無しさん:2015/05/09(土) 13:14:22.15 ID:8RFySLN3
- age
- 947 :デフォルトの名無しさん:2015/05/09(土) 19:26:11.48 ID:EIjgNRBm
- { "text" : text , "tel" : tel , "address" : address }
こんな風にキーの名前とvalueの変数名が同じdictを簡潔に書けないでしょうか?
つまりtextとかtelを二度書きたく無いんです
- 948 :デフォルトの名無しさん:2015/05/09(土) 19:42:50.62 ID:5NEoo1tP
- localsとかglobalsを使えばできないこともない
あまり勧められたものでもないが
- 949 :デフォルトの名無しさん:2015/05/09(土) 20:10:35.27 ID:l4fGqUab
- クラス設計でインスタンス変数をそれぞれ設定していくべきか、辞書を使って一纏めにしてしまうべきか悩んでいます。
具体的には、
self.itemA = 0
self.itemB = 0
...
としていくか、
self.itemBag =
{
"A": 0,
"B": 0,
...
}
のどちらにすべきか、です。
パフォーマンスは求めていませんが、見やすさ、設計の利点などの違い、あるいは好みでどちらにすべきかなどの意見はありますか?
- 950 :デフォルトの名無しさん:2015/05/09(土) 20:28:16.96 ID:5NEoo1tP
- どういう属性かによるね
関連性があるならグループ化する価値はあるだろう
- 951 :デフォルトの名無しさん:2015/05/09(土) 20:41:31.62 ID:v8DO1laq
- そのほかの箇所での設定や参照時も一緒に設定参照するのなら纏める
そうでないのなら逆に見づらくなる気がするから自分なら纏めない
- 952 :デフォルトの名無しさん:2015/05/10(日) 01:52:02.10 ID:Oozs+Vkj
- 初心者は、この本を読め!
みんなのPython 第3版
>>938
XML, JSON は単純なテキストとは違って、
フォルダ(ディレクトリ)のような、
親子関係の階層を持つ、いれ物
<A><B>あ</B></A>
Aが親で、Bが子
一方、CSV(カンマ区切り)では、テキスト中にカンマが使えないし、
空白区切りなら、空白が使えない。
タブ区切りなら、タブをテキスト中に使うことはないので良さそう
- 953 :デフォルトの名無しさん:2015/05/10(日) 04:45:07.23 ID:+HAYqchr
- >>942
動的なwebサイトを作りたいのならwebフレームワークを使うのが普通だよ
全くの初心者が自力で実装してたら途方も無い時間がかかるし、
酷いセキュリティのシステムが完成して危ないから絶対やめとくべき
というか何故Python,nginx,postgresという初心者が選んだら辛そうなのばかり選択しちゃったんだ…
手っ取り早く作りたいならpython捨てて
言語:PHP フレームワーク:CakePHPとか DB:MySQL webサーバー:Apache
だとネットに事例が大量にある 手取り足取り解説した情報・書籍がたくさんある
PHP嫌ならRuby+Rails+MySQLもかなり多い
プログラミングもDBもサーバーもネットワークの仕組みもこれから勉強します、
という人がPythonでwebアプリケーション作るのはかなり茨の道
Pythonは良い言語だけどあまりwebアプリには向いてない、というか他にいいのがたくさんある
- 954 :デフォルトの名無しさん:2015/05/10(日) 10:57:44.24 ID:rm3zFp4J
- >>952
>CSV(カンマ区切り)では、テキスト中にカンマが使えないし、
使えるよ。
CSVでカンマを使いたい場合はダブルクォーテーションで囲む。
Say,"Hello, world."
みたいに。
- 955 :デフォルトの名無しさん:2015/05/10(日) 16:18:26.18 ID:YEjf3LrX
- 課題を与えてくれて手を動かしてpythonの練習できるサイトかプログラムってありませんか?
ここは良い感じだったんですがクリアしちゃったので次が欲しいです
http://www.codecademy.com/en/tracks/python
- 956 :デフォルトの名無しさん:2015/05/10(日) 16:36:49.26 ID:5/fle6rz
- >>955
Project Euler
- 957 :デフォルトの名無しさん:2015/05/10(日) 18:22:15.58 ID:nPMc7tjQ
- >>955
CheckIO
https://www.checkio.org/
- 958 :デフォルトの名無しさん:2015/05/10(日) 19:17:13.50 ID:nPMc7tjQ
- >>955
あとAOJ。
http://judge.u-aizu.ac.jp/onlinejudge/index.jsp?lang=ja
- 959 :デフォルトの名無しさん:2015/05/10(日) 20:41:01.80 ID:YEjf3LrX
- >>956
面白そうですね ただ自分はまだ指がpythonの作法を覚えていないので、サンプルコードがあるところで下積みしてからやってみます
>>957
な、なんじゃこりゃあああ
プログラミング学習をゲームに仕立てたものですか すごい
こういうのあったら面白いのにっていうのが本当にあったとはw
全部英語かと思ったら、問題は日本訳されてるし・・
ちょっとインターフェースに慣れが必要そうですが、これやってみます
(背景色変えたり課題を英語にするのはどうやるんだろ・・・w)
おふたりともありがとうございます!
- 960 :デフォルトの名無しさん:2015/05/11(月) 00:09:09.73 ID:AF0vPJsi
- 将来使いたいとライブラリが python 2.7 なんで2をインストールしたんですが、基本を勉強するとき2でやるか、3にしておくか悩みますね・・・
2でやろうとしたけどchekioの回答者が95%ぐらい3だった・・・
- 961 :デフォルトの名無しさん:2015/05/11(月) 13:24:17.22 ID:AF0vPJsi
- requests.get()でAPIから取得した結果が、辞書とリストの入れ子になっていました
そこからある値を取り出したいときは分かり辛くても
response['results'][0]['speaking'][2] みたい書かないといけないんでしょうか?
{u'num_found': 31623,
u'results': [{u'bills': None,
u'bioguide_id': None,
u'speaking': [u'Peace, peace, peace be unto all.'],
u'title': u'prayer',
u'volume': 153}]}
- 962 :デフォルトの名無しさん:2015/05/11(月) 13:59:13.97 ID:X7iHjzbj
- 3は動物的感覚で最初から完全無視していたんだが普及しているの?マジ?
- 963 :デフォルトの名無しさん:2015/05/11(月) 14:34:01.04 ID:pp+etNv4
- 別に普及してないけど、3が使えて2が使えない人間はいない
逆もいないが、だったら新しい方で勉強するってことじゃねーの
>>961
君はどう書けたらいいと思うんだ?
理想型を提示してみろ
それができるかできないか答えよう
- 964 :デフォルトの名無しさん:2015/05/11(月) 16:14:14.42 ID:AF0vPJsi
- >>963
分かり辛いと感じたのは、どこでリストが使われて、どこに辞書が使われるのか理解していないためでした
あとたぶんサンプルが特殊で、['result']以下には辞書データが一つしか入っていないのに、リストで二重に囲んであって、余計混乱したようです
- 965 :デフォルトの名無しさん:2015/05/11(月) 17:35:02.40 ID:VLJk5RL1
- 別の言語だと考えればいいよ
- 966 :デフォルトの名無しさん:2015/05/11(月) 19:55:56.52 ID:7oTr197Z
- 互換性が無いとはいえ最初の勉強程度では2でも3でも対して差はない
とりあえず新しいほうの3で勉強しとけば2への変換は苦じゃない
- 967 :デフォルトの名無しさん:2015/05/11(月) 22:22:51.09 ID:gmi0Ylrg
- >>961
規則性があるんだったら、
自分でparserを書いちゃえばいいんでないかい?
そうすればややこしさに頭をひねるのは最初だけで済むし
- 968 :デフォルトの名無しさん:2015/05/11(月) 22:38:22.09 ID:QviOHirL
- >>961
namedtupleあたりで頑張ってプロパティ名でアクセスできるオブジェクトを構築するとか
- 969 :デフォルトの名無しさん:2015/05/12(火) 14:59:24.56 ID:uttCTI7h
- https://github.com/python-doc-ja/python-doc-ja/issues/684
Transifexではラベルを編集できないようですので、ラベルの"��
�"認をお願いします。
"から"までのところが文字化けしてて読めないんですがなんて書いてあるのでしょうか?
- 970 :デフォルトの名無しさん:2015/05/12(火) 16:50:35.83 ID:xezKBhrJ
- >>967
今回のはトレーニングで出てきたAPIなので、自分で繰り返し使うときはparserを書いてみます
>>968
使いこなせたら便利そうですね 黒魔術の香りが
- 971 :デフォルトの名無しさん:2015/05/12(火) 20:00:39.59 ID:xezKBhrJ
- [' '] キー が出現頻度のわりにやたら打ち辛いのでキー割り当て変えてみたらすごい捗ることに気付いたw
シフト←→変換
[]←→()
- 972 :デフォルトの名無しさん:2015/05/13(水) 03:23:59.23 ID:QB/uykhN
- >>969
その文字列は、漏れにも読めない
何語を使っているのかね?
- 973 :デフォルトの名無しさん:2015/05/14(木) 08:45:35.06 ID:8IgVcxu1
- windowsでpythonを使おうと思うのですが、
・windowsにpythonをインストール
・cygywinの上でpythonを使う
のどちらが良いでしょうか?
deep learning(pylearn2)を使ってみたいので、
前者なら軽くなり、後者なら多くのリファレンスが使えるという点で迷っています。
- 974 :デフォルトの名無しさん:2015/05/14(木) 08:56:14.11 ID:PRhs144W
- 遊びたいだけならwinでいいんじゃね
俺ならvagrantでlinux使うが
- 975 :デフォルトの名無しさん:2015/05/14(木) 09:05:24.51 ID:8IgVcxu1
- >>974
仮想環境ですが、考えていませんでした。ありがとうございます。試してみます。
- 976 :デフォルトの名無しさん:2015/05/14(木) 16:02:25.18 ID:u+ZAZi3S
- >>975
windows上で生python入れると科学技術系パッケージが面倒なことになるから、anacondaでまとめて入れたほうが楽だよ
http://continuum.io/downloads
ちゃんと設定すればthanoやpylearn2もGPUアクセラレータ付きで動かせるみたいだね
caffeもwindows上でGPU効かせられる記事みたことあるけどどんなか忘れた
https://my6266blog.wordpress.com/2015/01/21/installing-theano-pylearn2-and-even-gpu-on-windows/
- 977 :デフォルトの名無しさん:2015/05/14(木) 16:26:56.71 ID:pnnMPsHS
- Anacondaってこのスレではむしろトラブルしか聞かないな
初心者にはどっちが面倒なのか俺にはわからん
- 978 :デフォルトの名無しさん:2015/05/15(金) 23:49:43.22 ID:dTD9FlGn
- googleのpython入門コースに出てくる問題
課題:
引数として昇順ソートされたリストを2つ受け取る。
それを一つに統合、昇順ソートされたリストを作成しreturnせよ。
ただしプログラムは 線形時間 で動作すること。
元のリストに手を加えてもよい。
def linear_merge(list1, list2):
# +++your code here+++
return
- 979 :デフォルトの名無しさん:2015/05/16(土) 01:18:21.74 ID:ZJDdRqxh
- >>978
https://paiza.io/projects/M1kcgonXFtWObYaxL3x8Vg
- 980 :デフォルトの名無しさん:2015/05/16(土) 01:43:41.58 ID:KZsTuDhE
- >>978
その入門コースってどこで見れるのか教えてください
- 981 :デフォルトの名無しさん:2015/05/16(土) 03:08:11.97 ID:OX3JiC1g
- >>979
すげえええ 再帰使う人って頭のなかどうなってるの
合わせ鏡覗きこんだときみたいに無限ループに入りそうで不安になる
でも引数のところがシンタックスエラーで動かない・・・
チェック用の関数も提供されてるから一緒に回してみて
def test(got, expected):
if got == expected:
prefix = ' OK '
else:
prefix = ' X '
print '%s got: %s expected: %s' % (prefix, repr(got), repr(expected))
# Calls the above functions with interesting inputs.
def main():
print 'linear_merge'
test(linear_merge(['aa', 'xx', 'zz'], ['bb', 'cc']),
['aa', 'bb', 'cc', 'xx', 'zz'])
test(linear_merge(['aa', 'xx'], ['bb', 'cc', 'zz']),
['aa', 'bb', 'cc', 'xx', 'zz'])
test(linear_merge(['aa', 'aa'], ['aa', 'bb', 'bb']),
['aa', 'aa', 'aa', 'bb', 'bb'])
if __name__ == '__main__':
main()
- 982 :デフォルトの名無しさん:2015/05/16(土) 03:10:55.52 ID:OX3JiC1g
- >>980
https://developers.google.com/edu/python/exercises/basic
これです 自分もいまやってます
>>981
インデント消えた・・・
- 983 :デフォルトの名無しさん:2015/05/16(土) 07:09:00.95 ID:ZJDdRqxh
- >>981
終了時処理を最初に書くのが、コツ。
- 984 :デフォルトの名無しさん:2015/05/16(土) 11:16:18.69 ID:OX3JiC1g
- >>983
while文みたいな感じなんですね
- 985 :デフォルトの名無しさん:2015/05/16(土) 11:45:30.93 ID:SZ2m/aFp
- この前に1時間で解けないと、って話題になった奴か?
解いてて思ったけど1時間で解けない奴は1日でも無理だろうし
そういうのを選別するのが目的であって
早く解けることは意味ないんだろうなと思った
8分で5問解けた
- 986 :デフォルトの名無しさん:2015/05/16(土) 14:08:12.61 ID:OX3JiC1g
- >>982 の mimic.pyが面白いよー
課題:
ファイルを読み込み、【出現単語】をキーにした辞書を作り、【直後に続く単語】をリスト化して納める
{出現単語1 : [隣接単語1, 隣接単語2, 隣接単語3,,,,] }
{出現単語2 : [,,,,] }
*隣接単語は重複を含む ["then", "best", "then", "after", ...]
次に、その辞書を用いてオリジナルのファイルをモノマネする文章を作成する
次の単語選択にはrandom.choice(list)を使う
ただしファイルの最初の単語は空文字 '' とし、辞書にない単語でつかえた場合は空文字を返す
- 987 :デフォルトの名無しさん:2015/05/16(土) 14:10:30.03 ID:OX3JiC1g
- import random
import sys
def mimic_dict(filename):
"""Returns mimic dict mapping each word to list of words which follow it."""
# +++your code here+++
return
def print_mimic(mimic_dict, word):
"""Given mimic dict and start word, prints 200 random words."""
# +++your code here+++
# Provided main(), calls mimic_dict() and mimic()
def main():
if len(sys.argv) != 2:
print 'usage: ./mimic.py file-to-read'
sys.exit(1)
dict = mimic_dict(sys.argv[1])
print_mimic(dict, '')
if __name__ == '__main__':
main()
- 988 :デフォルトの名無しさん:2015/05/16(土) 14:17:18.99 ID:OX3JiC1g
- >>986 辞書の形式書き間違えた・・
{
出現単語1 : [隣接単語1, 隣接単語2, 隣接単語3,,,,],
出現単語2 : [,,,],
出現単語3 : [,,,],
}
- 989 :デフォルトの名無しさん:2015/05/16(土) 17:10:57.24 ID:QT5s50C8
- くだすれPython(超初心者用) その26
http://peace.2ch.net/test/read.cgi/tech/1431763770/l50
メール欄失敗してsageoffって入力しちゃった
- 990 :デフォルトの名無しさん:2015/05/16(土) 17:42:18.40 ID:ErqOsR1N
- 別にいいよ
- 991 :デフォルトの名無しさん:2015/05/16(土) 20:04:14.71 ID:Xo5bM6FI
- ここは、埋め.
252 KB
■ このスレッドは過去ログ倉庫に格納されています
★スマホ版★
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.05 2022/08/31 Walang Kapalit ★
FOX ★