1 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 16:32:25.91 ID:S1lkLDnv.net] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その36 mevius.2ch.net/test/read.cgi/tech/1514805522/
279 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 23:09:57.05 ID:QNR3RY4l.net] まじめにライセンスを読むのはいかがわしい事を考えてる奴だけ説
280 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 23:13:13.16 ID:DormuVYu.net] ぐう正論
281 名前:デフォルトの名無しさん mailto:sage [2018/04/11(水) 23:54:01.75 ID:VAa2HaB9.net] @GPS取得 ↓ Aネットにあるjsonを取得 ↓ BGPS内容・json内容を0.5秒おきに出力 ↑の処理をするプログラムを組んでいます。 @はすぐ処理が終わるので問題ありませんが、Aは使用環境が外でモバイル通信を使用しているためかAの処理だけで最大5秒かかることがあってBの処理が大幅に遅れてしまいます。 Aのみ裏で処理して、@とBをループさせたいのですが、いい方法ありますでしょうか?
282 名前:275 mailto:sage [2018/04/12(木) 00:05:44.68 ID:qBx4xR6B.net] 先ほどの書き方だとjsonを0.5秒以内に取得するということになってしまうので修正します。 @GPS取得(0.5秒ごとに処理) ↓ Aネットにあるjsonを取得(10秒ごとに処理) ↓ BGPS内容・json内容を出力(0.5秒ごとに処理) 10秒に1回以外は@とBのループなので問題ありませんが、↑の処理だと10秒に1回はAを処理するときに時間がかかってしまってBの処理が0.5秒で処理できなくなってしまうのが問題です。
283 名前:デフォルトの名無しさん [2018/04/12(木) 00:15:41.74 ID:4IaDzy3O.net] 2を実行するために1の結果が要らないならご自由に
284 名前:275 mailto:sage [2018/04/12(木) 00:53:20.19 ID:qBx4xR6B.net] スレッドという処理があったのでこれを使えばいけそうでした 自己解決すみません。
285 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 00:58:33.43 ID:3KpeTxH4.net] 俺ならGPSロギングとJSON取得はそれぞれ全く別個に作って別プロセスで動かすわ 結果はタイムスタンプを使って後で結合すればいい
286 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 01:08:15.09 ID:iaId0hiD.net] f = open("precictor_result.txt","a") f.write(result," ",predict," ",data_test,"\n" ) f.close() これだと、引数が多いとエラーが出る ,の代わりに+を使うと、数値として計算するようで、 TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U21') dtype('<U21') dtype('<U21') とエラーが出る とりあえず、簡単に出力させて中身を確認したいがどのようするのがスマートだろうか?
287 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 01:20:58.84 ID:ViqCrKfL.net] 変数が何なのかは知らんが >数値として計算する なら文字列に変換すれば良いだろ
288 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 01:27:04.11 ID:iaId0hiD.net] >>281 レスありがとうございます 変数全てに対して文字列に変換するのが面倒で・・・ 例えば、 print(result," ",predict," ",data_test,) であれば問題なく出力されますので ファイルに保存する場合ももっとスマートにできる方法があれば助かります
289 名前:遊園地 mailto:sage [2018/04/12(木) 01:37:46.68 ID:tAnO53/m.net] これで、良いのかな? f = open('text.txt', 'r') for i in f: print (str(i)) f.close()
290 名前:遊園地 mailto:age [2018/04/12(木) 01:39:14.90 ID:tAnO53/m.net] 見たら分かると思うけど、 f.write( str(i) ) と言う構想
291 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 02:29:34.74 ID:iaId0hiD.net] ありがとうございます。 f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" ) でうまくいきました。ただ、大量の変数を出力する場合、 標準出力ではうまくいくわけですから、全て文字列にキャストするのはちょっと面倒と感じています。 例えば、 print(result," ",predict," ",data_test) #実際にはもっと多くの変数が並ぶ こんな場合、これではエラーが出ますが、イメージとしては、 f.write( str((result," ",predict," ",data_test)) ) のような物でもあればもっと気軽にファイル出力できるような感じです
292 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 03:01:07.44 ID:M9kW+xEA.net] str = [result, predict, data_test] for i in str f.write() これで動くっけ?
293 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 04:00:58.45 ID:T93bDVFD.net] >>275-279 スレッドは、同一プロセスだろ。 こういうのは、別のプロセスでよくある 数秒毎に書き込むプロセスAと、1秒毎に読み込むプロセスBがある B は、ファイルをスタンプを見て、 新たに書き込まれた情報が無ければ、. を出力して、 新情報があれば、o を出力するみたいなやつ 制御・組み込み系で多い ...o....o...o.....o....o..
294 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 04:10:10.14 ID:T93bDVFD.net] name = 'John' age = 20 + 3 print "名前は #{name}、年齢は #{age}歳" Ruby では、テンプレート文字列って言うのかな? 文字列の中で、式を展開できる。 最終的に、変数が文字列型に変換される Python には、こういう機能が無いのか?
295 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 04:49:22.42 ID:t3ixnFe0.net] >>280 printは引数を強制的に文字列に変換するうえに キーワードオプションで出力先を変更できるから 以下で通るはず。空白も改行も勝手に入る 詳しくはドキュメントの「Python標準ライブラリ-組み込み関数」を参照 print(result, predict, data_test, file=f)
296 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 06:25:29.02 ID:t3ixnFe0.net] >>288 文字列中での式展開はPython3.6から実装された 3.6以前ではこの機能がなく、%記法やstr.formatメソッドを使う %記法 print("名前は %s、年齢は %d" % (name, age)) str.formatメソッド print("名前は {}、年齢は {}".format(name, age)) フォーマット済み文字列リテラル print(f"名前は {name}、年齢は {age}")
297 名前:遊園地 mailto:age [2018/04/12(木) 09:27:33.72 ID:tAnO53/m.net] >>285 データ構造が不明だから、何とも言えない。 何処かで、 書き込むべき内容を1つのリストに纏めたり できない?
298 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 10:53:13.19 ID:iaId0hiD.net] >>291 Pythonを初めて2日目でデータ構造についても正直よく分かってないです import pandas as pd from sklearn.ensemble import RandomForestClassifier from sklearn import cross_validation, metrics from sklearn.externals import joblib import warnings warnings.filterwarnings("ignore") mr = pd.read_table("test-data.txt",header=-1) mr = mr[0:70] clf = RandomForestClassifier() clf = joblib.load('cars.pkl'); for row_index, row in mr.iterrows(): result = row.ix[0] data_test = row.ix[1:] predict = clf.predict(data_test) f = open("test.txt","a") print (result," ",predict," ",data_test ) f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" ) # 標準出力を、ちょっとファイルに出力して中身を確認したいだけで全てキャスト(今は3つなので良いが10くらいになると面倒)するのは面倒なので上の行をもう少し簡素にしたい f.close()
299 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 10:53:50.49 ID:iaId0hiD.net] >>289 標準出力にその機能があるなら、writeでも何とかならないでしょうかね? >>286 str = [result, predict, data_test] for i in str: f.write(i) 残念ながら、 TypeError: write() argument must be str, not numpy.int64 という結果が
300 名前:\示されます [] [ここ壊れてます]
301 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 11:12:19.94 ID:t3ixnFe0.net] >>293 これはprint関数の機能だからwriteでは使えないよ こう変えるだけなんだけど、どうしてもwriteじゃなきゃいけないの? f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" ) ↓ print(result, predict, data_test, file=f)
302 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 11:18:36.95 ID:JyHXEe/D.net] resultとかの各変数の中身が文字列じゃない気がする
303 名前:遊園地 mailto:sage [2018/04/12(木) 11:38:42.18 ID:tAnO53/m.net] pandasは触った事ないから、協力できない。 差支えが無ければ、test-data.txtの中身(記述形式)を教えてくれ。 でたらめな数値や造語で良い。そうしたら、何か分かるかも。
304 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:03:51.11 ID:iaId0hiD.net] >>294 出力されたデータをExcelでグラフにしたり検証したい時などとりあえずテキストデータにしたいのです 普段はperlを使っているのですがそれだとprintそのままにファイルハンドルを付けるだけで 標準でもテキストでも好きに出力できるので同じような使い方ができればと思っています どちらも出力させて、画面で分かるものはそれでいいですし、 詳細な検討がしたい場合はファイルをExcelなどで開いて再検討する感じです また、pythonやpandasに慣れて居らずその結果が不安で適宜Excelの結果と照合したいというのもあります 本当はperlでやりたいのですが機械学習について調べているとPythonのモジュールを使う物ばかりで・・・ >>296 生データそのままです 0 1 1 100 99 98 97 101 0 1 1 101 100 99 98 97 1 1 1 97 101 100 99 98 1 1 1 98 97 101 100 99 1 0 1 99 98 97 101 100 1 0 0 100 99 98 97 101 1 0 0 101 100 99 98 97
305 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:10:53.36 ID:CLTBB0jT.net] 画面に出力する(普通にprintする)プログラムを作って、 ファイルに保存したい場合には foo.py > filename という風に実行する、 というやり方はご存知ですか?
306 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:16:50.63 ID:rOwLVxdy.net] てかパンダ使ってるならそっちで出力すれば?
307 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:40:44.41 ID:T93bDVFD.net] in/out を、標準入出力にしておけば、パイプでファイルにつなげられる スクリプトファイル < 入力ファイル > 出力ファイル
308 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 12:44:49.97 ID:iaId0hiD.net] >>298 ,300 おぉーその方法がありましたか 大昔DOSで使ったことがありますが完全に忘れていました! >>299 とりあえずサンプルプログラムをそのままでpandasもpythonもまだ使いこなせていません 色々なtypeがある場合でも、さくっと出力してくれますか?
309 名前:遊園地 mailto:sage [2018/04/12(木) 12:53:53.14 ID:tAnO53/m.net] 聞けば聴くほど分からなくなってくる。 取りあえず出力したいなら、 >>290
310 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 13:02:34.85 ID:O7jP9sqH.net] >>301 Pythonを初めて2日目じゃ何もわからないだろう ここの連中が言っているアドバイスすら理解不能だろ 一通りさっとでもPython学習をやってから>>292 のようなコードに臨んだほうが良い
311 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 17:20:28.88 ID:t3ixnFe0.net] >>297 print(result, predict, data_test) # 標準出力に出力 print(result, predict, data_test, file=f) # ファイルハンドル f のファイルに出力 これが理解できないならもうワシは知らん
312 名前:デフォルトの名無しさん mailto:sage [2018/04/12(木) 21:11:22.45 ID:iaId0hiD.net] >>303 貰ったアドバイスは一応理解できてると思う ただ、以前perlを覚えた頃は掲示板をネットで調べたり、大量のサンプルプログラムを眺めたり 書き換えたりしながら完全に独学で覚えたから用語などがいまいち分からない 良い勉強方法があるなら知りたい ↓についても、その勉強方法ならアドバイスを聞くだけで分かりそう? >>304 ありがとうございます お手数おかけしましたが無事動作しました fh.write() としていて動作が失敗していました コメントアウトしたら動作しました
313 名前:遊園地 mailto:sage [2018/04/12(木) 22:31:11.19 ID:tAnO53/m.net] 俺もperl5やってたけど、公式ドキュメントが有った。 それと同じ様にpython公式ドキュメントをやれば良い。
314 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:12:20.04 ID:vvfD6Twp.net] pythonスレでperlとかrubyとか言い出す奴は やべー奴ってことか
315 名前:デフォルトの名無しさん mailto:sage [2018/04/13(金) 19:46:32.40 ID:fIxp3q6f.net] そりゃCバリバリ書ける奴から見ればそうだろうな
316 名前:デフォルトの名無しさん [2018/04/14(土) 00:27:21.50 ID:fnrer+0Y.net] どこスレでもCとか言い出す奴はアルティメットアンタッチャブル
317 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 00:27:46.56 ID:yt2qqJ9Q.net] >>307 このスレでperlとかrubyとか言い出す奴はperlとかrubyを超使えるやべーレベルの人だからな そんな人からすればpythonは言語としてperlとかrubyより使えねーとなるだろうな。
318 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 00:46:34.06 ID:EDFUWN6E.net] perlやruby使いが出てきたら、「機械学習」って唱えれば退散するよw
319 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 01:05:01.45 ID:dSQ5MB/j.net] 配列の要素数が、 len(list) Python は、頭おかしいw この式を、どう解釈せえっちゅーんや! 一方、Ruby では、オブジェクト指向。 ary.length
320 名前:デフォルトの名無しさん [2018/04/14(土) 01:25:52.09 ID:4BsAOclQ.net] >>310 いや、python使えねーって言うやつはある程度pythonを知っているやつだろう。知らなければ批判も感想もないわけだから。 俺もほとんどわからないから何とも言えない。これまでPerlやCばっかり使っててpythonやろうと思わなかったから。
321 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 01:59:01.25 ID:yt2qqJ9Q.net] >>313 perlの人はPythonを少しは知っているだろ Pythonプログラム書いているんだし Perlの人はPythonならPython1日目よりsklearn、pandaを使ったプログラム書ける自信があるという感じで始めたんだろうが。 その自信の元はperlを超使えるやべーレベルな気がする でも、スレで無様をさらすことになってしまったが
322 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 02:08:23.29 ID:yt2qqJ9Q.net] ここは超初心者スレだからコミュ能力ないのはしょうがないのかもしれないが perlの人のやりたかったのは>>280 からだいぶ後の>>340 の >普段はperlを使っているのですがそれだとprintそのままにファイルハンドルを付けるだけで >標準でもテキストでも好きに出力できるので同じような使い方ができればと思っています なんだろう。 最初にこれを出せば、面倒を連呼しなくて済んだのにな
323 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 02:23:44.32 ID:RyWPXEl9.net] >>314 超使える訳じゃないけど、そもそもperlしか知らない そのperlもまともに勉強したわけではなく サバイバル英語の勉強方法みたいな感じで覚えたから元から無様ですよ 上でも書いたけど、作りたいプログラムを見つけてきたら それをいじりながら勉強する感じでやってきた とりあえず、様々なエラーが出たけど、エラーもでることなく10時間CPU回しっぱなしで動作してる よく分からないながらでも、とりあえず書けば機械学習ができてしまうのは便利だと思ってる >>311 まじそれ。perlでできるならわざわざ新しい言語を覚えようとは思わなかった スコープの使い方まで違うし慣れるまで色々嵌りながら学習する必要があると思うと泣けてくる
324 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 02:37:37.23 ID:BdA0jLra.net] perlってテキスト処理ぐらいしかやったことないけど え、それだけ? ってぐらい簡単に書けちゃうとこがあって面白いね
325 名前:デフォルトの名無しさん [2018/04/14(土) 02:57:00.89 ID:lnTeyTPJ.net] >340 に期待
326 名前:デフォルトの名無しさん [2018/04/14(土) 02:59:10.50 ID:lnTeyTPJ.net] >>316-317 書き捨てならperlでも良いと思う 何ヶ月後か何年後かにメンテするときに 忘れてから(あるいは他人のもののメンテ)が勝負 pythonの方にしといて良かったと思える
327 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 06:03:31.69 ID:5tg9pgD6.net] >>312 頭悪いなあ Rubyにだってstrとかreadlineとかgsubとかあるだろ pythonのlen(x)は中でx.__len__()を呼んでお
328 名前:り、お前の好きなオブジェクト指向(笑)だ 完全に実装者任せのrubyとは違い、Pythonがlen関数を使うことには下記の2つの意味がある ・メソッド名を確実に統一する(Rubyみたいに自由だとcountとか誤った名前を付ける奴が出てくる) ・__len__の返した結果が規約(必ず整数であること)に従っていることをチェックして保証する Pythonの方がより規約を重視した高度な仕組みなんだよ [] [ここ壊れてます]
329 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 10:47:57.74 ID:RyWPXEl9.net] >>317 本当にかんたんに書けるよな Perl使ってる身からすれば、同じP言語だし可能な限りPythonでも簡単にできる方法が知りたくなる >>319 他の言語は殆ど知らないので何とも・・・メンテかんたんなら良いね Javaとかネットで良いと言われて、2週間頑張ったけど、長すぎる命令文が覚えきれずタイプが面倒で諦めた 今となっては当時作ったJavaアプリは命令文すら覚えていないから書き直すことすらできないけどね
330 名前:遊園地 mailto:sage [2018/04/14(土) 11:49:28.86 ID:osRawEaB.net] 35歳の話ですか?
331 名前:デフォルトの名無しさん mailto:sage [2018/04/14(土) 22:11:15.45 ID:nq6U0FpM.net] 一回importしたモジュールを取り消すことできますか?
332 名前:デフォルトの名無しさん [2018/04/15(日) 00:11:09.27 ID:LyYRjAz1.net] 気の持ちようで過去の事実は変えられる
333 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 00:43:39.53 ID:zL8vaRCQ.net] 関数の中でimportしたら、関数処理が終わるごとに解放されるの?
334 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:30:36.11 ID:fSFvvger.net] >>325 Pythonはすごい賢い言語だから、importを頭に書いても 必要になった時に動的にインポートし、不要になったら解放してくれるんじゃないのかな。
335 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 01:37:25.53 ID:fSFvvger.net] ただ、毎回インポート・解放すると時間が消費するから そんなのやめて常駐にしたいときには、キャッシュしといてと指示すれば解放しないで常駐するように する機能とかも提供している気がする。
336 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 02:41:37.97 ID:K+msyNFc.net] なんだ妄想か
337 名前:デフォルトの名無しさん [2018/04/15(日) 03:19:09.43 ID:9PmxhzhB.net] 試してないけどdel モジュール名はできないの 明示的に参照消したらさすがにガベコレしてくれるだろ って妄想
338 名前:デフォルトの名無しさん [2018/04/15(日) 03:26:45.07 ID:9PmxhzhB.net] あまり行儀良くないけど、 使う関数の中でローカルにインポートしてもいいんだよ いつ使うか分からんからどう扱うか知らんけど、ライブラリとか読んでると後始末に使うモジュールは大体そうしてる 例えば def Quit(): import sys, os 各々のexit関数を試みる みたいな感じで これらは軽いからあまりいい例では無いと思うが、ちょっと他の例が思い出せないので
339 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 05:43:37.19 ID:VXOW+WoG.net] >>321 Perl なら、Python ではなく、Ruby
340 名前:デフォルトの名無しさん [2018/04/15(日) 07:48:45.50 ID:TD/JmgSS.net] Ruby大好きおっさんかあんちゃん。爺さんはないだろうが。
341 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 10:28:50.02 ID:bGi543fi.net] >>331 機械学習が目的だから無理
342 名前:デフォルトの名無しさん [2018/04/15(日) 10:37:38.96 ID:E1b18XLI.net] rubyはルピーとかルーピーを連想させるから無理
343 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 11:04:43.82 ID:HCEWsKeI.net] Rubyは名前を呼んではいけない(アンカーをつけてはいけない)あの人みたいになると思うと無理
344 名前:デフォルトの名無しさん [2018/04/15(日) 11:25:09.21 ID:mh4srQnS.net] (´・ω・`)あのーパイソンって小学生でもひと月ぐらいでできるぐらいかんたんってきいたけどほんとなの? らんらんもプログラマーになれるかなー?
345 名前:デフォルトの名無しさん [2018/04/15(日) 11:26:32.65 ID:mh4srQnS.net] (´・ω・`)アマゾンで参考書さがしてるけどおすすめ
346 名前:の参考書はありますか? パイソンの本ってむちゃくちゃ多いからまようー [] [ここ壊れてます]
347 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:06:53.97 ID:VXOW+WoG.net] この本が、定本。 みんなのPython 第4版、2017 Python は、Ruby よりも難しい。 先に、この本を読め たのしいRuby 第5版、2016 北大の湊真一が作った、ZDD なら、Ruby gem もある
348 名前:デフォルトの名無しさん [2018/04/15(日) 12:23:12.55 ID:E1b18XLI.net] >>336 webサイトで充分
349 名前:デフォルトの名無しさん [2018/04/15(日) 12:33:40.04 ID:Y8r4uZmH.net] パイチンくんの本がいっぱい出すぎで どれを買っていいかわからないよ みんなのパイチンくん スラスラわかるパイチンくん パイチンくん1年生 いちばんやさしいパイチンくんの教科書 いきなりパイチンくん やさしいパイチンくん パイチンくんからはじめる数学入門 独習パイチンくん入門 ホンキで覚えるパイチンくん パイチンくん機械学習プログラミング
350 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 12:36:21.44 ID:VXOW+WoG.net] 「みんなのPython」が定本 そこへ、なでしこの作者・クジラ飛行机が参入した。 そこへ掌田津耶乃・大津真などの、多言語の作者も参入
351 名前:デフォルトの名無しさん [2018/04/15(日) 12:45:05.14 ID:E1b18XLI.net] rubyの本も急に沢山出た時期があるけど 流行りで出てくる本の九割以上は糞本 スルーでOK
352 名前:デフォルトの名無しさん [2018/04/15(日) 13:27:09.55 ID:BcrfAPr/.net] まあ流行りで本が沢山出るならまだ良い方だよ。それだけ売れるってことで、それはつまりやってる人が多いということだから。
353 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 13:35:32.50 ID:fpkgMDqC.net] ディレクトリを指定してその中にあるファイルのパスをリストで取得できるモジュールとかないですか?
354 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 13:51:11.42 ID:VXOW+WoG.net] Ruby なら、Dir.glob だけど、 「python list dir glob」で検索!
355 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 13:58:56.84 ID:K+msyNFc.net] rubyが廃れた理由が分かるな。 いやrailsのバッテリーとして余生は安泰かwww
356 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:28:51.90 ID:bGi543fi.net] Pythonではタブ記号の代わりにスペースを使う人が多いですが移動が面倒です。 タブ記号だと例えば、インデントが4つあっても4回の右キーを押すだけで移動できますが、 スペースの場合、16回くらい押す必要がありますよね。 どのようにしたらいいでしょうか? エディタは秀丸を使っています。
357 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:30:19.66 ID:Cnmy+aq2.net] >>347 ・Sakuraエディタにのりかえる ・インデント機能を使った後、Tab->空白機能を使う
358 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:40:56.80 ID:bGi543fi.net] >>348 Sakuraエディタは使ったことないけど、多分秀丸にも同じ機能はあると思うが、 タブにスペースを使うことが問題で タブがスペースだと結局は16回、もしくは、ショートカットキーで飛ぶことになり面倒でない? Tab->空白変換 機能は使ってるけど、 サンプルプログラムと手書きを何度もやりとりしてると タブとスペースの混在で結構良い頻度でエラーになってしまう 統一したいと思ったり・・・
359 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:46:01.79 ID:5EOPJhuZ.net] 今時秀丸? VSCodeとか使おうよ
360 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:47:30.46 ID:CMfqpLbm.net] >>349 pythonファイルならスペース4つを一回で移動できるエディタたくさんあるよ
361 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 14:57:48.74 ID:fpkgMDqC.net] >>345 globってそういう時に使うのですか サンクス
362 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 15:27:17.39 ID:Cnmy+aq2.net] >>349 うちは秀丸の設定で1タブ4半角スペース固定にしてる それで 書いたらはしらせる直前に 全選択して Tab->空白
363 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 15:37:38.38 ID:731FtqJf.net] ソフトタブだっけ? 俺Atomだけどスペース混在がどうのとか気になったことない
364 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 16:10:57.24 ID:Cnmy+aq2.net] 今ってたしか タブとスペースの混在は('A`)ヴァーで タブは(・A・)イクナイ スペース4つにしましょうキャンペーン中じゃなかったっけ
365 名前:デフォルトの名無しさん [2018/04/15(日) 16:22:10.02 ID:7xK+P7p1.net] 秀丸最強
366 名前:デフォルトの名無しさん [2018/04/15(日) 16:25:40.21 ID:7xK+P7p1.net] >>344 os.walk() os.path.walk() os.listdir()
367 名前:aiueo mailto:sage [2018/04/15(日) 16:44:03.35 ID:xfCmajNI.net] windows10 Python 3.6.5 C:\pythonにインストール済み pip install -U selenium でseleniumインストール済み ChromeDriver 2.37 インストール済み C:\chromedriverに入れて、Pathも通しました aiueo.pyを作って、C:\myscriptフォルダに入れています 中身は、下になります from selenium import webdriver driver = webdriver.Chrome() これを実行すると、 C:\myscript>python aiueo.py Traceback (most recent call last): File "aiueo.py", line 1, in <module> from selenium import webdriver File "C:\python\lib\site-packages\selenium\webdriver\__init__.py", line 18, in <module> from .firefox.webdriver import WebDriver as Firefox # noqa File "C:\python\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 20, in <module> import http.client as http_client File "C:\python\lib\http\client.py", line 72, in <module> import email.message File "C:\python\lib\email\message.py", line 10, in <module> import uu File "C:\myscript\uu.py", line 7, in <module> options = webdriver.ChromeOptions() AttributeError: module 'selenium.webdriver' has no attribute 'ChromeOptions' エラーで実行できません。。助けてください
368 名前:aiueo mailto:sage [2018/04/15(日) 17:08:28.73 ID:xfCmajNI.net] できたー!!エラー治りました! 同じフォルダに入っていた、uu.pyというファイルを消したところ治りました なぜ消したら治ったのか原因がよくわかりません uu.pyをフォルダに入れると、またエラーが発生します 作っちゃいけないファイル名などがあるのでしょうか。。
369 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 17:21:04.60 ID:CIuag2/D.net] >>359 ライブラリと同じファイル名使ってるだけ https://docs.python.org/3/library/uu.html
370 名前:aiueo mailto:sage [2018/04/15(日) 17:30:47.57 ID:xfCmajNI.net] >>360 ありがとうございます。もともとuu.pyというファイルがあったのですね 適当にaa.py test.py cc.py kkk.pyとか適当ファイルいろいろ作って試してました・・ 勉強になりました、ありがとうございます
371 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 17:45:04.14 ID:CIuag2/D.net] >>361 ライブラリ作ってるならこの辺りも見ておいた方がいい https://docs.python.org/ja/3/py-modindex.html
372 名前:aiueo mailto:sage [2018/04/15(日) 17:51:34.26 ID:xfCmajNI.net] >>362 プログラミングやったことない超初心者です。 スクレイピングでやりたいことがあるのでpythonインストールしてみました。 ライブラリとファイル名、かち合わないように気を付けます わざわざありがとうございます!
373 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 18:14:44.88 ID:WdW8h5cl.net] openpyxlを使ってExcelファイルのA2セルの値を取り出そうとしたんだけど そのセルに書かれている計算式が取り出せました。 計算式ではなく、計算結果を取り出すにはどうしたらよいの? こう書きました→print(ws['A2'].value)
374 名前:デフォルトの名無しさん mailto:sage [2018/04/15(日) 18:33:21.95 ID:5wGddKlA.net] >>364 使ったことないけどここら辺の話かな? cloudsquare.jp/hibiki/blog/2018/01/30/openpyxl/
375 名前:デフォルトの名無しさん [2018/04/15(日) 22:39:51.61 ID:UX4y5Mn1.net] ありがd
376 名前:デフォルトの名無しさん [2018/04/15(日) 23:29:55.35 ID:9jzNqCls.net] 長文になって申し訳ないけど、メソッドに関する質問。 1.Pythonで始めから使えるメソッド(.replace()とか)に呼び名はある? ビルトインメソッド?、ビルトイン関数?、メソッド?それとも他の呼び名? 2.help()関数のようにビルトインメソッド(仮)の定義を見ることはできるか? print(help(replace))と入力すると >>>NameError: name 'replace' is not defined となるため見れない 3.ビルトインメソッド(仮)はなぜ存在しているのか?ビルトイン関数で代替できないのか? メソッドがオブジェクト指向版の関数という自分の解釈なら、 メソッドはライブラリかユーザー定義用だけにしておいて、 ビルトインオブジェクト(クラス)のメソッドなんて用意するべきではないと思うから。 以上3点です。よろしくお願いします。
377 名前:デフォルトの名無しさん [2018/04/15(日) 23:32:53.30 ID:xpwShDOv.net] help(str.replace)
378 名前:デフォルトの名無しさん [2018/04/15(日) 23:42:33.10 ID:9jzNqCls.net] >>368 ほんとだ。ありがとうございます。 メソッドを呼び出す際は、ここでもオブジェクトが必要だったんですね。 そして、print()関数は不要でしたねすみません。
379 名前:デフォルトの名無しさん [2018/04/15(日) 23:44:00.12 ID:xpwShDOv.net] 1.間違い 3.何が言いたいのか意味が判らない