1 名前:デフォルトの名無しさん mailto:sage [2009/05/24(日) 19:25:51 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、 お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>950 辺りで 前スレ くだすれPython(超初心者用) その3 pc12.2ch.net/test/read.cgi/tech/1232055225/ 関連スレ Pythonのお勉強 Part33 pc12.2ch.net/test/read.cgi/tech/1240678081/
285 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:10:41 ] よくわからんが、cをforの前に持ってこないとずっと1のままじゃね?
286 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 23:28:52 ] 俺だったらenumerate使うけど まぁいいか
287 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 00:28:37 ] >>284 なんかいろいろまちがっててよくわからんけど こうしたかったんじゃないか? # -*- coding: utf-8 -*- import os targetpath = r"C:\test" filelist = os.listdir(targetpath) for filename in filelist: print filename c = 1 for filename in filelist: oldpath = os.path.join(targetpath, filename) newpath = os.path.join(targetpath, '%03d.mp3' % c) os.rename(oldpath, newpath) c += 1
288 名前:デフォルトの名無しさん [2009/06/25(木) 18:43:09 ] >>287 スマートな正解をありがとうございます。 とても参考になりました。 renameへの引数はこのようにするんですね!
289 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:07:30 ] このプログラム添削してください。 animal = [dog,cat,pig,lion,deer] num = [1,2,3,4,5,6] print animal[0] "は"num[0]"番可愛いです。 print animal[2]"は"num[5]"番可愛いです。 あってますか? ちなみに dogは1番可愛いです pigは6番可愛いです と表示させたいです
290 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:32:36 ] >>289 1から勉強しなおせ animal = ["dog", "cat", "pig", "lion", "deer"] num = [1, 2, 3, 4, 5, 6] print "%sは%d番可愛いです。" % (animal[0], num[0]) print "%sは%d番可愛いです。" % (animal[2], num[5])
291 名前:デフォルトの名無しさん mailto:sage [2009/06/25(木) 23:58:38 ] >>289 おまえセンス無いわ
292 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 02:27:36 ] センスとか関係ないし 釣りの可能性はあるが
293 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 02:36:29 ] でも具体的なコード貼って添削してくれってのはアリだね 初心者に説明してもらってもイミフなケース多いし
294 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 06:18:15 ] スレと関係ないんだけどさ、俺「釣り」とか「釣り師」っていうのは、 釣り師 ↓ . /| ←竿 ○ / | . (Vヽ/ | <> | ゙'゙":"''"''':'';;':,':;.:.,.,__|_________ | 餌(疑似餌)→.§ >゚++< 〜 の組み合わせだと思ってたんだけど、 最近自称釣り師がダイレクトで自分の本音を攻撃されて「釣れた!」とか 言ってるの多いよね。 これは、どっちかというと、 ,〜〜〜〜〜〜 、 |\ ( 釣れたよ〜・・・) | \ `〜〜〜v〜〜〜´ し \ ゙'゙":"''"''':'';;':,':;.:.,., ヽ○ノ ~~~~~|~~~~~~~ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ト>゚++< ノ) かと思うんだけど、どうよ?
295 名前:デフォルトの名無しさん mailto:sage [2009/06/26(金) 23:25:30 ] >>294 そんなコピペで
296 名前:デフォルトの名無しさん [2009/06/27(土) 00:15:10 ] 他にも添削希望いないのかな
297 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:04:04 ] Pythonは、あることを書くときに「なるべく誰でも書き方が同じになるようにしよう」 というのはいいです。 でもあることをしたい時に「ライブラリがすごいたくさんあっちゃって混乱してるけど すきなの選んで」って勘弁してほしいんですが
298 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 16:49:36 ] 勘弁します
299 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 22:27:43 ] >>297 それはPerlのCPANじゃね? Pythonは標準ライブラリが充実している分、たくさんのサードパーティー ライブラリの中からマトモなのを探す手間が省けることが多いよ。
300 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 02:25:50 ] つきなみだけど 同意
301 名前:デフォルトの名無しさん [2009/06/28(日) 09:18:41 ] FTPで対象のファイルがディレクトリかどうかはどう判断すればいいでしょうか? マニュアルを見ましたが、該当のコマンドが見つかりませんでした. www.python.jp/doc/2.4/lib/ftp-objects.html nlst() で片っ端から試して例外処理で取得する方法を思いつきましたが もっとスマートな方法はありませんか?
302 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 11:42:42 ] ls -lR
303 名前:デフォルトの名無しさん [2009/06/30(火) 22:07:59 ] すいません添削ってわけではないですが、質問させて下さい。 1から100までの数字で不定期に続くリストがあります。 cnt=[2,3,5,9,12,23,56,62,68,75,85,95] でどの数値が抜けているのかを調べる。 #coding:utf-8 cnt=[2,3,5,9,12,23,56,62,68,75,85,95] num=range(1,101) for i in cnt: #numから繰り返し変数iを引きたいんだけど、何が一番スマートだろ… print num
304 名前:デフォルトの名無しさん [2009/06/30(火) 22:13:41 ] 書き忘れました。 #coding:utf-8 cnt=[2,3,5,9,12,23,56,62,68,75,85,95] num=range(1,101) for i in cnt: num.remove(i) print cnt がベストかと思うんですが…間違ってますか?
305 名前:デフォルトの名無しさん [2009/06/30(火) 22:15:36 ] 最後はprint num でした。度々すいません
306 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:16:13 ] setでも使え
307 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:19:36 ] [ x for x in range(1,101) if x not in [2,3,5,9,12,23,56,62,68,75,85,95]]
308 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 22:22:16 ] set(num) - set(cnt)
309 名前:デフォルトの名無しさん [2009/06/30(火) 22:28:35 ] そういうのも可能なんですね ありがとうございます。 どーしょーもない質問ですいませんでした
310 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 18:25:23 ] ちんこ生えてきた
311 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 02:41:46 ] >>310 今度は大事にしろよ。
312 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 05:25:27 ] ┌─┐ │●│ └─┤ _ ∩ ( ゚∀゚)彡 ┌─┬⊂彡 │●│ おっぱい!おっぱい! └─┘ おっぱい!おっぱい!
313 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:39:22 ] if文で一度に複数の変数、たとえば if a>0 and b>0 and c>0: みたいなのは無理ですか?
314 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:48:17 ] >>313 そんなの聞くよりやった方が早いだろ。 普通に対話型でもできるし。
315 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 11:48:33 ] 可能です
316 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:00:10 ] if 0 < a < 5: と書いてもエラーにならない処理系はありますか
317 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:02:38 ] ある
318 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:07:23 ] Pythonにはない。 あと、エラーにはならなくとも、おもいがけない意味になることもある (C言語とか)。
319 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:12:13 ] >>318 >>318 >>318
320 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:22:05 ] (回答者が)超初心者用
321 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:27:42 ] Rubyなら全部できるよ^^
322 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 13:32:12 ] >>318
323 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:47:17 ] >>318 0 < (a < 5) または (0 < a) < 5 ということですか?
324 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:53:34 ] #include <stdio.h> int main(int ac, char *av[]){ int a; for(a = 0; a <= 5; a++) if(0 < a < 5) printf("%d: true\n"); else printf("%d: false\n"); return 0; } # if(0 < a < 5) 0: true 1: true 2: true 3: true 4: true 5: true # if(0 < (a < 5)) 0: true 1: true 2: true 3: true 4: true 5: false
325 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 15:05:43 ] >>318
326 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:24:50 ] じゃあ、俺も一応 >>318
327 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:11:57 ] 0: false 1: true 2: true 3: true 4: true 5: false になるようにするにはどうすればいいですか
328 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:18:01 ] >>324 C/C++スレに帰れ 0 < a && a < 5
329 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:21:22 ] Cはa < b < cはどうやってもダメだけどPythonは意図通りに動くだろ、確か >>324 はきちんと動いてないし
330 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:24:13 ] きっちり正しく動いていて、書いたほうがアホと言う方が正しい
331 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:28:31 ] >>318
332 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:43:56 ] >>330
333 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:44:45 ] まいんまいん
334 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 17:47:34 ] >>318
335 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 22:17:47 ] lispで (< 0 a 5) 当然Rubyなんかには出来ません
336 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:07:38 ] (setq a 3) 3 (< 0 a 5) t >>> a = 3 >>> 0 < a < 5 True
337 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:22:22 ] a > b > c > dは t = b u = c a > t and t > u and u > d ってことか。これはきもいなー。 Python3でも変わってないのね。 まあ、気にしないことにしよう。
338 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:27:34 ] Cをはじめた初心者がうっかりやりがちなぐらい自然な記法なのに!
339 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:31:57 ] Pythonの三大ステキ機能のひとつにケチをつけるとはいい度胸だ
340 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:45:06 ] bが最大であることをテストするのに a < b > c #これはいただけないよね?だからと言って b == sorted((a, b, c))[2] #これは頭がおかしい
341 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:50:58 ] Python > Ruby > C
342 名前:デフォルトの名無しさん [2009/07/04(土) 00:05:09 ] (a and c) < b
343 名前:デフォルトの名無しさん [2009/07/04(土) 00:09:40 ] a, b, c, d のなかで bが最大であることをテストするのに a < b > c に d を加えられない sorted の方が正解
344 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:11:34 ] >>342 は何がしたいんだ
345 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:12:11 ] max(a, b, c, d) == b
346 名前:デフォルトの名無しさん [2009/07/04(土) 00:15:07 ] reduce(lambda x, y: y if x < y else x, [5, 2, 7, 3])
347 名前:デフォルトの名無しさん [2009/07/04(土) 00:16:53 ] reduce は 2.6 以上では使えないんだっけ
348 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:19:19 ] functools.reduce に移動しただけだから問題ないよ
349 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:20:23 ] any(x < b for x in (a, b, c))だろ、常識的に考えて……
350 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:24:28 ] つーか、もう比較アルゴリズムの話だろ。
351 名前:デフォルトの名無しさん [2009/07/04(土) 00:50:00 ] web から取ってきた HTML を食わせて、XPath でデータを取り出したい。 正書式でなくても適当によしなに計らってくれるとなお嬉しい。 Ruby だったら Nokogiri みたいだけど、Python では何?
352 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:55:37 ] >>351 - BeautifulSoup - lxml
353 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 01:44:26 ] >正書式でなくても適当によしなに計らってくれるとなお嬉しい。 lxml だと無理?
354 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 02:18:39 ] lxmlもがんばってくれるよ
355 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 06:15:05 ] any(x < b for x in (a, b, c))だろ、常識的に考えて……
356 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 10:06:22 ] any(b<=x for x in (a, b, c))
357 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 11:50:56 ] class Hogeがあったとして、 "Hoge"からはどうやってアクセスするんだっけ? あと、こういうのを一般的に言って、どんな専門用語でしたっけ?
358 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 11:53:48 ] >>357 globals()["Hoge"]
359 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:01:54 ] >>358 ありがとうございます。
360 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:11:41 ] イントロスペクションとかリフレクションとかそのへんの用語を求めてる?
361 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 12:43:47 ] >>360 イントロスペクションってのは初めて聞いたので、調べてみます。 単に、eval("Hoge")みたいなのと勘違いしていた模様。
362 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 13:21:52 ] Hoge.py 内に class Fuga があったとして、 "Hoge", "Fuga" からはどうやってアクセスするんだっけ?
363 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 13:23:23 ] Hoge.py 内に class Fuga, method Hage があったとして、 "Hoge", "Fuga", "Hage" からはどうやってアクセスするんだっけ?
364 名前:デフォルトの名無しさん mailto:sage [2009/07/07(火) 13:31:07 ]
365 名前:デフォルトの名無しさん [2009/07/07(火) 13:34:51 ]
366 名前:デフォルトの名無しさん [2009/07/10(金) 09:36:03 ] age
367 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 09:49:45 ] おはようございます。 わたし16歳の女子高生ですけど Python始めるにあたって最初に読むべき本は ありますか?
368 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 10:08:35 ] ないよ
369 名前:デフォルトの名無しさん mailto:sage [2009/07/10(金) 13:44:13 ] こんにちは。 わたし15歳の巨乳グラビアアイドルなんだけど みんなでPythonやろうよ。
370 名前:デフォルトの名無しさん [2009/07/10(金) 13:59:45 ] みんなでPython www
371 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 05:24:24 ] Good Morning, Everyone!!!! I am a thirteen years old girl. I will start learning Oppaithon Programming. Please teach me chome-chome.
372 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 05:35:52 ] chome-chomeとか団塊レベルじゃないと使わないだろう普通
373 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 06:18:10 ] コメコメ?アスタリスクのこと?
374 名前:デフォルトの名無しさん [2009/07/11(土) 09:33:34 ] いつもの英語下手なひとか
375 名前:デフォルトの名無しさん [2009/07/11(土) 12:39:50 ] OptionParserについて質問です #!/usr/bin/env python # coding: utf-8 from optparse import OptionParser parser = OptionParser() parser.add_option('-f', '--fuga', action='append', type='string', dest='fugaList', help='fugafugafuga') (options, args) = parser.parse_args() print options.fugaList ※上記のスクリプト名を仮にfugaとする 実行例1: $ ./fuga -f hoge piyo ['hoge'] 実行例2: $ ./fuga -f hoge -f piyo ['hoge', 'piyo'] 複雑なオプション指定による処理分岐を行いたくてOptionParserを使い始めました 実行例1のように一つのオプションに多数の引数を渡して、 実行例2の結果['hoge', 'piyo']のように"options.fugaList"に 引数を代入したいのですが、可能でしょうか? 可能ならアドバイスをお願いします
376 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 12:55:13 ] 一つのオプションに対して複数のオプション引数を許したら 後に続くであろう固定引数が存在するかしないか確認する術がない気がする なので素人考えだけど -f"hoge,piyo" でごまかすとか
377 名前:デフォルトの名無しさん [2009/07/11(土) 13:22:26 ] >>376 レスありがとうございます >>275 にこのスクリプトの使用目的を書いていなかったので 後出しになってしまいますが $ ./fuga hoge_* のようにコマンドラインからワイルドカードを使用して、 複数のファイル名をオプション引数に渡して利用するのがメインなので -f"hoge,piyo" ではちょっとごまかせないです。。。
378 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 17:38:38 ] そういう場合-fオプションがあったらどういう動作をする、という風に作るものであって -fオプションにパラメータをぞろぞろ渡すという風にはしないだろ、普通。
379 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 20:33:47 ] A/B/__ini__.py で変数を定義 hoge = 'hogehoge' A/B/module_x.py というモジュール内でhogeを使いたい場合、どうすればいいのかを教えてください。 import hoge ではダメなんですか?
380 名前:デフォルトの名無しさん mailto:sage [2009/07/11(土) 21:02:00 ] >>379 コピーでよけりゃ from . import hoge
381 名前:375 mailto:sage [2009/07/12(日) 02:57:27 ] >>378 確かに普通はそうかもしれませんね。。。 という訳でOptionParserではワタシがしたいことが出来なさそうなので 自分でモジュールをつくることにしました どうもありがとうございました
382 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 03:26:51 ] どういたしまして
383 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 07:40:36 ] >>377 OptionParserなりgetoptで "hoge_*" を文字列として受け取ってから glob でワイルドカードを展開すればいいんじゃまいか。 ためしてないけど Linux/Unix 環境だとワイルドカードはシェルによって 展開されてからプログラムに渡されるので ./fuga -f "hoge_*" のようにコマンド引数をクオートして書く必要がある。
384 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 09:37:55 ] きたああああああああああああああ UnicodeDecodeError出なくなった!
385 名前:デフォルトの名無しさん mailto:sage [2009/07/12(日) 10:08:02 ] >>384 どうやった? まさか setdefaultencoding() じゃないよな? from __future__ import unicode_literals して、テキストファイルのファイル入出力は import codecs codecs.open('foo', encoding='cp932') のようにエンコーディングを指定してファイルを開くのが正しい方法だぞ。