1 :
デフォルトの名無しさん :
2013/10/28(月) 12:51:55.43
4 :
デフォルトの名無しさん :2013/10/28(月) 13:57:27.73
>1 gj
くだらない質問はここで@Python
先週からPythonをやりだしたんだが、イマイチ何を作ればいいのかわからない。 実用的なツールを作ってモチベーション保ちたいんだがなにかオススメとかある?
エロ画像収集機
エロは甘え
14 :
デフォルトの名無しさん :2013/10/28(月) 22:55:13.34
『Python スタートブック』を読み終わったとこですが次何を読むべきですか?
他人のコードです
あなたの未来
17 :
929 :2013/10/29(火) 01:37:38.62
昨日教えていただいたことをもとに、ニコニコ動画の個別マイリストへの登録を試みているのですが エラーが出てしまいます。 アドバイスいただけたら嬉しいです エラー内容↓ Traceback (most recent call last): File "ファイル名.py", line 54, in <module> mid = mylist_create(u"繝・せ繝医Μ繧ケ繝・) File "nico_mylist06.py", line 28, in mylist_create return j['id'] KeyError: 'id'
18 :
929 :2013/10/29(火) 01:39:00.99
return j['id'] の代わりに print json.dumps(j) と書いて実行してみて またエラー出るから print の方の結果だけ教えろ
print json.dumps(j).decode('utf-8') の方が良いか
21 :
929 :2013/10/29(火) 06:01:29.92
>>19-20 ありがとうございます!
実行してみたところ、
{"status": "fail", "error": {"code": "INVALIDTOKEN", "description": "\u4e0d\u6b6
3\u306a\u30c8\u30fc\u30af\u30f3\u3067\u3059"}}
と出ました。
>19の場合でも>20の場合でも同じ結果になりました
INVALIDTOKEN と言われてるだろ
そもそもなんでログインの方法を変えたんだよ
urllib2.build_opener の引数に渡してる CookieJar は
mechanize.Browser で使われる Cookie とは無関係だから
実質nico側からみてログイン時とマイリスト登録時で違うブラウザでアクセスしてることになる
せっかくうまくいってるんだから
前スレ
>>978-979 のやり方のままにしとけボケ
978 デフォルトの名無しさん [sage] 2013/10/28(月) 02:22:44.57 ID: Be:
これでどうかな?
ttp://codepad.org/g4zNJmVc 979 デフォルトの名無しさん [sage] 2013/10/28(月) 02:41:22.11 ID: Be:
色々可笑しかったのでなおした
ttp://codepad.org/GPowVDvR
っていうか >18 のコードなら mechanize.Browser() 使う意味ないな
釣りじゃなかったらあほすぎてワロス
970 デフォルトの名無しさん [sage] 2013/10/28(月) 00:51:59.84 ID: Be:
>>965 そのサイトみつけたんだったら
mechanize 使わずに
そのサイトのやり方でいけるだろ
良く釣れる釣堀ですね
26 :
929 :2013/10/29(火) 08:35:45.17
>>22-23 >ログイン時とマイリスト登録時で違うブラウザでアクセスしてる
言われてみれば…お恥ずかしいです
ログインの方法を変えたのは、
>>978-979 のやり方を元に、個別マイリストを新規作成して動画を登録するコードを書いてみようとしたら、
エラーが出て解決できなかったので、
その時のコード→
ttp://codepad.org/KyUjiill エラー→{"error":{"code":"NONEXIST","description":"\u30b0\u30eb\u30fc\u30d7\u304c\u5b58\
u5728\u3057\u307e\u305b\u3093"},"status":"fail"}
手詰まりになって
>>965 を元にしたやり方に変えて試していたからです。
ログインのやり方直してみました→
ttp://codepad.org/BMwMxbyA 先ほどとは違うエラーが出てしまいました
{"status": "fail", "error": {"code": "NOAUTH", "description": "\u8a8d\u8a3c\u306
7\u304d\u307e\u305b\u3093\u3067\u3057\u305f"}}
・・・キチガイにはスルーが鉄則だったな。
>>26 >
>>22-23 >ログイン時とマイリスト登録時で違うブラウザでアクセスしてる
> 言われてみれば…お恥ずかしいです
全然わかってないな
まだmylist_create()とかaddvideo_tomylist()とかの中で
urllib2.urlopen(cmdurl)
してるじゃないか
j = json.load( urllib2.urlopen(cmdurl), encoding='utf8')
としているところを
j = json.load( br.open(cmdurl), encoding='utf8')
にしろ
あと print json.dumps(j) も元に戻しておけ
ああごめん j = json.load( urllib2.urlopen(cmdurl), encoding='utf8') としているところを br.open(cmdurl) j = json.load( br.response().get_data().decode('utf-8'), encoding='utf8') にしろ です
まだ違うな j = json.load( br.response().get_data(), encoding='utf8') で良かった
31 :
デフォルトの名無しさん :2013/10/29(火) 08:50:55.36
ちゃんとテストしてからレスしてください。 うざいだけです。
丸投げしたいのなら宿題スレでお願いしたい
スクレイピングはスクレイピングスレで
Win32APIスレのテンプレコピペだから気にすんな 知らないならレスしないで下さい。ウザイだけです。
37 :
929 :2013/10/30(水) 00:59:43.33
>>28-30 ありがとうございます。
実行してみたところ、下のエラーが出ました。
Traceback (most recent call last):
File "ファイル名.py", line 55, in <module>
mid = mylist_create(u"繝・せ繝医Μ繧ケ繝・)
File "ファイル名.py", line 27, in mylist_create
j = json.load( br.response().get_data(), encoding='utf8')
File "C:\Python27\lib\json\__init__.py", line 286, in load
return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
エラーの内容は「strオブジェクトはreadというアトリビュートを持っていませんよ」
という理解で良いのでしょうか。
File "C:\Python27\lib\json\__init__.py", line 286, in load
return loads(fp.read(),
のあたりが特に何が何だか分からず…
見た瞬間分かったわ
loadじゃなくてloadsね
>>28-30 が試さないのが悪い
39 :
929 :2013/10/30(水) 01:56:13.74
>>38 loadのところをloadsにしてみました。また違う内容のエラーが出たのですが、
どうすれば解決するのか全く見当もつかないです…デコード?
Traceback (most recent call last):
File "ファイル名.py", line 56, in <module>
mid = mylist_create(u"繝・せ繝医Μ繧ケ繝・)
File "ファイル名.py", line 27, in mylist_create
j = json.loads( br.response().get_data(), encoding='utf8')
File "C:\Python27\lib\json\__init__.py", line 351, in loads
return cls(encoding=encoding, **kw).decode(s)
File "C:\Python27\lib\json\decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
これはそもそもJSONが帰ってきてないようですね 何が帰ってきているか確認しましたか?
灘高出の何かが誰もがプログラミングをするようになるってほざいてたけど 絶対にそんなの無理って実例がいま目の前にいる
42 :
デフォルトの名無しさん :2013/10/30(水) 07:30:17.43
>38 実は >31 が正しかったという
>>38 ちゃんと試してからレスしてください。
うざいだけです。
まさかここまで馬鹿だろうと思うが cmdurl += "?" + urllib.urlencode(q) br.open(cmdurl) j = json.loads( br.response().get_data(), encoding='utf8') とするところを cmdurl += "?" + urllib.urlencode(q) j = json.loads( br.response().get_data(), encoding='utf8') とかしてないだろうな
45 :
929 :2013/10/30(水) 18:46:03.23
>>44 2箇所中1箇所がそうなってました
こんなことで相談して煩わせてしまってすみませんでした
ご指摘をいただいたところを直して実行したら、無事成功しました!
アドバイスいただいた皆様、ありがとうございました!
同じコードをあちこちで使いまわすのはアホのすること そんなだからバグが入る
csv モジュールのドキュメンテーションで、最初にファイルを開くときに with open('eggs.csv', 'rb') as csvfile: として rb モードで読んでいますが、ここで 'r' でなく 'rb' を使う意味とはなんでしょうか?
テキストモードで読むと改行が置換されることがあるから クオートで囲った場合はレコードの途中にも改行を入れられるので置換されるとデータが狂う 2.7のドキュメントは確かに分かりにくいな
51 :
929 :2013/10/30(水) 20:50:35.02
いただいたアドバイスで、一度正常に動作するようになったのですが
うれしくて何回か試していたらまたエラーが出るようになってしまいました。
成功した時からコードを変更した覚えはないのですが…
どこか変なところはありますでしょうか?
ttp://codepad.org/pFjdUsST エラー内容↓
Traceback (most recent call last):
File "ファイル名.py", line 57, in <module>
mid = mylist_create(u"繝・せ繝医Μ繧ケ繝・)
File "ファイル名.py", line 29, in mylist_create
return j['id']
KeyError: 'id'
単なるリロードしすぎでしょう 明日また試しなさい
変なところというか、取得したデータを保存しない理由が分からない 取ってきたデータが変化したのは明白だろ
たぶんこのように {"error":{"code":"MAXERROR","description":"\u3082\u3046\u30de\u30a4\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093"},"status":"fail"}
ここの所お前ら異常に優しいじゃん? どうしたの?風邪でも引いた?
57 :
929 :2013/10/30(水) 21:54:30.20
>>54-55 実行してみたところ、
>>51 と同じエラーが出ました
コードをテストするたびに、出来たマイリストは消していたので
マイリスト作成個数の限度には達していないはずです
>>52 そうなんですかね…
>>57 出るのは分かったからres.txtにはなんて書いてあるの?
ホント要領悪いなw
60 :
929 :2013/10/30(水) 23:41:49.00
>>58 {"error":{"code":"MAXERROR","description":"\u3082\u3046\u30de\u30a4\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3067\u304d\u307e\u305b\u3093"},"status":"fail"}
と書いてありました
Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (In tel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> u'\u3082\u3046\u30de\u30a4\u30ea\u30b9\u30c8\u3092\u4f5c\u6210\u3067\u304d\u 307e\u305b\u3093' 'もうマイリストを作成できません' >>> いい加減にしろよお前 達していないはず・・・じゃねえよ 達してるじゃねえかくるぁあああああああああ
さー解決したところで気持ちよく寝ようかw
>>60 Python3系使ったら、その辺は楽に解決できてたと思う
mechanizeが対応していないはず
mechanizeってもう何年もメンテされてないじゃん。 フォークしてPython3対応版作ろうとした人もなんか死に体だし。 もう積極的に使わないほうがいいんじゃね?
>>66 mechanizeに2to3かければ良くね?
そーんなこと理解できる人が対象のライブラリじゃないでしょう JavaScript動かせるわけじゃないし Cookieとかgzipとかリダイレクトとか ちょっと気の利いたクライアントライブラリならどれでもやる requestsとか フォームの操作って言っても 結局のところnameとvaluePOSTするだけだから 知ってる人間からすれば大したメリットでもない その辺を知らない人がやるためのもの
69 :
デフォルトの名無しさん :2013/10/31(木) 05:59:46.05
どうせmechanizeフォークするなら ついでにJavaScript対応煮汁
でもmechanizeの代替ってなくね?
普通にプログラミングが出来るレベルならそもそも必要ない
Boost.Pythonって先入観で2.xだけだと思ってたけど3.xいけるんだなー
73 :
デフォルトの名無しさん :2013/10/31(木) 23:11:36.80
Cookieを削除するにはどんなコードをかいたらいいですか? サイトにアクセスした履歴を消したいです
>>73 >サイトにアクセスした履歴
これは何が保持している履歴?サーバ?ブラウザ?
Cookieを削除してもそのどちらも消えない。
75 :
デフォルトの名無しさん :2013/10/31(木) 23:45:32.74
Mac でPythonを使おうと思っています。 Pythonはデフォルトで入ったまま使ったほうがいいのでしょうか それともHomebrewで使ったほうがアップデートが楽とか 利点はあるのでしょうか?
mechanizeの話ならインスタンス再作成すれば消えるよとエスパー
>>75 どうせ「なんでバージョンXXXじゃないの!」とか不満に感じるようになるからhomebrewに慣れとけ
Seleniumがつかえんとちゃうかな。
デフォルトがPython2しか選べなくて、HomebrewがPython3選べるなら Homebrew使ったほうがいいと思う
Seleniumは2と3両対応だし、javascriptがちゃんと動くし、よいよね
80 :
デフォルトの名無しさん :2013/11/01(金) 00:46:40.39
java scriptのdocument.cookieみたいなのを探しています
きみ素人だろう 素人考えで情報を省略しないで どのバージョンのPythonを どんな環境で使っていて どんなモジュールをimportしていて 何をやろうとしている時にその行為(=cookie削除)が必要になったのか まで書け
HTTPクライアントに何を使ってんの?で通じれば話が早いんだが。 まあurllib2ってことはないだろう。
83 :
デフォルトの名無しさん :2013/11/01(金) 03:22:27.98
リストのスライスについてわからないことがあったので質問させてください。 あるサンプルコードに a[:, :, 2]とコンマ区切りのスライスのようなものがでてきました。 これは普通のスライスとは違うのでしょうか? どんなふうになっているのでしょうか?
サンプルコードの出処書かないとなんともなのでは感 >>> a = [1, 2, 3] >>> a[:] [1, 2, 3] >>> a[:,:,2] Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: list indices must be integers, not tuple
>>> import numpy as np >>> a= np.random.randint(0,100,9) >>> b = a.reshape((3,3)) >>> a array([80, 1, 4, 22, 66, 43, 29, 57, 13]) >>> b array([[80, 1, 4], [22, 66, 43], [29, 57, 13]]) >>> b[:,2] array([ 4, 43, 13]) >>>
>>> class Foo: ... def __getitem__(self, slices): ... print slice ... >>> f = Foo() >>> f[:, :, 2, ...] (slice(None, None, None), slice(None, None, None), 2, Ellipsis) >>> f[1:2, 3:4, :5:6] (slice(1, 2, None), slice(3, 4, None), slice(None, 5, 6)) >>> [/'_']/
私にも言える日が来ました 馬鹿には無理
超初心者スレに来てなに言ってんのw
m9 (pgr
91 :
デフォルトの名無しさん :2013/11/01(金) 11:15:43.30
>>84 すこし調べたらNumpyの多次元配列でした
Pythonは勉強用にしか使ってないので、バージョンを3.3.2から3.4.0のアルファ版に移行しようと思うんですが 3.4の新機能さえ使わなければ基本的に動くと思っていいのですか?
リリースノートの変更点を見て動くと思ったら動くのでは
新機能使わないのに バージョン上げる理由は
聞かなきゃ分からない時点で人柱には向いてない
Pythonで彼女を作ったのですがPyPiで公開しても問題ないでしょうか
Linuxでpygame使って作成したスクリプトをWinで実行可能なexeにビルドしたいのですが、 比較的新しい解説サイトはないでしょうか… 適当にpy2exeとcxfreezeを試そうとしましたがうまくいきませんでした
無理だからそんな解説サイトねえよ いつの時代に可能だったんだ
物体運動の計算を楽にやってくれるライブラリありませんか? 数学とか物理に特化したライブラリ ぼくは理系は全然ダメなのでライブラリで解決したいのです!
Windows上でpy2exe/cxfreeze使えば無理じゃないよ Linux上でやろうとしてるならそれは無理
py2exe.py使って解説してるサイトあったから勘違いしてました… 結局WIN側でいろいろするしかないのですね
>>103 exe ってぶっちゃけ coffだからね。LinuxとかはELFだし
>>101 ライブラリだけあっても基礎知識がないなら使い方が分からないから無駄だ
ライブラリが存在するとしよう
この関数は〜の計算をしますと言ってズラズラと数式が並んだ場合
理系が苦手な君はそれが理解できるのか?
106 :
デフォルトの名無しさん :2013/11/02(土) 02:51:32.32
>104 変換ツールはあるよ
107 :
デフォルトの名無しさん :2013/11/02(土) 10:18:59.67
みんなのみんなのパイチンくん みんなのものだよ〜\(^o^)/
sphinxってpython3.3で構築したデータをpython2.7でもそのまま使えますか?
一通り見る限り書いてねえな 試すしかあるまい でも行けるとは思うよ
データって rst ファイルの事? それならできない理由はないと思う
sphinx-quickstartするとディレクトリやconf.pyとか互換性があるのかないのかってことではないのか
Rubyで p 1.class に相当することをPythonではどう書くの?
print type(1) クラスによっては"1".__class__もいいですがintなどはSyntaxErrorでハネられます
pygameについての質問です。 Windows上でpygameをインポートしたスクリプトを動作させることには成功しましたが、 一度複数ディスプレイを繋いだせいか突然pygameの調子が悪くなり、実行時に生成したウインドウが瞬時に応答を停止するようになってしまいました 似たような症例に心当たりある方はいないでしょうか…
d も1つ教えてほしいことが… 俺ごときドシロウトには、まだ早いのかも知れんが typeもprintも何かのインスタンスメソッドという認識で良い?
よくありません 組み込み関数はインスタンスからは独立しています
pythonは関数もファーストオブジェクト
dd OOなLLっていうことで表層的には似てそうでも 根っこは結構違ってるのな わからんことあったら、また来るわ
>>118 専用スレがあったのですね…失礼しました
>>113 捕捉で
こうやって書くこともできる
print (1).__class__
122 :
デフォルトの名無しさん :2013/11/03(日) 09:20:14.10
123 :
デフォルトの名無しさん :2013/11/03(日) 09:37:35.28
動く訳がない わざとやってるとしか思えない 釣り認定おめでとう
>>122 どの行で履歴を削除しているの?
そもそも履歴って何だ?視聴履歴?
>>122 ニコニコのアカウント持ってないからテスト出来るidとパス教えて
分からないからその後のコード書いてくださいってか
127 :
デフォルトの名無しさん :2013/11/03(日) 13:46:00.72
前スレで相手してた馬鹿がいたから 味をしめたんだろうな 荒らしに餌を与えないでください
どうせ釣るなら最後は main if __FILE__ == $0 にすべきだった
>>128 すいません
そのコードははじめてみるのですがそれは何を意味するコードですか?
>>129 Python の if __name__ == '__main__': main() に相当する
Ruby のコードです
すいませんますますわからなくなりました なぜRubyのコードが必要なのですか?
いますぐPythonをやめてRubyをはじめなさい そしてRubyスレに移動しなさい ということです
そうだね、ニコニコはrubyのほうが向いてる
134 :
122 :2013/11/03(日) 17:08:38.19
>>124 履歴を消しているのは、
c = Cookie.SimpleCookie()
c['nicosid']=''
c['nicosid']['expires']='Wed, 30-Oct-2013 00:00:00 GMT'
の行です。
Cookieを消したら履歴が消えるかなと思ってこのようにしました。
履歴=視聴履歴です。
>>125 テスト用にアカウント取りました。
メールアドレス→
[email protected] パスワード→testnico
不正アクセスで逮捕だな
識別できるIDとパスワードを公開することも不正アクセス禁止法に触れるから逮捕だな
自分で取ったアカを公開しても不正アクセス禁止法の五条には違反しないよ
ただニコニコの規約には違反するようだ
https://secure.nicovideo.jp/secure/rule > 利用者は、自身が登録した自己のアカウント情報をいかなる第三者に対しても
> 譲渡及び貸与できないものとします。その他いかなる目的でも、自身が登録した
> 自己のアカウント情報を第三者に使用させることはできないものとします。
というわけで他でやって
>>134
都合のいいように解釈してるけど逮捕
嫌なオチがついたなw 無知ってホント怖い
相手したくないからってRunbyに誘導するのはどうなん。
Pythonの超初心者な質問はこのスレの範囲だけど、Webサービスの超初心者な質問は範囲外
標準ライブラリのLZMAを使った圧縮ファイルは基本的に対応ソフトで解凍できるようになってますか? オレオレ仕様でPythonからしか解凍できないのでしょうか? なんかコードが悪いのか7-zipで解凍できなくて困ってます
ちょっと前にも話題になりましたがあれは7zとは違います LZMAってのはあくまでもアルゴリズムの名前であってファイルフォーマットじゃないです 7zはLZMAのアルゴリズムを適用したデータを格納したファイルフォーマットです
んで本題 7zFMで展開することは「できます」 その場合7zip形式でなくlzma形式への対応が必要
煽りじゃなくて本気質問なんだけど Python3あればPerl5やRubyを棄てられる? 使う言語を最小限にしたいんだ
捨てればいいじゃんとマジレスしとく
捨てれるかどうかは、1000%本人次第。
150 :
デフォルトの名無しさん :2013/11/04(月) 02:28:51.30
言語覚えるコストもディスクスペースもさして取らないのに棄てようという発想が非合理的
cがあれば全部捨てられるだろ
Googleとかはてなにログインするにはなんのライブラリを使えばいいんだ? ビルトインだけで作れるの?
>>151 そこまで言うなら、アセンブラでないとダメだろ。
sphinxでいいテンプレートがほしいんですけど そういうの大量に探せるところありませんか?
sphinxjp.themes.trstyle これおすすめ
2つプログラムがあります。 それらは終了コマンドを受け付けるまで標準入力から入力を受けて、標準出力になにかを返します。 例えばこんな感じ # prog1.py. 受け取った数値を倍にして出力する while True: usrinput = raw_input() if usrinput == 'quit': break print int(raw_input())*2, sys.stdout.flush() # print で flush される,と思ったのだが… 今書いている foo.py からこれらのプログラムを呼び出し、 適宜それらに入力を与えて出力を受け取りつつ処理を実行していきたいです。 今のところ subprocess を使って import subprocess as sub p1 = sub.Popen("./program_1", stdin=sub.PIPE, stdout=sub.PIPE, ) (p2も同様)とし、後は p1.stdin.write() と p1.stdout.readline() などで とりあえず欲しい動きはしてくれているのですが、 もし「それよりもこうやったほうがよい」というのがあれば教えてください。 python 2.7 で書いていますが, 3系ならこれができるっていうのでも構いません。
157 です。 print int(raw_input())*2, は print int(usrinput)*2, の間違いです。長文のうえ連投ごめんなさい。
>>157 標準入出力は通常だと行バファリングで改行を受けとるまでバファリングする
そのコードだと print の最後にカンマつけて改行を抑止してるからバファリングされる
呼び出し側もPythonならmulitprocessingでも使った方がいいんじゃねーのって気も
162 :
デフォルトの名無しさん :2013/11/04(月) 19:50:05.22
163 :
デフォルトの名無しさん :2013/11/05(火) 01:19:45.77
urllibでヘッダを偽装したいときは、これで合ってますか?
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj),urllib2.HTTPRedirectHandler())
opener.addheaders =[("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0)Gecko/20100101 Firefox/24.0"),("Connection", "keep-alive"),("Accept-Encoding", "gzip,deflate")]
urllib2.install_opener(opener)
urllib2.urlopen("
http://* " )
WireShark使って自分で確認しろ
165 :
デフォルトの名無しさん :2013/11/05(火) 02:35:31.63
ある計算をする関数を作成し、返り値として複数のものを返したいとき スマートな書き方はありますか? def hogehoge(): ... return a, b, c, d, e f, g, h, i, j = hogehoge() みたいな感じではなくて 他に方法があるなら知りたいです。
ほかに方法はないです
ジェネレータにして1個1個返すとか?
168 :
163 :2013/11/05(火) 03:12:16.36
>>164 確認することができました!ありがとうございます。
namedtupleで返すとか
170 :
デフォルトの名無しさん :2013/11/05(火) 08:44:06.75
>>165 既に誰か回答してるかも知れないけど
っ Named Tuple
171 :
165 :2013/11/05(火) 12:28:32.19
みなさん、ありがとうございます。 Named tupleも調べてみます
173 :
デフォルトの名無しさん :2013/11/05(火) 14:25:14.21
>>152 ビルトインでも作れるけど無意味だからやめとけ
175 :
デフォルトの名無しさん :2013/11/07(木) 23:36:02.20
Python3でのpipで質問です。 1.インストール可能なバージョンの一覧 2.pip install Package_NAMEでインストールされるバージョン はどうすれば調べることができますか? pip install package_name==ありえなさそうなバージョンで調べたりしてるんですが 力技っぽくてちょっといやです。
176 :
デフォルトの名無しさん :2013/11/08(金) 00:13:02.57
--dry-run
datetime.dateしか使わない場合 import datetime と form datetime import date 仕組み的には下のコードのほうがメモリにやさしいのでしょうか?
名前空間に展開される識別子が少ない分だけ数十バイトくらいやさしいかもね この俺の文章でたぶん数十バイトくらいあるけどね 後は君しだいだな
おっと150バイトもあった
上でも下でもdatetimeは初期化されるのでその点の差は生じない
http://sphinx-users.jp/doc10/markup/code.html sphinxでコードをハイライトするときコードブロックの宣言をこう書くとエラーでビルドできません
.. code-block::
こうやって言語を指定するとビルドできます
.. code-block:: python
highlight_languageを設定してないのでデフォルトでpythonが適用されるはずなので
コードブロックで言語の宣言をしなくてもいいと思ったんですが何故ですか?
>>178-180 ソースコードに書いた文字の文だけメモリは消費しますがそこは置いといて
datetimeからdateだけをインポートするからdatetime.datetimeやdatetime.timedeltaなどをインポートしない分、内部的には効率がいいのかなと思いました
別件ですがdatetimeのことを調べるとなんか無駄があるような気がします
例えばdatetime.date.today()とdatetime.datetime.today()は同じですよね
Pythonは誰が書いても同じコードになるのがメリットなのにこのような書き方の選択肢を与えていいものでしょうか
頭痛くなってくるな まだ君はPythonについて指摘するには早すぎるよ
datetime.date()は日付しか設定できませんが datetime.datetime()は日付と時刻の設定ができます どちらかのオブジェクトで出来るなら片方は削除したほうがスリムで誰が書いても同じコードになると思います
どうぞ
馬鹿だなあ。Pythonを使ったって同じコードになるわけがないし だからこそリスト内包や三項演算子のネストみたいなものは文法上可能だがコミュニティによって禁止される その点で言えばdatetime.date.today()と datetime.datetime.today()の違いなんて可読性に何の影響も与えないから好きな方を使えばいい
ちょっと上ではメモリにやさしいなどと言い 今度はdateの2倍以上のメモリを食うdatetimeを賞賛し いそがしいっすねw
189 :
デフォルトの名無しさん :2013/11/08(金) 23:42:37.22
distutils.coreのsetupで質問です setup()の引数にlicenseがあって、setupの引数のclassifiersにもLicenseを指定するようなのがあるけど これはどう違うんですか?
昔はlicenceちゃんと書いてたみたいだけど 今はBSDとかGPLv2とかしか書いてないよ つか書いてないのもあるw
192 :
189 :2013/11/09(土) 00:11:50.25
ありがとうございます パッケージ内にLICENSEファイルがあるんですが、それをそのまま入れればいいんですか? 何に使ってるのかいまいちよくわかってないです。。
193 :
189 :2013/11/09(土) 00:17:32.69
>>190 classifiersは、PyPIでカテゴリー選択する時に使われるで合ってますか?
>>191 BSDはライセンサーがだれか明記しないといけないので、開発者ごとに
ライセンス文をを用意しないといけない。
195 :
デフォルトの名無しさん :2013/11/09(土) 04:08:47.50
Python 6についての質問です。 同じPython 7から加わったimportlibが使われているスクリプトを Python 6.6が入った別々のコンピュータで実行すると、 ・環境1ではUserWarningが出てスルー ・環境2ではImportError例外が出て停止 とそれぞれ異なった振る舞いになりました。 環境2でもUserWarning扱いにしたいのですが、 どのような設定をすれば良いのでしょうか? 警告と例外のしきい値を決めることなどができるのでしょうか? よろしくお願いします。
いつのまに7まで・・・ 大した奴だ・・・
pilは対応しているのかな?
Python7 から実装されたコンパイラはなかなかいいよね
199 :
デフォルトの名無しさん :2013/11/09(土) 05:01:20.04
すいません、2.6と2.7でした!!
ローカルのオフセットを求める方法を教えてください 日本だったら+9みたいなの
pytzでタイムゾーンを指定した場合に、タイムゾーン名とオフセットを取得する方法わかりませんか?
1234567って文字列がhello.txtに保存されているとします fp = open("hello.txt") print(fp.read(2)) fp.close() これで先頭から2バイト分の12を出力しますが 3バイトから6バイトと範囲を指定して出力する方法を教えてください
fp.seek(3) print(fp.read(6 + 1 - 3))
Python3.3.2 Windows 標準ライブラリのreadlineを使ってみたいんですが import readline この一行だけを書いたコードを実行しても ImportError: No module named 'readline' になってしまいます Windowsじゃ使えないのでしょうか?
そう。 なぜかドキュメントから抜けてるようだな。 英語版にはPlatforms: Unixって書いてある。
そうだったんですか 日本語版だけにたよるとこういうことになるのですね ありがとうございます
前はこの手のちょくちょく直してたんだけどね・・・ いつからかTransifexでメンバー登録必須になったから直すのやめたんだ
日本人は匿名が好き
俺も翻訳手伝っても良いなら手伝うけど 共同作業ってこれはが違うだろとクレーム付けられるから怖いんだよね そう、Drupalの日本語ローカライズのコミュニティの出来事を見てきたから手を出しにくい
213 :
デフォルトの名無しさん :2013/11/09(土) 17:25:49.99
transifexみたら匿名の人もいたから、別に匿名でもいけるんじゃないの
214 :
デフォルトの名無しさん :2013/11/09(土) 17:32:09.86
今から参加するなら3.4のほうから翻訳したい
こういう翻訳作業って大抵はリーダーがいるはずなんだけど リーダーがうまく行動できてればスムーズに翻訳できてるはずなんだけどな
217 :
デフォルトの名無しさん :2013/11/09(土) 17:37:49.66
3.4っていっても、全部丸々翻訳するんじゃなくて 3.3の原文からdiffがでたとこだけ、翻訳するんじゃないの
>>213 プロジェクトによる
メンバー編集のみのプロジェクトをメンバーでない状態で翻訳しようとすると
「翻訳するにはログインしてXXXXX翻訳チームのメンバーになる必要があります」と出る
仕事でもねえのにこんなコミュニティごっこする気にはならんな
パッチにコメントつけてポイっと投げられるだけ本家のバグトラッカーの方が気楽でいい
221 :
デフォルトの名無しさん :2013/11/09(土) 19:31:51.29
219のは1度ポチるだけだぞ ただコミュニティとして機能しているようには見えないからなあ 死んだ/死にかけたコミュニティが下手に存在するのは有害だよなあ
222 :
デフォルトの名無しさん :2013/11/09(土) 20:11:30.67
3.3の翻訳もされてるから、機能してないわけじゃないでしょ たまにミスってたり、古いっぽいところとかあるっぽいけど 最新のものに完全に追従するのは無理だよ
数ヶ月放置されてるPyJUGの皆さんですからね
224 :
デフォルトの名無しさん :2013/11/09(土) 20:45:34.52
PyUGと日本語翻訳プロジェクト別でしょ
こりゃすごいな 一番上2011年か 動作してるのかと思った
日本語版の方のreadlineのソース見たらちゃんと :platform: Unix て指定されてるなあ。 これはSphinx側のバグなんかな?
コミュニティの掲示板とかGoogleグループとかがあればなあ
完全にスレちだけど、Sphinxi以外にドキュメンテーションフレームワークってないのかな。 Sphinxはそんな古臭いプロジェクトでもないくせにi18nについてまったく考慮してなくて あとづけで対応したせいで、ぱっと見非常に醜い(←typoじゃないよ)。 Sphinxについていろいろ美辞麗句言ってるのは完全にアルファベット圏限定でしかない。
ASCIIDOCはどうよ i18n周りは知らないけど
>>> -10/3 -4 >>> -10%3 2 前からこんなだったっけ?
Python関係ないけど -10 / -3 -10 % -3
割られる数 = 割る数 × 商 + 余り 余りは0または正の数 だっけ
Python 2.7 Windows 7 です。 import os os.system("notepad.exe") とすると、メモ帳が開きますが、このメモ帳を閉じないかぎりpythonの次の行に実行がうつりません。 ただ開いてくれるだけで待機してくれなくて良いのですが、その場合はどう書いたらよいでしょうか。 よろしくお願い申し上げます。
os.system("start notepad.exe")
PythonでVim風のコマンドラインテキストエディタを作ってみようと思ったんだが、ESCキーを押したってのはどうやって判定すればいいんだ?
>>237 win32apiのGetKeyStateとかでできそう
iOSでお勧めのPython環境ってありますか? 有料無料問わず、使っている人がいたら感想教えて。
241 :
デフォルトの名無しさん :2013/11/10(日) 22:45:14.08
どなたかlist[[[x,y],[x,y]]]の形になっているリストを、 xとy任意の値でソートする方法を教えてください。
sorted([[2, 7], [3, 5]], key=lambda x: x[1]) とか?
だめですね sorted([[[2, 7], [3, 5]]], key=lambda x: x[1])
244 :
デフォルトの名無しさん :2013/11/10(日) 23:15:12.84
>>242 残念ながら動きませんでした
[[[8,5],[4,3],[9,1]]]の場合
[[[4,3],[8,5],[9,1]]]と
[[[9,1],[4,3],[8,5]]]の2つにソートしたいと思っています。
245 :
デフォルトの名無しさん :2013/11/10(日) 23:16:39.42
結果のリストは別に[[x,y]]でも[[[x,y]]]でもどちらでも構わないのですが。
ああ、リストもう一段深いのか、じゃあこんなんとか ... なんで深いのかわからないけど。 >>> spam = [[[2, 7], [3, 5]]] >>> spam = [sorted(spam[0], key=lambda x: x[1])] >>> spam [[[3, 5], [2, 7]]]
map(lambda z: map(lambda x:sorted(x, key=lambda y: y[z]), [[[8,5],[4,3],[9,1]]]), range(2))
>>> spam = [[[8,5],[4,3],[9,1]]] >>> sort_index = 0 # ソートに利用するインデックス >>> spam = [sorted(spam[0], key=lambda x: x[sort_index])] とか、前者、後者で sort_index の数字を変えてください。
まー、 map 使うのは良いと思うけど、なんかやり過ぎな ...
あ、全角スペース混ざってた
コード見てもさっぱり分からないんですが Python書く人は日常的に書くコードなんでしょうか?
252 :
デフォルトの名無しさん :2013/11/10(日) 23:41:28.72
みなさんありがとうございます。 無事ソートすることができました。 しかし残念なことに別のリストでは動作しませんでした。 原因はリストの種類が<type 'numpy.ndarray'>だからだと思います。 もし、このリストも同じようなソート方法があれば是非教えてください。
255 :
デフォルトの名無しさん :2013/11/10(日) 23:52:12.41
>>253 あり
そんな便利なものがあるとは、ありがとうございます。
しかしリストに変換した結果、構造がさらに面倒くさいことが判明しました。
[[[975, 92]], [[974, 93]], [[973, 93]]]
どうにかソートできないものでしょうか…。
Dive Into Python 3について評価をください
つ[評価]
>>255 >>> spam = [[[975, 92]], [[974, 93]], [[973, 93]]]
>>> sort_index = 0 # ソートに利用するインデックス
>>> spam = sorted(spam, key=lambda x: x[0][sort_index])
とか。ソートは if isinstance(numpy.ndarray, spam) で振り分けると良い。
面倒くさいと思う構造をずっと使い続けられると思ってるのだろうか せっかく配列使ってもキャスト多用したら効率最悪だし ぶっちゃけていうとそのコードは間違ってる
260 :
デフォルトの名無しさん :2013/11/11(月) 00:10:11.52
>>258 ありがとうございます。
ソートについて、numpyについて勉強になりました。
しかし、Pythonのこのソート方法はまだ理解できないです…。
もし分かりやすい説明をしているサイトなどあれば教えて頂けると嬉しいです。
よくわかんないけどDB使え
262 :
デフォルトの名無しさん :2013/11/11(月) 00:11:43.40
>>259 このリストはOpenCVの関数が出力したもので、
それをどうにか加工する手段を探していました。
いやだから、まず加工しろよ…
264 :
デフォルトの名無しさん :2013/11/11(月) 00:18:12.43
ループで回して取り出す加工法しか思いつかないのですが、 どのような方法で加工するのが賢いのでしょうか。
どんな方法でもいいけどわかりやすい構造にすればええ [(123, 25), (125, 26), (129, 28)] こんな感じにタプルのリストにするとか
タプルとリストってどう使い分けるんですか?
タプルってのは変更不可能なリストみたいなもん
つーかNumPyの機能ちゃんと調べたか? numpy.sortでaxisパラメータ付ければ 一瞬で行ける気がするんだが。
>>266 ・変更してほしくない場合には、変更不可のものを使う。===>間違いを減らす。
・pythonは例えば「辞書のキーは変更不可」という設計。===>keyはタプルお勧め。
あと大抵の言語では、タプルの方がアクセスが早い。
Python2.6.9リリース いつまでメンテナンスするんですか もうきりすてちゃえばいいのに
ついに次は大台だぞ
2.6.Aクル---!!! って、Mac OS Xは10.x.10とかやってたけどな。 LaTeX方式も楽しそうだけど。 今更2.6メンテするのも大変だよなぁ…。
スクリプトに手を加えず コマンドラインからそのファイルを実行して メモリの最大使用量と実行にかかった時間を計測する方法を教えてください
リスト内の値をstring型からint型に変更する場合 Python2.7だと map(int, ["1", "2"]) でいけますが Python3.3だとコード量が増えて list(map(int, ["1", "2"])) [int(x) for x in ["1", "2"]] list(map(lambda x: int(x), ["1", "2"])) ってなります Python3.3でmapを使うと<map object at 0x026F59D0>みたいになちゃうんですがしょうがないんですか?
実行時間なら python -m cProfile hoge.py で分かるけど、別に import time s = time.time() (処理) time.sleep(1) print time.time()-s で処理の部分をコピペすればいいだけ というか下手くそはテストコード考えるよりさっさと提出してTLE貰って書きなおしたほうがマシ
sleepはミス
>>275 しょうがないです
mapの返すものがリストからイテレータに変わったから
でもmapとかfilterをいくつもつなげる場合は効率がよくなったはず
[i for i in map(int, ["1", "2"])]
Pythonでイベントドリブンなプログラムを作りたいと 思っています。 たとえば、ターミナルで実行するとキー入力待ちに なって、キーボードのtを叩く度にその瞬間の時刻を表示、 qを叩くと終了するようなプログラムを書く上で 参考になりそうな情報ってどこかにありますか? それっぽいサンプルコード付きだと助かるのですが。
Windows は知らないけど Linux の TUI であれば ncurses や urwid が使える チュートリアルもすぐ見つかるはず
いわゆるinkey動作は面倒くさいんだよなあ import termios, fcntl, sys, os, select fd = sys.stdin.fileno() oldterm = termios.tcgetattr(fd) newattr = oldterm[:] newattr[3] = newattr[3] & ~termios.ICANON & ~termios.ECHO termios.tcsetattr(fd, termios.TCSANOW, newattr) oldflags = fcntl.fcntl(fd, fcntl.F_GETFL) fcntl.fcntl(fd, fcntl.F_SETFL, oldflags | os.O_NONBLOCK) try: while 1: r, w, e = select.select([fd], [], []) if r: c = sys.stdin.read(1) print "Got character", repr(c) if c == "q": break # quit finally: termios.tcsetattr(fd, termios.TCSAFLUSH, oldterm) fcntl.fcntl(fd, fcntl.F_SETFL, oldflags)
まあ標準機能でとかいう縛りは止めとけ たぶんその苦労は何も生まないから
datetime.datetime(1999,1,3) これのタイムスタンプってどうやってとるんですか?
>>> datetime.datetime.ctime(datetime.datetime(1999,1,3)) 'Sun Jan 3 00:00:00 1999' >>> datetime.datetime.timetuple(datetime.datetime(1999,1,3)) (1999, 1, 3, 0, 0, 0, 6, 3, -1) >>> import time >>> time.mktime(datetime.datetime.timetuple(datetime.datetime(1999,1,3))) 915289200.0 >>> time.ctime(915289200) 'Sun Jan 03 00:00:00 1999' >>> time.mktime(datetime.datetime.timetuple(datetime.datetime(2013,11,13))) 1384268400.0 >>> time.ctime(1384268400) 'Wed Nov 13 00:00:00 2013'
なんかPythonってタイムスタンプ使うだけでもとてつもなく面倒くさいんですね Rubyが天国だ
えっ そうなの? Ruby だとどうなるの?
天国から帰ってこなくて大丈夫です
Time.new(2013, 11, 13).utc.to_i Rubyだとこれだけでいいんですよ
ruby使いはラッパーを自前で用意することも出来ないんですかね
最近Ruby離れが進んでるからこっちに進撃してきたのか?
>>292 >>> time.mktime((2013, 11, 13, 0, 0, 0, 0, 0, 0))
1384268400.0
引き数多いのは勘弁
Python3.3 >>> datetime.datetime(2013,11,13).timestamp() 1384268400.0
>>296 >>> time.mktime((2013, 11, 13) + (0,)*6)
1384268400.0
プログラミングを始めたいと思ったので友人に相談したら、LISPとPythonを勧められました。 しかし、どちらもさっぱりわかりません。 逆ポーランド記法とか配列とかわけわかりません。 僕には向いてないんでしょうか?
その友達に飯でもおごってもっと教えてもらうといいよ
つーかPythonは学習用言語の特徴もあるので
その友人がLisp「だけ」を薦めてきたなら煙に巻かれたんだなと思うが・・・
>>299 プログラミングは、好きだのやりたいだのではなく
「毎日コードを書いているかどうか」のみが会得の決め手
君は毎日コードを書いているか?
コードを書かなければならない立場にいるのか?
素人が入門書を読むだけでは三日で挫折すること請け合いだ
何の言語で書くかよりも 何を作りたいのかを明確にしたほうが良いよ
305 :
299 :2013/11/14(木) 22:26:12.62
やっぱり難しいので、 縁が無かったと思ってキッパリ諦めます! お騒がせしました!
306 :
299 :2013/11/14(木) 22:28:04.17
LispとPython同時に勧めるとかふざけた友人だなwww
307 :
299 :2013/11/14(木) 22:28:41.10
もう二度とあいつには関わらねえよwwwwww
なにこの流れ・・・
309 :
デフォルトの名無しさん :2013/11/15(金) 00:55:37.98
株価を取得したいです。 毎日16時に1000銘柄の終値を取得して DBに保存したいのですが pythonはこういうことをするのに向いていますか? 自分はPHPしかできないニワカですが pythonの方が速そうなイメージがあります。 速さでいったらjavaの方が速いんでしょうか?
>毎日16時に1000銘柄の終値 これに速さを求めてる意味が分からない PHPだって一瞬で終わるだろ
初心者ほど意味のない無駄な部分で速さを求める
>>309 PHPでも出来るでしょ?
もしPHPで出来ないようならPythonでもたぶん出来ないと思う。
# 誰かが作ってくれたライブラリがあるなら別
問題なのはDBに保存した株価データをどう分析するかってことじゃないかね 古典的な時系列分析から今流行の機械学習まで、問題の規模や手法によっては速さが必要になる場合もあるかも その手のライブラリはPythonにもあるけどやっぱりRに一日の長があってコミュニティも活発すぎて 他の追従を許さないレベルだからデータかき集めるのはPython,分析はRみたいな使い方がベターな気がする
日本の東証とかはどうかしらんけど、あらかじめお金払ってる証券会社にミリ秒単位で早く情報流すようなとことで、 個人投資家が速度を気にしても仕方ないんじゃないかね。
ミリ秒単位のスパンだと人間の意思決定は追いつかなくて機械同士がやりあってるんだよなあ
>>309 Yahoo! ファイナンスから株価取得する Python ライブラリがあったの見かけたよ。
自分で作るなら、Python + BeautifulSoup で。
あとは DB につなぐのは MySQL-python でいける。
データ取得から分析までシームレスにいけるから、
PHP よりは Python の方が良いと思う。
無料で拾えるのは どれも20分遅れの 糞データだけ
for と xrange で2数の比較と代入を 10000 回させる、というので、その処理に掛かる時間を
i) ループをそのまま書いて時間を計測
ii) 全く同じコードを関数化してその関数定義と実行時間を計測
のふたつで測ったところ、結構結果が変わるようなんですが
http://codepad.org/GjlD0YG9 なんでなんでしょう。関数定義の時に最適化がされたりとかでしょうか?
>>318 変数のSTORE_NAMEがSTORE_FASTになる違いかなぁ
関数でもglobal i,aするとSTORE_GLOBALになって同レベルになるはず
Pythonバイトコードはdis.disで解析できます
321 :
デフォルトの名無しさん :2013/11/15(金) 23:26:36.36
for 文で回して作成した辞書をリストに追加していきたいと考えています。 for ... in ...: dictを作成 list.append(dict) これでprint list しても入ってるのは最後に作成されたdict のみがforで 回した数だけ入っています。 何か対処方はないのでしょうか?
そりゃ毎回辞書を作り直してるならそうなるやろ… for文の前に辞書を作って、for文の中では辞書に情報を追加するようにしないと
言葉じゃなくコードを貼ってくれるかなあ
>>2 とか使って
もういっぺん言うけど
>>2 とか使って
いや、確かに意味不明だなw さっさとコード晒せよカス
あー分かった。
>>321 は嘘で、for文の中で辞書を作成せずに変更してんだろ
>>> a = {'hoge':1}
>>> b = [a]
>>> a['hogehoge'] = 2
>>> b.append(a)
>>> b
[{'hoge': 1, 'hogehoge': 2}, {'hoge': 1, 'hogehoge': 2}]
だから list.append(dict.copy()) とすれば問題解決
おまいら焦りすぎ
330 :
デフォルトの名無しさん :2013/11/16(土) 01:18:28.39
皆さん有難うございました。
>>325 さんの仰る通り変更してただけでした、申し訳ございません。
for 文の中で作成する方法もcopy()を使う方法も両方試すと
普通にできました。
331 :
デフォルトの名無しさん :2013/11/16(土) 01:50:41.26
Pythonでなんかおもしろいのねーかなー
あら素敵な記事
指定したウィンドウをクリックしたりキーコードを送信できるマクロってありませんか
そもそもPythonにマクロと呼ぶ物は存在しないですよ 何か誤解されてませんか
なんでPythonにはMVCのフレームワークがないんですか? そこにはPythonの言語特有の事情があるからですか?
何を見てないと言ったのか分かりませんけど、探し方が悪いんじゃないですか? あるいはモニターの移りが悪いんじゃないでしょうか
MVCでも書けるがMVCでしか書けないのはないと思うな 他の言語ってそんな刑務所みたいなフレームワークばっかなの?
ドキュメント生成するためのツールで多く使われているものってなんですか? やはりpydocでしょう?
python3.3にはvenvがはいってますよね virtualenvはいれたほうがいいですか?
348 :
318 :2013/11/16(土) 12:37:13.10
ありがとうございます!
>>319 なるほど最適化はあんまりなんですね〜。勉強になりました
>>320 global にしてみたら確かに時間がだいたい同じになりました!(いわれてみれば……!っていうかんじです)
バイトコードの解析とかはやろうとしたこともないので、これを機会にちまちま遊んでみようと思います
お二人ともありがとうございました。
Pythonで定番のXMLパーサってなんですか? 標準ライブラリって使われるものですか?
lxml BeautifulSoup
XMLなんかには近寄らないというのが正しい
353 :
デフォルトの名無しさん :2013/11/16(土) 13:39:19.97
漏れもそう思うふり
ElementTreeとかpure-pythonだから重いのなんの 俺もlxmlを薦める
356 :
デフォルトの名無しさん :2013/11/16(土) 15:17:49.36
Pythonって単体で動くExeファイル作れるの?
>>356 作れるが、あんたが今からPython始めようと思ってる段階だと非常にキツイと思う
359 :
デフォルトの名無しさん :2013/11/16(土) 15:33:16.65
>>358 スクリプト食わせると、Exe出すトランスレータ的なものないの?
お前の望むようなものはこの世に存在しない
ぢゃあ JS か C に変換するトランスレータでもいいよ
例えばDropboxはPythonで作られてるけど
>>356 の言うような単体で動く実行ファイルじゃないだろうし、そんなものは他の言語でもほとんどないだろうね
>>363 Cにトランスレートできるならexeにできない理由がないだろが
少し頭ひねろうよ
py2exeも開発止まって久しいしなー なぜモチベが切れてしまったんだろう
cx-freezeが一番出来がいいわな
>>357 いや動かないけど AttributeError になるのは lxml でも一緒ではないかと
http://ideone.com/FhjAyS 最初に見つかった<item>a</item>だけ取得したいんですが<item>d</item>も含まれてしまうのは何故ですか?
この例ではitemsの中にitemが存在しますが、いろんな要素の中に含まれている前提で動かしたいので
.//item[1]って書いたんですがこれだと何個もヒットしてしまって使い物になりません
何故かそうなるかは分かった aもdは別のitemsの中でどちらもitem[1]と見なされるってことだな それをお前がどう区別するのかによるけど、最初のやつって限定するなら見つかった時点でbreakすればよいというか そもそもfor文すら回す必要がない気がする どんなことをやろうとしてるのか分からないけど
勉強用なのでただのサンプルです こういうものだと思っておくしかないのですね
>>372 .//item[1] はざっくり言えば全てのノードから見て 1 番目の item 要素って意味
この場合は tree.find(".//item") で済む
あ、なるほどfind使えば大丈夫でしたありがとうございます
さいごにすいません 文字列からElementのインスタンスを生成して、ファイルに書き込みたいのですが書き込みできません >AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'write' ってエラーになります import xml.etree.ElementTree as ET text = "<root><item /></root>" tree = ET.fromstring(text) tree.write("sample.xml") いまは応急措置でこう書いてます import xml.etree.ElementTree as ET text = "<root><item /></root>" tree = ET.fromstring(text) with open('sample.xml', 'w') as f: f.write(ET.tostring(tree))
>>377 Element は write を持ってない。持ってるのは ElementTree
だから Element を ElementTree でラップしてから write する手もあるけどその応急措置でも十分
>>378 応急措置のやり方だと整形して書き込まれないので何とかラップして見たいと思います
整形機能はもとからついてないから自分で実装するかコード拾ってこないと
import xml.dom.minidomについてる
この手のパッケージ横断しないと成立しない構造やめてくれよ 美しくない
import cmd
自分はなるべく標準ライブラリ以外は使わないようにして 自力で実装することにしてるよ どこの馬の骨が作ったかわからないコードなど信用できない
自家製症候群いくない
386 :
デフォルトの名無しさん :2013/11/17(日) 13:20:46.38
ヘンなバックドアとかウイルスとかトロイの木馬いりのパッケージとかの 問題って実際に起きたことあるの? まあPerlやRubyも含めて。
バックドアに限らず品質の高低のような観点もあると思うが… 最終的にはポリシー次第ですよ ここで言うポリシーには、個人的な精神安定を保つための思い込みも含みます
コマンドプロンプトからならcd使ってディレクトリ移動できますが、IDLEならディレクト変更できない? モジュール作ったけどカレントディレクトリが違うからか読み込めないんですが。
py2exe 開発終わってねーし cx 糞だし pip で svn からインストールして普通に使ってる
sys.pathを追加するなりos.chdirで移動しろ
質問です。 他の言語で&&や||はandやorと違ってif A && Bで、 AがTrueでないとBを審査しないのですが Pythonにもそれはあるんでしょうか? 例えばif listA is not None && len(listA) > 0 && listA[0] == 'OK': みたいに一行で済ませることはできますか?(Exceptionは無しの方向でお願いします。)
py2exeの方が遥かに糞
Pythonは標準でショートサーキット演算になる その書き方も無駄だらけだけど if listA && listA[0] == 'OK': これで等価 Noneや空リストはFalseです
間違えた if listA and listA[0] == 'OK':
>>390 ありがとうございます、その方法でとりあえずやってみます。
抽象的な「糞」の一言で片付けないで どの点がどのように相手に比べてより良くより糞なのか 建設的に述べたまえ
>>393 ,394
ありがとうございます。
勉強になりました。
年末用のPythonのイベントってありますか? あるならバイト増やして上京したいと思っています。
あっ新年でもあれば教えてほしいです。
無いよ 年内唯一のイベントはPyConだがやってるのは敬老の日だ
残念です。。。 うーん、バイト減らして大学の勉強してますわ。。。
>>392 dropbox のエンジニアの前で言ってみろ
クラウドなんかに大事なデータ置くもんじゃないってことですね、わかりません
pythonでandroidアプリ書くメリットって何?
dropboxのguiってpythonの何のguiライブラリで作られてるかわかりませんか? あとやっぱりpyqtってライセンスの都合上あまり使われてないものですか?
>>405 androidアプリは書いたことないが、android上でpythonを書くメリットはある
昼休みにリスト内包表記を書いてやる気を出したり電車の中でlambda式を書いて落ち着くことが出来る
>>406 wxWidgets
LGPLのpySideがある
python スタートブックやり終わった。次は何を読めばいい?
>>409 Python標準ライブラリーのソース
これが一番勉強になる
おっぱい好きなの?
パイソンはニシキヘビです さらに言うとニシキヘビも直接は関係ありません
コマンドプロンプトから亀モジュールを立ち上げると何も問題ないのに、 IDLEから立ち上げると固まった感じで応答なしになるのは何故でしょうか?
Python3.3に公式に対応してるゲームライブラリはありませんか? Pygameは未対応でした
>>414 IDLEはPythonで作られているらしいから
処理速度が遅いのでは
>>362 これみて勉強さいただきますありがとうございます
Pythonは32bit環境よりも64bit環境のほうがIntの最大値が大きい仕様ですか? 64bit環境持ってる方おしえてください
421 :
デフォルトの名無しさん :2013/11/20(水) 14:51:59.77
>>420 値がメモリ上に収まるかどうかという問題を除けば、整数リテラルには長さの制限がありません。
3xはそれで正しいが…
あ、ほんとだ import sys print(sys.maxsize) # 2147483647 はデマだったのか
print(sys.maxsize) # 9223372036854775807
リストaから値を取り出すとき、 a[-1]でIndexErrorが出るようにする方法ありませんか?
リストを継承した何かでgetitemを定義してゴニョゴニョ
427 :
425 :2013/11/20(水) 18:05:16.41
おお、[]の挙動も変更できるんだ。しらんかった。 いろいろググって、こんな感じでいけそう。 class MyList(list): def __getitem__(self, y): if isinstance(y, int) and y < 0: raise IndexError('list index out of range') else: return super().__getitem__(y)
Sphinxって一々ファイル作るの面倒くさい、 コマンドで自動的に作ってくれるのないっすか?
429 :
デフォルトの名無しさん :2013/11/20(水) 20:31:18.55
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
>>427 引数はyじゃなくてindexだろう?
というのは軽い話として、
list.__setitem__()
list.pop()
list.insert()
list.index()
も引数として-1が可能だったりするから気をつけてな。
listを継承したクラスはlistと同じように振る舞わなきゃいけないから-1で例外を投げるのはダメだと思うんだけど貴君らはどう思いますか
言われてみればと思って考えてみたけど エラーの説明が今のままだと変だね。
433 :
デフォルトの名無しさん :2013/11/20(水) 22:35:11.38
どういうこと? 上書きさせる仕様がダメっていうこと?
>>425 に
> a[-1]でIndexErrorが出るようにする方法ありませんか?
とあるのでセフセフ。
あと、例外は以下のようにすべきかな。
raise IndexError('myList index out of range')
indexは範囲内だからout of rangeだと混乱しないかな 'MyList prohibits backward index reference'(英語適当) みたいにした方が自然な気がする
>>433 リスコフの置換原則ってやつだよ
listを継承したらそれはlistと同じように扱えないとだめ、ってやつ
>>434 確かに。
listを継承しないで同じようにするには、MutableSequenseを継承して大まかな処理はlistにまかせて、
とか考えたけどコード量が無駄に増えるな
Pythonだとそういうのはそこまで気にしなくていいのかな
個人でやるなら好きにすりゃいいと思いますよ 集団でやるならその辺はマナーとして押さえといてください
その辺はダックタイピングの言語では考え方が違うと思う。 継承してるかはあまり重要ではないし、微妙にインターフェースが違う ○○ like objectsはよく使うし。
while True: num = input if len(num) == 0: break #Enterキーだけが押された場合は 整数を入れて遊ぶ簡単なゲームを作ってるんですが、未入力でエンター押したら終了するようにしたいです。 何も知らずにlenをつかったら整数だから使えないみたいな事言われたんですが何かいい方法ありますか?
while True: num = raw_input('input: ').rstrip() if not len(num): break
while True: __num_str = raw_input('input: ').rstrip() __if not len(num_str): break __try: ____num = int(num_str) __except (ValueError, ), e: ____sys.stderr.write('\aplease input a number\n') ____continue __print num
ある期間からある期間までの年月日をリストや辞書に入れる方法を教えてください 2010/3/9から2015/8/26まで Rubyでいうとこういうのがやりたいんですがやりかたがわかりません require 'date' d = Date.parse('20100309')..Date.parse('20150826')
>>> import datetime >>> start, end = datetime.date(2010, 3, 9), datetime.date(2015, 8, 26) >>> days = [start + datetime.timedelta(i) for i in range((end - start).days)] >>> days[0], days[-1] (datetime.date(2010, 3, 9), datetime.date(2015, 8, 25))
あるIPからbitmaskを元に ネットワークアドレス範囲(開始アドレスから終了アドレス)を 求めるモジュールはありますか? あるいはあるIPがあるセグメント内に含まれるかどうかを 求めるモジュールはありますか?
つ21.28. ipaddress ― IPv4/IPv6 manipulation library
Source code: Lib/ipaddress.py
>>> import sys
>>> sys.version
'3.3.2 (default, Nov 10 2013, 22:26:55) \n[GCC 4.8.1]'
>>> from ipaddress import IPv4Address, IPv4Network
>>> IPv4Address('192.0.2.6') in IPv4Network('192.0.2.0/28')
True
>>> IPv4Address('192.0.3.6') in IPv4Network('192.0.2.0/28')
False
>>445 の求める情報だと思うけど、
詳しくは自分で頑張って読んでちょ。
>>446 に追加。
>>> IPv4Network('192.0.2.0/28')[0]
IPv4Address('192.0.2.0')
>>> IPv4Network('192.0.2.0/28')[-1]
IPv4Address('192.0.2.15')
>>445 2.xならnetaddrで
https://pypi.python.org/pypi/netaddr >>> from netaddr import IPAddress, IPNetwork
>>> net = IPNetwork('192.0.2.0/28')
>>> IPAddress('192.0.2.6') in net
True
>>> IPAddress('192.0.3.6') in net
False
>>> net[0], net[-1]
(IPAddress('192.0.2.0'), IPAddress('192.0.2.15'))
Traceback (most recent call last): File ".\test_ipaddress.py", line 12, in <module> from netaddr import IPAddress as IPv4Address ImportError: No module named netaddr
Objects/intobject.c とかそのへんじゃないか
お、3.3.3でたね
intがなくなってlongに変わった
>>456 svn は 2.7 で Github は 3.4
みんな書き込むの早いなー。 reload必須ですね。。。
なるほどそうでしたか 教えていただいてありがとうございます 読んでみます
バッファローの無線ルータの設定を自動機にやりたいと考えています。 Python で設定ページに自動でログインして設定項目を書き換えるというものです。 参考になるページがあれば教えていただけないでしょうか
バファロー使ってる人か メルコに聞け
>>463 beautifulsoupやmechanizeを使えばいいよ
python mechanizeとかでググれ
スクリプトといえばWebの自動操作だろうが Pythonずっと使っててそういう知識なんもないわ お前らは普段から2chにスクリプト爆撃したりしてるんだろ? 詳しく教えてくれよ
>>463 無線ルータの設定なんて
一生にそう何度もするもんじゃないのだから
手でやりなさい
みなさん、ありがとうございます。
>>467 いや、それが100台単位で設定する必要があって、1台つづ微妙に設定内容が
違うんです。なので、ぜひとも自動設定したいんです・・・。
まずお前のバファロールーターを外からアクセスできるようにして アカウントとパスワードを晒して 試せる環境を提供するのが 質問する側のマナーだろ
Webインターフェースから1項目ずつ設定するよりも 設定をファイルに保存する機能あると思うから そこから流し込むのがいいと思う。
471 :
デフォルトの名無しさん :2013/11/22(金) 20:58:11.80
472 :
デフォルトの名無しさん :2013/11/22(金) 21:42:17.95
って思ったけど、設定ファイルがテキストみたいに編集しやすいような形じゃなかったら ルータ毎に設定ファイルつくれないから無理か
ファイトォはいいとしても webbrowser はなんか違うだろう
>>472 バイナリファイルだろうと、暗号化はされてないだろうから
必要な部分を書き換えるだけだろう。
あってもチェックサムの類くらいかと。
476 :
473 :2013/11/22(金) 22:47:06.08
>>474 違いますね。。。
説明読まずに貼り付けました。
失礼しました。
自分的には、後で開きたいurlを一度に開くことができるので、
便利かなと思いますが、100台とかなら無意味な話です。
説明読まずに貼り付けて失礼しました。
477 :
デフォルトの名無しさん :2013/11/22(金) 22:51:09.31
webbrowser
こんなモジュールあったのか、何につかうんだ・・
>>475 変な値つくってしまって、書き換えミスった時が何か怖い
勝手な先入観だけど、この辺あんまりちゃんとつくってなさそう
初期化はできるだろうけど、エラー発生したときにどういうエラー返すとかわからんし
でも、入力ミスはテキストでも一緒か
478 :
デフォルトの名無しさん :2013/11/23(土) 00:20:25.15
リストを作成するときに、 list = [] list.append(x) のように事前にリストを定義せずに1行で済ます方法ってありますか?
list = [x]
処理はfor文などで繰り返し行う感じです。
list = [x for x in xlist]
>>471 requests というモジュールがあるのを初めて知りました。
これを使ってチャレンジしたいと思います。
無線ルータのログインフォームのユーザー名やパスワードのinput?
に対して、postすることになると思うのですが、その送信先の名前
(たとえば"user_id"や"password")を取得する方法をずっと調べて
いるのですが、なかなかわかりません。
いい方法があれば教えていただけると助かります・・・。
>>482 chromeの要素を検証から入るデベロッパーツールとかfirefoxのfirebugとかで
>>482 おいおい、そうやってスクリプトの中身まで一から全部ここで
聞きながら作るつもりかよ…それはさすがに勘弁だぜ
ていうか、仕事で数百台のルータを設定するっていうのに
お前一人で抱え込んで悩んでるってどんなブラック企業だよ
そういう大規模な設定作業は、人員を複数人確保して
場所と時間取って集中してやるもんじゃないのか
>>486 別にブラックじゃなくても、普通にある作業だが。
頭悪そう
ルータ 100 台単位はかなりの規模 それを Web インタフェースで一括設定なんて普通にある作業とは思えないなあ
490 :
デフォルトの名無しさん :2013/11/23(土) 08:49:49.92
つーかpythonと全然関係ない そもそも今までどうやってたんだ
482です。
みなさん、ありがとうございます。
おかげ様でうまくいきました!ソースは以下の通りです。
import requests
from requests.auth import HTTPBasicAuth
url = '
http://192.168.11.1 '
auth = HTTPBasicAuth('root', 'password')
r = requests.get(url = url, auth = auth)
print r.status_code
print r.headers
print r.content
会社はとてもホワイトなのですが、作業を依頼する外注さんの作業が、
間違えなく、コストが小さくすることが出来ないかなぁと考えていました。
言っちゃ悪いが素人のスクリプトほど致命傷を起こしそうなものもない
外注の方が賢いんでないの
>>493 だれでも最初は素人な訳だけど
どういう過程を踏んで何をすれば
どこから素人じゃないと言えますか?
>>495 スレとは直接関係ないけど……
最低限複数のスクリプトを書いて動かしたことがなければ素人じゃないかな。
>>492 の例で言えば、Webアクセスのスクリプトを(Pythonだけでなく多言語でも)一度も書いたことがなさそうだから素人と言える。
ニートが見栄はって会社が〜とかいってんじゃねえぞ小僧
>>463 はなんか他人の無線ルータに不正アクセスしたいんじゃないかなと思うんだけど
この質問には触らないほうがよさそう
外からはバッファローのルータの Web インタフェースには触れないだろう
>>495 そういう子供じみたこと言わなくなったら
スレ違いだからレスしなくていいから消えてくれ
まあいいだろ 甘い考えだと身を持って知ってもらおう
100台もの同一機種を管理するとなると、かなり規模のでかい組織だよね。
専門の管理者がいそうだけど、先輩に腕試しとして出された課題じゃないかなぁ。
post してないし、responseを見てないし、
>>492 ではうまくいってなさそうだけど、、、はて、、、
ネットワークに繋がってるコピー機の内容が駄々漏れだっての思い出した
素人()が書いたスクリプトのせいで 素人プログラマが書いた(岡崎市図書館)システムが止まって 素人鯖缶(三菱電機インフォメーションシステムズ)が反応して 致命的障害を起こし 素人警察が5人逮捕した訳ですね判ります
ああ、場数踏んでるから良いって物ではないですね それは確かにです
いや、ネットワーク設定を素人に任せる意味が分からない
元も子もなさすぎだが 言ってしまえばそれに尽きるね
その素人の裏で糸を引く専門家がいると思ってるけどなー。
実力を推し量るためにお前やってみろって言ったんじゃないのかな。
>>492 が全権を握っているとは思えないけど。
仕事で使うなら何でマニュアルみるなり本買って勉強するなりしないの?
今頃の技術者?ってやつじゃないの。 人から聞くだけ、指示待ち人間。
yahoo知恵遅れに宿題の内容書いて教えてもらうゆとり世代か
質問者がいないと思って言いたい放題だなw
513 :
デフォルトの名無しさん :2013/11/23(土) 19:54:22.73
webログインするルータを使ってるのがそもそもの間違い 動確するんだから手動設定するマニュアルを丁寧に作って バイトなり低コストの人間に依頼する方が早い
このスレで業務云々について延々とツッコミ続けるのがそもそもの間違い。
そんなにくやしかったの?
もうすこし、くやしく
( `Д´)フォオオオオオオオオオ!
OpenFlow対応機種にして、Ryu (Python製)で設定したい...
Ruby公式サイトのデザインがリニューアルしてた
( `Д´)フォオオオオオオオオオ!
初心者にとってBeautiful Soupの何が良いって、Pythonライブラリにはめずらしくドキュメントの和訳があることだなw
んで大昔に陳腐化した説明を参照してハマるんですよね そこまでテンプレ
いい加減な HTML をそれっぽくパースするなら BS もまだまだいけるんじゃないか
BSはBS4が出てるからPython3でも現役です
>>523 なんだあったのか
同じようなもの自分で作ったぜ
何作ってるんですか? パブリックな場所ではお答えするのが憚られるような物です
>>523 このスクリプトみてて質問がでてきたんですが、
for 分の中で同じ re.compile を何度も実行してるように見えますけど
これ普通に無駄ですよね?
そのようだね
やだ…このスレいつにない一体感を感じる…
なんかくさい
モンティ・パイソン再結成だと パイソン始まったな
もう全員相当なジジイだろ・・・また遺灰が登場するのか
スパムスパムスパム〜
shebang のところ、今は #!/usr/bin/python か /python3で書いてるけど、現状を考えれば 2.x の場合でも #!/usr/bin/python2 と書くべきでしょうか?
538 :
デフォルトの名無しさん :2013/11/25(月) 19:41:55.14
>>537 何も書かずに、setup.pyに書かせるのがベスト
>>537 今どき python2 であることを明示するべきなのでイエス。
でも重箱の超隅っこをつつくと記述はディストリに依存する。
python自体はビルド時に、例えば 2.7.x なら「python2.7」という名前でバイナリを作成していて、
「python2」という名前では作成しない。
なのでディストリ側で python2.7 → python2 へのシンボリックリンクをはっている。
気にしなくていいことなんだろうけどすべてのディストリでどうしてるかは自分知らないので。
あと、
#!/usr/bin/python より #!/usr/bin/env python
の方がいい。
Python3.3.1を利用しています アホな質問かと思いますが、 b'\u611B'というbytes型の文字列があった場合、どのようにして元の文字'愛'に変換できるでしょうか? そのまま.decode()で変換しても、 >>> ai = b'\u611B' >>> ai.decode('utf-8') '\\u611B' >>> と'愛'になりません。
542 :
デフォルトの名無しさん :2013/11/25(月) 21:18:59.32
>>540 こういうことではなくて??
>>> "愛".encode()
b'\xe6\x84\x9b'
>>> b'\xe6\x84\x9b'.decode()
'愛'
>>541 >>> ai.decode('unicode_escape')
'愛'
>>>
できました!ありがとうございます。
>>542 さんもありがとうございました
Python2.xは今後も使えて損はないのか? Macとかはまだデフォで2系だし、まだ3系に移るのは早いんだろうか。
今から始めるなら3一択だし 現在2を使ってて何も困ってないなら移行する必然性がない。それだけ
おそらくは3の方がより洗練された言語で、結局移行コストを掛けるなら今移行した方が良いという話もある いずれにせよ「まだ早い」ってことはありえない
大した違いは無いんだから用途に合わせてどちらも併用すればいいんじゃないの
それは選べる人の発言ですね
移行コストは対応していないライブラリがある以上先延ばしにすればするほど軽くなる 今移行するメリットはない
それは対応していないライブラリが対応する前提での発言ですね
まだ対応してないライブラリはもうレガシーシステムと見なして良い
まだ早い あと2年まて
2年待つと具体的にどうなりますか?
import oppai でおっぱい機能が使えるようになる
Mac OS XにしろLinuxにしろ、2だろうと3だろうと依存するパッケージはそれぞれ 必要な方を使うので気にしなくていい。 python2に依存するパッケージがなくなったなって気がついたらpython2を消せばいい。
Google Apps Engine ってどうだっけ?
558 :
デフォルトの名無しさん :2013/11/26(火) 18:14:52.41
みんなPythonでなにしてんの?
数値計算とかデータを基にグラフ作ったりとか
560 :
デフォルトの名無しさん :2013/11/26(火) 19:05:00.41
>>559 それは趣味で?お仕事で?それとも学生さんの研究とか?
グラフ作ったりデータ整形するだけの刺し身にタンポポを載せるような仕事がしたい
563 :
デフォルトの名無しさん :2013/11/26(火) 19:19:23.60
タンポポ載せるのは料理長の仕事だよ。 盛り付けだから。
564 :
デフォルトの名無しさん :2013/11/26(火) 19:24:35.63
こんなとこから世界を二分する菊派とタンポポ派の争いが始まったんだよね。
会社で使ってるカレンダーアプリの内容をGoogle Calendarに連動するのにつかってます
菊と言えば乾電池
567 :
デフォルトの名無しさん :2013/11/26(火) 19:33:16.97
学生でもないし、お仕事もしてないけど サーバのログから月ごとにIPアドレス抜き出して、ホスト情報とか集めてきて、htmlで出力してくれるツール作った でも、差分アップデートとかないから時間があほほどかかる
グラフ化ってなに使ってるの? やっぱりmatplotlib?
569 :
デフォルトの名無しさん :2013/11/26(火) 19:43:36.20
OpenGLです。
reportlab
571 :
デフォルトの名無しさん :2013/11/26(火) 20:06:26.90
pygraph
描写がダサいと言われるけど、もっぱらmatplotlibだなあ 複数のグラフを重ねたり並べたり線の色や太さを変えたり、慣れちゃってるから 可視化ツールではOrangeとかBokehとか色々あるようだけど
そこでSVGゴリ押しですよ。 matplotlibでヘタに凝るより早い場合もある。
subprocess.Popen('gnuplot')
PIL
サーバーサイドのDjangoベースのWebアプリにJavaScriptの実行環境を埋め込んで JavaScriptの関数を叩くことって手軽に出来ますか? jQueryといった外部ライブラリを使わずやDOMも叩いていない素のJavaScriptで 書かれているロジックがあるのですが、クライアント上とサーバー上で実行して ゲンミツに同じ出力が欲しいのです。 元々は自分が書いたJavaScriptコードを元にPython担当のチームがDjango上に 移植する段取りだったのですが、ロジックを更新するたびにコードを移植して ロジックを同期するのが面倒なので上手い他の方法が無いか模索しています。
テンプレートエンジンの部分にミドルウェア差し込んでやればできる気がする
pyv8 とかどうなんだろ
Djangoで書かれたアプリに差し込むのが原則なのでnodeを別に走らせたりnodeで 書き直したりは今回は無しですね。 pyv8ですか。使い方はちょうど良さそうなので調べてみます。
>Djangoで書かれたアプリに差し込むのが原則なので だと >nodeを別に走らせたりnodeで書き直したりは今回は無しですね。 になる理由が判らん
う〜ん。 Pythonのコードの中からJavaScriptで書かれた関数を叩いて値を拾ったり最悪 JavaScript文字列をeval出来れば十分なので。 server side JavaScriptというより単にembedded JavaScriptが欲しかったんです。 もちろんPythonの中にnodeを埋め込める方法があれば歓迎ですが、別にプロセス 走らせてHTTP等で叩くのはちょっと避けたいところです。
>>583 おう、これは知りませんでした。
Browser上でPythonのコードを走らせるとは逆転の発想。
ただこれは自分がまずJavaScriptで書いてそれをPythonに書き直すという現在の
ワークフローが、自分がまずPythonで書くというワークフローになりますな。
Pythonチームは大歓迎。でも決してPython専門でない自分がまず苦労w
将来的にはRhino使ってJavaで書かれたバッチプロセスで同じロジックを走らせる
可能性もあるので、今回はJavaScriptファーストで書いてpyv8でPython上で
JSコードを走らせる方法を他チームとも相談して進めてみたいと思います。
ただbrythonも便利そうなので少し調べて仕事道具の中に入れておこうと思います。
今回はありがとうございました。
納得したみたいだしええやんけ
すみません。どんな勘違いか教えていただけると。
完全に外野の初心者ですが僕のためにもお願いします
590 :
デフォルトの名無しさん :2013/11/28(木) 01:27:47.03
Pythonの公式ドキュメントはなんかわかりにくい・・・
>>590 技術文書なんてそんなものじゃないの?
わかりやすさなんてのは二の次さ
>Pythonの公式ドキュメントはなんかわかりにくい・・・ すごく判り難いですが 判り難いのは python.jp であって 本家の python.org は判り易いです
593 :
デフォルトの名無しさん :2013/11/28(木) 10:27:30.53
なるほど、.orgの方がわかりやすいのか .jpの方は翻訳者が意味もわからず直訳してるようなのが多い感じ
>>592 ,593
んなこたあない。
jpよりピンとくるところもないではないし、jpの方は用語や表現の統一がされてなくて
時たまイラッとするけど、
所詮ライターじゃなくてプログラマーが書いてるのでドキュメントのクオリティとしては
特別褒められるほどわかりやすいってレベルでもない。
原文も日本語訳も複数の人間がやってるからばらつきもあるので、
>>590 のように
一概に決め付けるのもいかがなものかと。
具体的にどのへんがわかりにくいのか聞かずに訳の拙劣の話にもってくのは悪意でもあるのか
悪意というより自覚があるからでは
聞かれてもいないことについてまで多弁になるのは隠し事があるときに多いそうです
具体的に聞くと具体的にどう対応するかって話になるから…
触らぬ神に方針ですね
俺もorgの方は分かりにくくて別のサイトで学んだ
博多弁で書いてくれないとわからない
StackOverflowはいいとしてGoogle Groupはどう使ったらいいのかわからんち
firefox で動く brython ページ (ローカルの html ファイル) が chrome で実行すると A network error occurred. という例外を出して動きません brython のトップページの時計は見えています
進捗報告ご苦労。その調子で頑張ってくれたまえ。
続報です import time (と time を使っている部分)をコメントにすると それ以外の部分はちゃんと動作しました brython の時計も time 使ってるはずなのになぜでしょう
ローカルにあるからじゃね? 普通に鯖たててそっちにおいてみたら?
できました!! ありがとうございました!!!
brythonのimportってajaxで読み込んでるのかな
さすがくだすれ
まさしく星の王子様に出てきた「うわばみ」だな。
614 :
デフォルトの名無しさん :2013/11/29(金) 13:08:07.91
ate が eat の過去形っていうのを久しぶりに思い出した 一瞬 atre に見えたのは老眼のせい
さすがPythonだ Rubyには真似ができない
616 :
デフォルトの名無しさん :2013/11/29(金) 14:05:36.29
中の人窒息してないか
腹を開くとそこには蛇Tを着たMatzが
仮に生きてたとしても全身骨折とかしてるだろーな
619 :
デフォルトの名無しさん :2013/11/29(金) 23:04:42.05
二次元リストを一次元リストに変換するのってどうすればいいんでしょうか? Numpyのarangeやreshapeがあまりわからなくて。
>>619 リストじゃなくて配列なら
>>> a = np.array([[1,2], [3,4]])
>>> a.flatten()
array([1, 2, 3, 4])
>>> a.flatten('F')
array([1, 3, 2, 4])
WebProgスレ過疎ってるからPythonだめぽと思ったらこっちにいっぱいおった WebProgにいないってことはここの人はPythonで何を書いてるの? インタプリタには珍しいからないとは思うけどGUIとか? それともPythonの使い方でもっともメジャーそうなシェルスクリプト? WebProgでPythonやりたいけどコミュニティ壊滅しててくまったー
普段ローカルで使う小物 即席数値計算 プロトタイピング
Pythonで独立してソフト作る以外にもソフトの補助のためのスクリプトとして組み込まれてたりするから
Webプログラミングなんてマニュアル読めば誰でも書けるから 特に話題もないのでは?
Webに限定する理由がわからん webプログラマってこんな視野狭窄なやつしかおらんのか
>>622 なるほど
インタプリタ用意するのも面倒だし
大抵J(ava)Scriptで間に合いそうだけど
>>623 Glosure Libraryとかで使ってたね
まぁあれが入れるきっかけになったんだけど
>>624 似たもの同士のRubyさんの
RoRはそれなりに流行ってるよ(´・ω・`)
>>625 限定してないだろ
C#はWindowsアプリ、PHPはWebのように
Pythonにもなんかこういう系が多いってのがあると思っただけだわ
JS厨にはIpythonの素晴らしさは分からないだろうな
というかJSで何でも出来るって言う奴がいるのは知ってるし Web用途ではそれで困らないんだからpythonは触らなくて良いと思うよ pythonの設計思想が好きとか、ライブラリで必要なのがあるとかじゃないならさ
>>626 WebProg 板の Rails スレって大荒れやん
・お気に入りライブラリー ・今後使ってみたいライブラリー ・つかえねぇーよこんな糞ライブラリー についてそれぞれ1つづつ述べよ 好きに申してよいのじゃぞ
>>621 自分は業務でのデータ転がし目的
つまりテキストデータを入力し、加工して保存するという
バッチ処理用途だね
従来COBOLなどが担当していた分野だが、COBOL屋さんに
頼むと、どんなに簡単な処理でも1人月50〜100万円程度かかるのでね
まず日本人がおらんのでこのスレも過疎だよ WebProgの話がしたければフレームワークのフォーラムに行けばたくさん人いるよ ・・・外人だけど
用途としてはPHPやRubyに比べるとShell用が大きいんじゃねえかな LSBに入ってるのBash、Perl、Pythonなんで
シェル用途にも環境依存で使わせてもらえない
LSBの意味が分かってないのか くだすれだからしょうがなかろうな
最下位ビットがなんだって?
やっぱ左サイドバックは長友じゃないとな。
LSBは最下位ビット以外の意味では聞いたことがないなあ 略さないでちゃんと書けばコミュ取れるのにもったいない
ググって3番目にあるのに聞いたことがないとか馬鹿だろ
似たようなのだとLAMPもあるな
>>639 ググったけど全く聞いたことがない用語だった
人とコミュ取りたければマイナーな略語は使わない方がいいよ
ググればわかるし一部の人間が勝手に決めたような言葉でもないんだから 専門用語知らなかったごめんで済ませなさい
馬鹿とまで言われて、謝って済ます選択肢はないな 俺にも人格ってもんがあるのでね
IDすら出ない匿名掲示板で人格とか言われても知らねーよ コテでもつけてろ馬鹿
あーまた馬鹿って言った あんたNGするからコテ付けろ
こういう馬鹿ってどこの掃き溜めから湧いてくるんだろうな
よし、馬鹿という単語でNG登録しよう
pass
元を辿ると
>>635 の煽り口調が原因か
口は災いの元とはよく言ったものだ
また底辺webプログラマが暴れてるのか
まぁweb板とは犬猿の仲だからな
くだすれだからOK
人工無能に人格なんかあるんだ へぇ〜わりと進歩したね
俺が馬鹿に見えたか?ならお前が馬鹿なんだ。 馬鹿でいてくれてありがとう。(AA略?
Webプログラマに身内を殺されているんだろ。
痛がり屋さんなのねえ
>>621 エッチなサイトをスクレイピングとかじゃね
>>630 > ・お気に入りライブラリー
NumPy
> ・今後使ってみたいライブラリー
anacondaAccelerate
> ・つかえねぇーよこんな糞ライブラリー
lxml
lxml.html とか見ててクラクラくる
lxmlの代わり何か使ってるの?
662 :
デフォルトの名無しさん :2013/12/01(日) 01:10:54.58
Twitter関連では今のところtweepyが最強なのかね
今はtwythonの方がいいかも。 tweepyはもう作者が放置気味。 サイト移転して工事中のままほったらかしだから、 公式ドキュメントも無くなっちゃったし。 あと、Python3も対応してない。
664 :
デフォルトの名無しさん :2013/12/01(日) 02:00:07.94
あらー、そうなのか…。 twythonにしようかなぁ…。 あと、やっぱもうPython3の方がいいのかね。。 どーなんでしょう
Pythonはもうちょっと賢い子多いのかなと思ったけど スレの流れみてるとRubyと大して変わらないんだな あまり僕をがっかりさせないでくれ
∩___∩ | | ノ\ ヽ | / ●゛ ● | | | ∪ ( _●_) ミ j 彡、 |∪| | J / ∩ノ ⊃ ヽ ( \ / _ノ | | .\ “ /__| | \ /___ /
667 :
デフォルトの名無しさん :2013/12/01(日) 02:15:16.11
なんのためのくだすれだ!
668 :
デフォルトの名無しさん :2013/12/01(日) 02:52:45.22
basic認証してサイトにログインするスクリプトを書いてるんだけど、 どうしてもログインできぬ・・・
それはそれはお大事に 次の方どうぞ
あの子にコクろうと思うんだよね・・・
みんなのPython第3版がもうすぐ読み終わるんでPythonクックブックっての買おうかと思ったらコレ2.5なんですね 実機2.7なんですけどクックブック第二版でも問題ないですか? もしかして最新版がそろそろ出たりします?
ctypesで質問です あるdllの関数が以下だとして、 unsigned char* func(void* hoge); python側で以下のように実行したとき、 res = dll.func(hoge) resをpythonの配列にしたいのですが、どうしたら良いでしょうか
res = hage
lxmlが最強
まともにローカライズできてないのに金を取るのか(困惑)
>>668 スクリプトに生パスワードを埋め込むような認証なぞ
認証ではないということを知るべきだぞ
>>673 もしかして、PyObjectの作り方が分からないって話?
そうでなければ、以下の通りでいいんじゃないの?
一回、ctypes.c_char_pで受けておいて、
後でarrayに突っ込む方法でいいと思う。
Python »
3.3.2 Documentation »
The Python Standard Library »
16. Generic Operating System Services »
16.17. ctypes ― A foreign function library for Python
ctypes is a foreign function library for Python. It provides C compatible data
types, and allows calling functions in DLLs or shared libraries. It can be used
to wrap these libraries in pure Python.
>>> import ctypes
>>> a = ctypes.c_char_p(b"aiueo")
>>> ka = ctypes.c_char_p(b"kakikukeko")
>>> sa = ctypes.c_char_p(b"sashisuseso")
>>> type(a), type(ka), type(sa)
(<class 'ctypes.c_char_p'>, <class 'ctypes.c_char_p'>, <class 'ctypes.c_char_p'>)
>>> res = [a, ka, sa]
>>> res
[c_char_p(140699966155064), c_char_p(140699966481472), c_char_p(140699966482000)]
Pythonが動くアプリケーションサーバってありますか? そもそもApache上で動きますか?
アプリケーションサーバー uWSGIとかgunicorn Apacheで mod_pythonかmod_wsgi
>>673 dll.func()の戻り値は、ctypes.c_char_pにしかならず、
PyBytesObject, PyListObjectを返すことは不可能だから、
>>673 の内容のみで希望の動作は無理だよ。
って答えが素直な答えのはず。
ctypesを使ってCのdllを呼び出すのみで、
戻り値(=res)をPythonのPyListObjectに
するのは無理だと思うよ。
cythonしようぜえええええええええええええええええ
swig使うからいらないです
なんだってえええええええええええええええ
cgiモードでしか動作しないレンタルサーバで、 bottoleやpyramidみたいなフレームワークって動作させられないでしょうか。 cgiモード用の起動方法が書いてるサイトとかあればplz...
cgiとwsgiの橋渡しをする奴があったと思う なんだっけ
691 :
671 :2013/12/01(日) 15:50:21.86
>>672 , 678
2版買うのやめときます
英語ダメダメなんで三版翻訳されるの待ちます…
>>676 は持ってます
上記以外で何か良さげのないでしょうか…
さっき近所の本屋でThink Statsて本の中見たらわけわからん数式がいっぱいあってそっ閉じしました
自分のやりたいことに近いライブラリのチュートリアルでも読むといいよ 紙がどうしても良ければ印刷したっていいし
期待するなよ ここ3年でオラから出たPython翻訳本って MongoDB and Python(原著2011年の上いまさら2.7)と Pythonチュートリアルしかない たぶん出るとしても2016年なので どうしても英語が嫌なら他の言語に移った方がいい
なんでそんなに本が欲しいんだろう 読むものが欲しいならbottleのソースコードでも印刷すればいいと思います
695 :
デフォルトの名無しさん :2013/12/01(日) 17:14:52.91
「メタプログラミングPython」って本書いたら売れるかな
ここまでやるかギリギリモザ消しpythonの方が売れると思う
Python レシピブックなら欲しい
恋する pythonn おながいしまつ
Node.jsの雰囲気ってPythonのそれに似てるんだよな。
Python Under a Microscope をぜひ
「pythonで作る至高の彼女bot」
>>691 諦めて違う言語にすればいいと思うよ。
コードも思想も凄く好きなんだけど、
英語力が無いから諦めた。
俺はendが沢山あって見た目が好きになれない言語を渋々勉強することにした。
luaのことですね
Delphi かもしれないね(すっとぼけ)
はじめてのPython第三版も使えませんか? 実機は2.7です
Pythonってワンライナーに向いてる?
凄く向いてる
>>705 あれは蛇足だと思うよ
あなた既に1冊読み終わろうとしてるんだろう?
ほう! Perl5の-neや-peみたいなオプション使える?
そこは中身確認してから買おうぜ・・・ 地方だと厳しいかもしれんが、なか見検索くらい使え
import this して分からなかったら諦めたほうが良い
とりあえず、みんなのPython Web編PDF、愛知大学のPythonによるプログラミング入門PDF、公式python-doc-2.7ja1-pdf、Dive into Python3などでしばらく勉強して出費を抑えることにしました 今月Pythonによるデータ分析入門っての出るんですね
あらま -pや-n使えないってことは、標準入出力については 自分でコード用意するってことでOK?
どういう意味? 脳内言語で語られても判らん 相手に補完の手間をかけさせるな
pnはないので自分でループは書く というかPerlの代わりをさせるのは止めましょう 両方使う僕は止めることを推奨します 区切り文字がないので複数の文を書くには改行を入力してやる必要があり 結果として非常に醜いコマンドになります
>>721 >>722 dd
テキトーなのはPerl5で、
ファイルにコードを落とし込むのはPythonって
使い分けた方が良さそうっすね
>>720 正直スマンかった
>>723 糞みたいな使い分けで一貫性のないゴチャゴチャシステムの完成だな
>>714 がドヤ顔でURL貼ってるけど、質問者はそれを見た上で質問してるに決まってるだろ
どいつもこいつもアホだな
と思うだろ? でも最近のム板を見てるとググって一瞬でわかるようなことを聞く奴が多いし 検索ワードを選べないゆとりが増えたのかもしれない
マジか…
荒らしなのか本当なのかわからんが ゆとりとかアスペって言いたくはないが言いたくなるような書き込みが増えた 昔はムカつく奴いてもまだ会話が通じてたが今はそもそもIQ違いすぎて会話が成り立たないって感じだ
>>724 コマンドラインの書き捨てワンライナーなら
perlのほうがいいだろwっていう程度の話なのでは
シェルに埋め込む話だろJK
クダスレなのに敷居高いっすね、ここ
今の時間はおっさん憩いの場なんだよ
質問はくだらなくてもいいけど質問者に知性が感じられないと答えようがないからね
ゆとり世代って、47歳以上だからな。
>>735 それはゆとり以下のバブル馬鹿世代だろw
>>733 答えようがないならスルーしてくれ
罵倒や批判・皮肉は不愉快だ
この態度がすでに不愉快
ググらない 情報小出しにする 教えてもらうくせに態度でかい
わざとアホな質問をして反応を楽しむ場所なんだから マジレスすんなよ
複数行を入力させるのってどうすればいいですか? raw_inputじゃ改行のエンターで入力完了になってしまうんですが。
sys.stdin.read()
今度は入力完了させることができなくなりました。 どうすればいいでしょうか。
Ctrl-ZかCtrl-Dを押す
ありがとうございます、いけました。
747 :
デフォルトの名無しさん :2013/12/02(月) 13:26:30.28
オライリーのpythonクックブックは古くて使えないのかぁ 本格的に英語を読む決心をしないといかんのかなぁ
クックブック読むようなPythonマニアなら古い新しいとか勝手に脳内変換できるだろw
749 :
デフォルトの名無しさん :2013/12/02(月) 16:05:26.86
クックブックを読む層は中級者以上ですよ マニアまではいかない
ようこそここへー
9x9=81
>>749 中級以上が古くて使えないとか言ってんのかw
お前ら的外れなこと言う前に目次くらい見ろよ クックブックは2版と3版じゃ別物すぎるわ
754 :
デフォルトの名無しさん :2013/12/02(月) 22:33:40.48
なら、2版と3版を両方買うしかあるまい
苦行やな
>>747 エキPy、プロPy読んでから言ってんの?
まあ英語に苦手意識あんなら洋書買うだけで満足するのが目に見える
今からクックブック二版はまずい。2.4 対応とかまずすぎる 例えるなら今から初代プレステを買うようなもんだ
それは無能が読むからだろ
759 :
デフォルトの名無しさん :2013/12/02(月) 23:32:29.18
オライリーのPythonクイックリファレンスはどう? これも古いのかな?
760 :
デフォルトの名無しさん :2013/12/02(月) 23:39:51.43
とりあえず、オライリーの初めてのPyhonとエキスパートPythonを読めればいいや
Pythonは書籍の必要性を感じない ドキュメントと標準ライブラリのソースに全部書いてある
初学者には公式は固すぎる。
公式ドキュメントにはチュートリアルもあるんやで これみてわからへーかったらもう諦めたほうがええで
チュートリアルってプログラム初めてやる人にとっては難しいよ、知らん単語がバンバン出てくるし。 他の言語やり終えた人ならいけるだろうが。
765 :
デフォルトの名無しさん :2013/12/03(火) 01:12:47.03
それにクラスの説明も弱いし
そもそも他の言語でもプログラミング自体初めてだとどれもキツイ
767 :
デフォルトの名無しさん :2013/12/03(火) 01:24:47.23
それはあるなぁ 一番最初に勉強したCは始めはほんとにまったくわからんかった。 #include<stdio.h> は??ってな感じ。 わかってしまえばどうってことないんだけど
本来教える順序で言えばincludeより前に putsとかのプロトタイプ宣言を自分で書かせるのが筋 printfの可変長プロトタイプ宣言みたいな 結構後になってわかる概念なのに printfをいきなり使わせるのが悪い
それ以前に直接関係のないCの話はここでしないのが筋
まさかこんな時間に即レスもらえるとは思わなかった ありがとう でもこのスレにしても2ちゃんにしても 今より良くなることはもう無いだろうから 良い思い出になりました では死後と逝きます
操蛇Cね
今から始めるなら2 or 3 のどっちがいいの?
見飽きた。ログ漁れよ
776 :
デフォルトの名無しさん :2013/12/04(水) 03:17:05.72
七七七
webなら2 web以外なら3 かな
>>774 いいも悪いもない
どちらでもいいからこそ公開されている
好きな方で始めて、そのバージョンでは不都合があり
他のバージョンで解決できるとわかったならば移れば良い
3で始めたほうが良いに決まってるのに御託を並べる馬鹿
Ruby厨が「2 or 3 のどっちがいい?」っていう質問があることを叩いてたすぐ後にこれだし Ruby厨の荒らしだろ
web4.py
余裕があれば両方やればいい ただし3から始めると日本語文字列まわりで2が訳判らなくて使えない可能性がある というか3だと何が問題なのか気付かないままになる可能性が高い 将来2をやるつもりが全くないなら3からで良いと思うが 2をやってから3をやるとその辺は多分すっきり理解できる
初心者にしなくてもいい苦労を強いる馬鹿
だから将来2を使うつもりが全くなければ3で良いって言ってるじゃん 読解力ない馬鹿
無脊椎反射レスしてしまった スマソ
そんなオワコンライブラリ使ったらあとで困るだけ
明らかにお昼休みでもない時間にうだうだ言ってる人々の話は聞かなくていいです
nltk とかあるのよ
>>787 のほとんどは3へのアップデート表明してんじゃん?
全く音沙汰がないのはPasteくらい
アップデートが終わるまで開発しないという選択肢 ないと侖います
codecademyで勉強しているのですが、課題に詰まってもう一週間ほど足踏みしています。
どなたか、どうか解答を考えてくださいませんか?
pricesとstocksという2つの辞書にある値を、それぞれ掛けあわせた和を求めよという課題です。
loopを使うのが条件だと思います。
よろしくお願いします。
http://codepad.org/ls5KDCP8
795 :
デフォルトの名無しさん :2013/12/04(水) 16:08:04.94
loop処理書くの面倒くさくなったら、map関数使ってもええんやで result = map(lambda x: prices[x] * stock[x], stock.keys())
>>794 >>795 ありがとうございます!
お陰様で次のステップに進むことができました!
MAP関数というのは初めて知りました。
おいおい勉強します、
あと、"+="というのはどういう演算子ですか?
四則演算しかまだやっていないんです。
最近virtualenv知ったんですが,普通プロジェクトごとに環境作るものなんですか?
>>798 プロジェクト毎に作った方がなにかと便利じゃぁ〜ん
そうしないと別のプロジェクトとかでライブラリとか迂闊にアップデートして不具合の要因になったりしたりするじゃぁ〜ん
そういうのも防げるしPython2とPython3を同時にインストールしても問題でないじゃぁ〜ん
もっと言えばPythonのバージョンがたくさんあってもおkじゃぁ〜ん
800 :
デフォルトの名無しさん :2013/12/04(水) 20:34:58.35
>>787 >初心者だったら Python 2 と 3 のどちらでもたぶん大丈夫
>ただいくつかのライブラリは Python 3 に未対応なので注意しておく必要がある
これって良く言われるけどさ、重要なライブラリだったら3に移植されるんじゃないの?
移植されないってのは逆に重要じゃないという証拠じゃね?
そんなに3に対応してない2のライブラリ問題って起きてるの?
>>799 なるほど
ありがとうございます
自分もプロジェクトごとに作ってみます
物の重要さってのは普遍な価値観じゃないんだよなあ
ファイルを読み込んでfor line in openで読み込んで 最初の文字だけ読み込もうとline[0:1]すると文字化けして変なことになるんですが、 方法が間違ってるのでしょうか。 普通にlineだけだと文字化けしません
2でstr使ってるんじゃないですか 2のstrは一字とは限りません
>>804 ありがとうございます、解決しましたm(__)m
806 :
デフォルトの名無しさん :2013/12/05(木) 01:59:28.78
Pythonのコードの最適化のために気をつけたほうがいいことがあったら教えてください rangeじゃなくて、xrangeを使うべき、とか
>>806 Python3にxrange()はない。
まずはそのへんからかな。
808 :
デフォルトの名無しさん :2013/12/05(木) 02:15:08.57
>>800 昔はDjangoが3対応遅いと言われてたな
(遠い目)
809 :
デフォルトの名無しさん :2013/12/05(木) 03:33:53.27
俺も2.7.3使ってる
初めまして、お世話になります 質問なのですが 文字列を複数の文字列で分割したい場合はどのようにすれば良いのでしょうか? 具体的には dakjbnambtu このような文字列に対して split(a)とsplit(b)を同時に行いたい、といった要求です。 調べた限りではループで行う手段と正規表現を使う方法があるようなのですが、 前者は良い方法が思いつかず、後者では"unexpected end of regular expression"とエラーを吐きます。(これも、調べましたがよく分かりませんでした。) どなたか、未熟な私に解決手段を提示して頂けませんでしょうか? よろしくお願いいたします。
811 :
810 :2013/12/05(木) 05:27:27.22
補足になりますが、Mac OS 10.9でバージョンはpython2.7.5を使用しています。 環境依存ではないので関係ないとは思いますが… 連投、失礼しました。
宿題はyahoo知恵遅れでやれよ
pythonをeclipseで開発したい
pyDevやVSのpythonプラグインは導入が面倒だから IDEはPyCharmが良いと思うよ。どれも起動が糞重いから普段はほとんど使わないけど
vim か Emacs がおすすめ
818 :
デフォルトの名無しさん :2013/12/05(木) 10:57:03.83
eric4
そんな貴方にed お薦め。何たってシングルユーザーモードの Unixでも使える。:-p
edは終了の仕方を覚えておかないとたまにはまるw
IDEに頼ると開発能力が退化する気がするので ひたすらテキストエディッタです
「予約後の綴り」には詳しくなるかもな。
わからなくなったらipythonで確認
825 :
デフォルトの名無しさん :2013/12/05(木) 23:16:48.65
IDE使わなくても、vimがあれば十分!!
ヴィムゥ…
獣 の エ デ ィ タ
sublime textはダメなの?python製だけど
久しぶりにその名を聞いたよ
言語ごとにエディタ変えるとかの方がめんどくさいわ。
え?vimだって言語ごとに設定変えるだろ?
日本語不自由な奴が何言ってんだよ
CUIだけの専ブラを創ろうと思うんだが、需要あるかな
ある希ガス
キーボード操作のカチャ・・・ッターン!で見られると嬉しくなるね
言葉が足りなかった 既にある希ガス
どちらかというとNavi2chのほうが近いのでは
ピュアpythonならOS問わずに動くよ
>>821 IDEなんて使ってるとバカになるわよwww
って美人先輩に言われて、エディタだけで頑張ってたら
美人先輩はIDEを使いまくってたw
イジメられてただけだった……
禿丸最強ですね判ります
> 投稿日: 2013/12/05(木) 21:51:59.55
> 【依頼に関してのコメントなど】よろしくお願いします
> 【板名】プログラミング
> 【スレッド名】くだすれPython(超初心者用) その19
> 【スレッドのURL】
http://toro.2ch.net/test/read.cgi/tech/1382932315/ > 【名前欄】
> 【メール欄】
> 【本文】↓
> たすけてください
> mod_python 3.5をVC++2010Expressでコンパイルしたいんですが
> distフォルダに移動してから
> set APACHESRC=C:\apache24
> build_installer.bat
> ってやってもエラーでコンパイルできません
>
> Apache2.4.3とPython3.3.3使ってます
Python (あるいはもっと広くプログラミング全般)にまつわる本で このあたりはインターネット上のいろいろでやるんじゃなくて素直に本買うとよいよみたいな 本なり分野なりそういうのがあれば雑談ついででいいので教えてください。 英語力は十分として
Python3 になれば文字コードから開放されると思ってたが、どうやらこれからも文字コード周りのトラブルは続きそうだな。
mechanizeを使おうと思ったらpython3に対応していませんでした. 似たような機能でpython3に対応しているライブラリってありますか?
だからあれほどPython3はまだ早い、2年待てと言ったのに
自分で 3 対応させる気はない?
ライブラリに頼る人はライブラリに振り回されることになる 標準ライブラリ以外はなるべく使うなと言いたい
Pythonに限ったことじゃないけど外部ライブラリは突然メンテ終了する可能性があるからね そのリスクをどう捉えるかは結構重要 もちろんまったく考えていないのは論外だったりする
100%書き捨てだから全然考えてねえわ
外部ライブラリが依存してる別の外部ライブラリが原因で 元の外部ライブラリが使い物にならなくなってしまったりすると残念
Pasteとか
python3 のつもりで #!/usr/bin/env python2 import urllib2 with urllib.request(myaddress) as p: data=p.read() みたいなことをやると AttributeError: addinfourl instance has no attribute '__exit__' と怒られました.とりあえず with 使うのやめて手動で close() してるんですが, with を使ってうまいことやるのはできないでしょうか?
urllib.request じゃなくて urllib2.urlopen でした.typo. すみません
>>858 ありがとうございます!ちょうどデコレータにもちょっと慣れられそう
タイ━━━━||Φ|(|゚|∀|゚|)|Φ||━━━━ポ!!!
GAE が python3 対応してなくて辛いです先生
だからあれほどPython3はまだ早い、2年待てと言ったのに
GAEとかとっくの昔に捨て去られてるだろ
GAE は糞だけど ちょっとテストで使うのには便利
GAEは最近良くなってると思うけどねぇ。 フレームワークはGAE以外でも使えるし、データベースはMySQL使えるようになったから ロックインのリスクも減ったし。
最初からそうしとけば良かったんだよ
867 :
デフォルトの名無しさん :2013/12/09(月) 11:54:36.25
pythonのsort()は高速だけど、クイックソートがCで書かれてるん?
そうとも
timsortだっての
mergesortに似ているぬ
マージソート改で ソート済みデータとかに配慮したやつだっけ?
安定(stable)ソートっつうのはそういう意味だね
もともと安定ソートだろ
配慮って言葉が曖昧だから悪いのだ 正確に言え
875 :
デフォルトの名無しさん :2013/12/09(月) 19:26:37.14
L = ['1012001', '10121s21'] k = len(L[1]) for i in range(k): if L[1][i] == '2' or L[1][i] == 's': L[1] = 'auto' print L これを走らせると、 if L[1][i] == '2' or L[1][i] == '-': IndexError: string index out of range とエラーが出るんですけど、どこがまずいのかわかりません。 分かる人がいたら教えてください。 結果は L = ['1012001', 'auto']となってほしいです。
なんでソースに実在しない行のエラーが出るんだ
L = ['1012001', '10121s21'] k = len(L[1]) for i in range(k): if L[1][i] == '2' or L[1][i] == 's': L[1] = 'auto' break print L
>>875 捜査するリストや文字列の中でそのリスト・文字列を変更するな
変更するならbreakで抜けろ
というかその場合はいちいち文字列を操作せずに正規表現とか
if '2' in L[1] とかでいける
>>875 L[1] = 'auto' の時点で、L[1]は4文字しかない文字列になるんだから
8文字あるときに計った長さでループ回してたらIndexErrorになって当然だろう。
これやるならstrにしてfindしたほうが楽な気がするけどどうよ
881 :
デフォルトの名無しさん :2013/12/09(月) 21:18:45.69
Pythonってデバッガ無いの?
pdbはあるけどねえ… もう少し操作性がましな奴ないのかな Eclipseのpydevは駄目だぜ 鈍重すぎ
883 :
デフォルトの名無しさん :2013/12/09(月) 21:42:28.17
pdbは使ったことあるんだけど、あれはデバッガと言えないと思うんだよねえ。 じゃあ何て呼べばいいのかっていうと、普通に考えると「ゴミ」だと思うんだよねえ。 ゴミのせいでprintデバッグする人が増えるんじゃないのかなあ。
884 :
デフォルトの名無しさん :2013/12/09(月) 23:57:28.72
>>878 >>879 ありがとうございます。
アドバイスに従って書きなおしたら、ちゃんと走りました。
>>捜査するリストや文字列の中でそのリスト・文字列を変更するな
>>変更するならbreakで抜けろ
↑勉強になりました。
Rとmatlabは基本的なところは使えるレベルです。テキスト処理目的でpythonも使えるようになりたいんですが、良い入門書ないでしょうか?即時開発指南書はこのスレ的にはどうなんでしょうか。 ゆくゆくはバイオ系の解析やNLPにも使いたいです。
887 :
デフォルトの名無しさん :2013/12/10(火) 01:22:41.46
ただのデータ分析の教科書
889 :
デフォルトの名無しさん :2013/12/10(火) 02:31:22.18
Pythonでライブラリの使い方書いてあるだけ。 たぶん、Python使ってる人はライブラリの使い方を軽く説明してある本が お好みだろうから、そういう人にはいいんだと思う。 「集合知プログラミング」について学びたい人には期待外れだと思う。
>>882 俺はPyScripter使ってるけど軽いよ。
ブレーク中にシェルからコマンド実行できて
インタプリタは便利だね。
892 :
デフォルトの名無しさん :2013/12/10(火) 02:46:05.52
>886 ありがとうございます。書き方が悪かったです。テキスト処理と言うよりは文字列も含めたデータファイルを希望の形式に処理してRに連携させたいと思ってます。なのでpythonの一般的なことを書いてある本を探してるんですが…。 みんpyは第二版を古本で買ったんですが誤植が多いとのことで、即時開発指南書のほうがいいのか、他のがいいのか迷ってます。
うちのPythonが妊娠したみたいです でもまだ俺若いし責任とかとれません 堕ろしてくれる適切なライブラリを教えて下さい
easy_install から pip に乗り換える
896 :
デフォルトの名無しさん :2013/12/10(火) 10:55:41.61
virtualenvで避妊汁
スクリプト言語全般に言えるが コード一行の働きが高機能すぎるのと ネイティブコードを吐かないので デバッグがしにくいというのは皮肉な話だな
高機能と複雑さのバランスが上手くとれていないとうことかな
Python製の専ブラがないようなので作ってるんだが、書き込みはどうすればいいんだろう? フォームに送るのは非常識なやり方なのかな
livellaがpythonだったような 書き込みは普通にとーく2chとかを参考にpostすればいいんでね
専ブラには興味ないけど 忍法帳の偽造の仕方は気になる
FAQ Pythonでゲームを作るにはどうすればいいですか。
|....,,__ |_::;; ~"'ヽ | //^''ヽ,,) | i⌒" | ∀`) < 誰もいない きのこるならいまのうち |⊂ | ノ _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" |( ´∀`) < きのこ のこーのこ げんきのこ ♪ |(ノ |つ | | ⊂ _ ノ ""U _,,,......,,__ /_~ ,,...:::_::;; ~"'ヽ (,, '"ヾヽ i|i //^''ヽ,,) ^ :'⌒i i⌒" (´∀` )| < エリンギ まいたけ ブナシメジ ♪ ⊂| (ノ | | | ヽ _ ⊃ .U"" | | ミ | ミ サッ! | ミ |
┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘
Pythonでリアルタイムキー入力したいならやっぱりcurses?
>>881 えっ、pythonってデバッガないの?
907 :
デフォルトの名無しさん :2013/12/12(木) 00:53:03.56
908 :
デフォルトの名無しさん :2013/12/12(木) 01:40:46.60
Pythonで1人でゲーム制作をできるようになるにはどのくらい時間がかかりますか?
他の言語経験あれば1週間でいけんじゃね(適当)
こいつ他の言語のスレでも、どの位でゲーム作れるか質問してるから無視しとけ
冗談じゃなく無限大に発散して計算不能だろうな
数当てゲームなのか、3Dアクションゲームなのかによって違ってくる。
915 :
デフォルトの名無しさん :2013/12/12(木) 11:16:29.05
ゲーム作るならC++とかの方がいいんじゃない? それでなくてもPythonは処理速度が激遅だし
Ruby よりは速いんじゃね?
そういう寝言は処理速度がネックになるゲームを完成できるようになってから
速度が気になるならpsycoやpypyとかー
python 3.3使ってます. 文字列の整形に関する質問です. 文字列の% 表記で桁数を指定した場合,2byte文字と英数字の幅が考慮されずに空白が追加されますが 文字幅を考えて空白の数を減らすいい方法はないですか? 例: print("%10s\n%10s" % ("aaa", "あああ")) 出力 _______aaa _______あああ ↓こうしたい _______aaa ____あああ
923 :
921 :2013/12/12(木) 14:33:35.30
>>922 実はformatも試したんですが,2byte文字の幅を反映させるやり方は分かりませんでした.
924 :
デフォルトの名無しさん :2013/12/12(木) 14:33:53.94
unicodedata.east_asian_width(chr) 使うとか
だな 2byte文字って言うけどUTF-8だとほとんど3バイトあるしなあ
文字幅が2byte(キリっ
前の二人がスルーしてるんだし、そこはそっとしておいてあげーや
フォントも考慮してください
ここの過去スレかお勉強スレで概出だよ
自分はPythonにはアスキーテキストしか扱わせない 日本語文字を含むデータだと、どこでどんなバグが炸裂するか わからんから恐くて使えない エラーが出るならいいけど、知らずのうちに文字化けとか欠落とか されたらとんでもないことになる
馬鹿っぽいから喋らない方がいいぞ
>>932 自衛だよ自衛
Pythonのバグでビジネスに損害が出た時、
個人が趣味で作ったフリーの言語なので
バグは仕方ありません、なんて言ったら
社長にぶん殴られて懲戒処分になるからな
馬鹿っぽいから喋らない方がいいぞ
本当に喋らない方がいいわこれはw
こんな馬鹿を雇ってる社長が可哀想
頭悪すぎィ
ふだんレスのない過疎スレなのに こういう時だけワラワラ湧いてくるのなw Pythonユーザーの程度が知れるってもんだ まいいや GuidoさんがPythonのバグについて何の責任も取らない以上、 こっちは自衛しながら使うしかないのよね
そんなこと言ったらPythonだけじゃなくありとあらゆるシステムが使えないだろ そもそも何故Pythonを触ってるのか謎。というかプログラミングやめた方が良いと思う。割りとガチで
頭悪いってか頭おかしいの方だと思う
何か変な本とか、変なブロガーの金言()にでも影響されてんじゃないの
定期的にゴミが流れ着くのな
>>939 責任の所在なんだよね
VisualStudioのバグで損害が出たならば、マイクロソフトの営業部長あたりを
呼びつけて社長の前で謝罪・菓子折でも出させりゃ何とか納まるだろ?
ところがGuidoさんは何にもしてくれない。自衛するしかないじゃん
なぜPythonを触ってるかって?
システム開発費が出ないから、社員の誰かがタダで作れと言われて
Pythonに目を付けたのさ
馬鹿っぽいから喋らない方がいいぞ
面白いからもっとしゃべってw
久々に真性臭くていい
一番の責任はこの馬鹿を採用した人事部だろ
君らに聞きたいんだけど フリー言語を君らが使って、その言語の潜在バグで 会社に損害を与えた場合、君らは処分されないのかい? それはずいぶん羨ましい話だな
そうだねいい天気だね
>>948 RもPythonも普通に仕事や研究でみんな使ってるよ
お前は同業他社と会話することもないのか
あまりの衝撃にろれつが回らなくなってる方もいらっしゃるようだ
会社がVisualStudio買ってくれないからPython(笑) こんな衝撃は生まれて初めてだわ
そもそもVSで開発しても、例えばC/C++の仕様上による不具合を MSが保証してくれるわけ無いだろw
その場合は標準化委員呼ぶんだろw 江草とか
ゲイツ来いよ
責任の転嫁先ありきなのです
随分なブラック企業にお勤めの様で
コマンドプロンプトで簡単に2.7と3.3を切り替えれる方法ないですか? 教本でdistribute、pipをインストールさせるところをやってるんですが、 2.7がデフォなためC:\python distribute_setup.pyと打ち込むと、 2.7の方だけにditributeがインストールされます。easy_install pipも同様です。
virtualenv のことじゃなくて?
963 :
デフォルトの名無しさん :2013/12/13(金) 10:38:50.81
>>959 この本に本当に期待してる
オライリーの『python web programming』も翻訳出て欲しい
>>961 windowsでもPythonのバージョン切り替えみたいなこと出来ますか?
ぐぐったらvirtualenvwrapperはwindowsじゃ使えないとか書いてるんですが。
2.7で作ったファイルをコマンドプロンプトから動作確認したい時があるので3.3と2.7を気軽に切り替えたいんです。
966 :
デフォルトの名無しさん :2013/12/13(金) 12:13:51.69
wrapperはWindowsでは使わない方が良いけど virtualenv本体はWindowsでも使えるでしょう
Windows のログインアカウントを別に作って そっちに別バージョンの Python 環境用意して その都度ログインし直して使うんじゃなくて RunAs でアカウント指定して実行とかが楽というか一番安全かも
>>967 わかりづらくてすいません。
インタラクティブシェルをバージョンごとに起動したいんじゃなくて、
コマンドプロンプトから>pip install ~~ とした時に
パッケージやモジュールを2.7と3.3の両方にダウンロードさせたいです。
いまだと2.7がデフォルトになっているので3.3の方にダウンロードされません。
その設定を簡単に変えたいんですが・・・
>>969 > py -2.7 <path_to_pip> install ...
> py -3.3 <path_to_pip> install ...
とかいける?
設定というか、2.7のpipと3.3のpipはそれぞれ別の実行ファイルだろ バッチファイル書いてパス通したフォルダに置いとけ
>>970 path_to_pipのところはpipがあるフォルダのアドレスを書けばいいんですか?
2.7の方にはpipインストールできたんですが3.3の方はdistributeを入れた所で止まってます。
プロンプトからpipを入れる場合もpy -3.3 <path_to_distribute> easy_install pipみたいな感じでしょうか?
>>971 始めたばっかなんでバッチファイルの書き方すらわからないんです・・・
>>972 バージョン付きのコマンドがインストールされているはずなのでそれを使え
> pip-2.7 install hoge
> pip-3.3 install hoge
>easy_install-3.3 pipで3.3のpipもダウンロード出来ました、 pipもdistributeも-の後にバージョン番号をいれてやれば使い分けれるんですね、ありがとうございました。
>>974 いやバージョン番号を入れて切り替えるオプションがあるわけではない
自分でパスを通したはずのScriptsフォルダを見てみろ
そういう名前の実行ファイルがあるだけ
それがないipythonやpep8とかではムリ
pythonのunit testでのデファクトはunittest? ありすぎてなに使えばいいかわからん
昔から思ってたけどデファクトと略す意味が分からない 残すならスタンダードの方だろ スーパーマーケットをスーパーと言っちゃう日本人の馬鹿さは滲み出てて嫌だ
コンビニをストアと言ったらユニークネスのない名前になるだろwデファクトもそう スーパーはスーパーでもマーケットでもユニークな名前だが特徴を表してるのは前者だな で、何の話だっけ?
デファクトスタンダードをスタンダードって略したら意味ねえだろカス
デファクト(キリッ
イケてる俺はデって省略するよ
お前らユニットテストの話してやれよw
しょうがねぇーな デはnoseだ
ああ?いいんじゃねunittestモジュールで
全てのデファクトな何かと被ってるだろ
デファクトスタンダードしか語彙がないから平気で略すんだろうな de facto husbandとかも使うよ
1000げと
1000ならPython2.8が電撃発表される
Python2に固執してる奴がだんだん老害に見えてきた
ほう ここに来て老眼が治り始めたようだな君は
2.7と3.3を混在させるときは どっちを先にインスコするのが良いですか? Windows8です
断然2.7
どっちでもいいよ
windowsならどっちも変わらねーw
俺がPythonだ!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。