1 名前:デフォルトの名無しさん mailto:sage [2021/01/09(土) 05:22:25.24 ID:IpHIsox4.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがあるのでそっち池。 「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合は、 表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。 【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意! Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので ↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】 https://mevius.5ch.net/test/read.cgi/tech/1602896738/ 次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい) ### END OF TEMPLATE ###
301 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 20:30:33.12 ID:dO5q2ySB.net] >>300 設定方法は、ネット上で見つけて何とかなったのですが、取得方法がうまくいきません。 だいぶ検索もしたのですが、、
302 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 06:10:52.03 ID:Rmua4RGj.net] >>301 のprint(cell.font)ってしてる cellにナニぶっこんでるのかresして 結果の一覧とやらを>>1 にのってるろだとかにのせたら もちょい進める、かも
303 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 06:42:15.09 ID:8ASdjdRY.net] とりあえず 簡単な画像比較作るか
304 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 07:17:40.73 ID:V53VIWYq.net] (function (x, y) { ここに処理を書く })(a, b); JavaScript では上記のように擬似的なスコープを作って 上位スコープから変数を渡すことができますが これと似たようなことをPythonで実現可能ですか? グローバルの変数汚染を避けるのが目的です 以下のような無名関数として呼び出せればと思うのですが。。。 (def (x, y): ここに処理を書く )(a, b)
305 名前:デフォルトの名無しさん [2021/02/04(木) 09:26:22.09 ID:c560f9Nc.net] >>304 lambdaでどーぞ
306 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 09:29:06.70 ID:yNPj7IC/.net] >>304 普通は気にしない Pythonのグローバル変数はモジュール(ファイル)の名前空間に属するから、グローバル名前空間を汚染しない 本当に局所的な変数が欲しいなら普通に関数を定義してローカル変数にして普通に呼ぶ トリッキーなことはしないで素直に普通に書くのがPython流
307 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 10:47:48.68 ID:ETtm6pXr.net] Pythonて関数の引数が参照渡しなんだな 値渡しだと思って今まで使ってたから調べてびっくりしたわ リストなんかを変数で渡した場合は関数内で書き換えできてしまうから注意が必要だね
308 名前:デフォルトの名無しさん [2021/02/04(木) 11:12:44.25 ID:ZzRKCYY/.net] >>294 with の中を通らなかったときの data の値は必ず None で OK?
309 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 11:15:39.42 ID:0AhC+pkm.net] >>307 引数が(変数の)参照渡しな訳ではないよ、元々が実体へのオブジェクト参照(PyObject*ポインタ) 値渡しはC的に言えばスタックに載せるという事であり、それは大抵のシステムで既定上限が数MB以下
310 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 12:21:19.44 ID:fv2NAPkU.net] ナムパイとナンパイ、どっちですか?
311 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:42:24.63 ID:eiMq+3qj.net] >>306 コーティングの是非を聞きたいのではなく 仕様として可能なのかを聞いています 単にそこに興味があるだけです
312 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:44:27.86 ID:eiMq+3qj.net] >>305 もちろん考えましたが 何行にも渡るコードをlambdaでローカルスコープにするのは 実用的でないと思ってます 偉そうな書き方になってたら申し訳ない
313 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:45:16.38 ID:4oTwDo+v.net] (lambda x,y:x+y)(1,2) -> 3 みたいな書き方はできる
314 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 14:21:08.73 ID:8DiqYeP0.net] PILで読み込んだ画像とOPENCVで読み込んだ画像は、それぞれで扱うことはできないのでしょうか? また、画像がどっちの形式で変数に入っているかを判断することはできないでしょか?
315 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 14:58:09.72 ID:qhstqCrC.net] >>311 括弧を使ってスコープを切れるか? => 切れない JSのIIFEを模倣できるか? => lambdaなら可 グローバル汚染を避けられるか? => そもそもグローバル汚染しない
316 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 15:06:35.15 ID:qhstqCrC.net] >>311 lambda以外に無名関数を定義する方法があるか? => ない
317 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 16:13:42.50 ID:Rmua4RGj.net] >>310 前者
318 名前:デフォルトの名無しさん [2021/02/04(木) 16:54:20.60 ID:4/57iig+.net] >>314 https://note.nkmk.me/python-image-processing-pillow-numpy-opencv/ https://qiita.com/derodero24/items/f22c22b22451609908ee https://wonderfuru.com/opencv%E3%81%A8pil%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/ tatabox. はてなぶろ.com/entry/2013/07/21/231751
319 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 17:00:58.28 ID:dB2jWvbu.net] netの情報はいい加減なのが多い
320 名前:デフォルトの名無しさん [2021/02/04(木) 19:10:10.39 ID:KK0mSk54.net] >>314 numpy.array(pil_image)でおーぷんしーぶいで扱える
321 名前:デフォルトの名無しさん [2021/02/04(木) 21:04:09.36 ID:c560f9Nc.net] python界隈は、ピップだのピップエンブだのパイパイだのパイエンブだの、固有名詞がダサすぎないかい。
322 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 21:06:02.85 ID:Rmua4RGj.net] そもがモンティパイソンだからしゃーない
323 名前:デフォルトの名無しさん [2021/02/04(木) 21:16:08.40 ID:WFDJ+byI.net] 並列で実行しておきたい関数があって ある条件に一致したら終了する関数なのですが 終了して、まだキューになく並列実行してなかったら再度並列実行したいと思ってます 下記で同時実行しているタスク数や実行しているか確認することはできるのでしょうか 実行中はTrueが入っていると思ったらちがいました executor = concurrent.futures.ThreadPoolExecutor(max_workers=1) f = executor.submit(test_sub,1) if f=True: f = executor.submit(test_sub,1)
324 名前:デフォルトの名無しさん [2021/02/04(木) 21:30:50.18 ID:xGlwnT6u.net] 競プロかなんかで時間ギリギリまで問題解きたいのか?
325 名前:デフォルトの名無しさん [2021/02/04(木) 23:46:00.85 ID:WzBF5t1f.net] >>321 ぱいぱい!!
326 名前:デフォルトの名無しさん [2021/02/05(金) 07:49:10.98 ID:PjtyCIQW.net] >>323 fはFutureオブジェクト
327 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:11:59.04 ID:aDktR5P1.net] pythonのエラーの対応について教えて下さい 環境は3.6でエディタはAtomを使っています。 VBAとかだとどこでエラーが起きてもエラメッセージが帰ってくる思うのですが、 pythonだと関数から呼び出した関数で起きたエラーは、コンソールウィンドウに表示されず メッセージ無しで止まってしまいます。 エラー対応で検索すると、Tryを使うとのことなのですが、 関数の始まりからtryで囲うやり方がベストなのでしょか? 全関数を以下の通り対応するのはスマートではないなと・・ def test(): try: 関数の中の全部の処理 except ****:
328 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:44:19.31 ID:j/7809a/.net] 普通に出力されるが
329 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:49:18.87 ID:T/OPgv07.net] >>327 関数使うときにtryしたほうが良くね?
330 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 13:03:15.92 ID:mRakDWTP.net] >>327 try使うときは エラーがおきるかもしれない最小範囲のみをくくるべし
331 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 15:18:46.74 ID:f8nqzbTK.net] 最初にやった方法からさらにいい方法思いついてデータ量や実行時間が大幅に減らせたときの快感がたまらん
332 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:02:31.28 ID:zkrcBcSu.net] それで、コードの可読性を損ねて、 後でどこを直せばいいかわからなくなることもしばしば
333 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:08:30.83 .net] try: エラーでそうな処理 except:
334 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:11:08.41 .net] 途中で送信してしまいました def try: エラーでそうな処理 return 11 except: エラー出たときの処理 return 22 このエラー出たときに、エラー以外の処理を返すようなやり方はやめた方がいいですか? エラーのときはExceptionなりでエラーをそのまま返す みたいな
335 名前:デフォルトの名無しさん [2021/02/05(金) 17:19:11.95 ID:oYpVlEXM.net] >>334 「エラー出たときの処理」でエラーから復旧したと言えるならそれでいいんじゃないか 呼び出し側で対応が必要ならExceptionを返すべき
336 名前:デフォルトの名無しさん [2021/02/05(金) 17:21:11.97 ID:oYpVlEXM.net] × Exceptionを返す ○ Exceptionをraiseする
337 名前:デフォルトの名無しさん [2021/02/05(金) 21:02:16.92 ID:N5jEb7lV.net] Jsonファイルのリストの中から、 価格の情報だけを比べて、 一番大きい価格を取り出す方法が分かりません。 { "status": 0, "data": { "list": [ { "price": "4172840", "symbol": "BTC", }, { "price": "4104400", "symbol": "BTC", } } こんなようなJSONがあって、 リストの中の、priceだけを比較して、 一番大きい、priceを取り出す方法が分かりません、 上の例だと、max( "price": "4172840" "price": "4104400") となると思うのですが、 どうやってリストの中の価格だけを取り出して、 一番大きい値を取り出せばいいか分からないです。
338 名前:デフォルトの名無しさん [2021/02/05(金) 22:23:34.72 ID:6/zDXCCK.net] item = max(json_obj["list"], lambda i: i["price"])
339 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 22:36:41.20 ID:ltTaykUg.net] ジェイソン!
340 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 22:57:54.64 ID:T/OPgv07.net] 410万ビットコインって幾らになるんだろう?17億円くらいかな?
341 名前:デフォルトの名無しさん [2021/02/05(金) 23:29:03.53 ID:N5jEb7lV.net] >>338 ありがとうございます! string indices must be integers とエラーがでてまだ取れてないけど、、 もう少し調べて頑張ってみます。
342 名前:デフォルトの名無しさん [2021/02/06(土) 08:39:05.31 ID:UyfeHPoO.net] 今までpcで動かしてた機能をandroidで動かしたい apkを作るにはkivy とbuildozerを使うらしい こっちの環境作るのにも詰まってるけどそもそも今動いてる.py をそのまま使えるのかも分からない 何か書き換えとか必要? そして環境構築方法詳しく載ってるサイトがあったら教えてください。
343 名前:デフォルトの名無しさん [2021/02/06(土) 10:54:46.58 ID:PohEB++t.net] sl4a
344 名前:デフォルトの名無しさん [2021/02/06(土) 11:42:13.31 ID:IR3wWC2w.net] sl4aは見つけたけどapkにしたいんだ....
345 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:29:12.16 ID:ROiZJzWf.net] python のメソッドって def hoge(x,y): 以下中身 まではわかるんだけど 終わりの区切りはどうなってるの? 空行できたらそこで終わり? returnとかあればいいの?
346 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:40:24.90 ID:FU+/gIxh.net] >>345 カラ行は無視で なんか書いてある行のインデントの深さが変わったらそのブロックはおしまい
347 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:54:35.07 ID:ROiZJzWf.net] >>346 インデントか なるほど ありがとうございます 勉強になりました
348 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:24:19.00 ID:FU+/gIxh.net] >>347 体系化ずみのサイトなりテキストなりを一冊読んだ方が 遠回りにみえるかもしらんが 一番早道だぉ ノシ
349 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:12:36.40 ID:6eQmSTNr.net] >>337 Ruby では、文字列の値を、数値へ変換すればよい。 と言うか、変換するのが面倒なので、最初から数値で、やり取りすれば良いだけ require 'json' # 値が数値 json_1 = <<'JSON' { "a":1, "b":2 } JSON p JSON.load( json_1 ) #=> {"a"=>1, "b"=>2} # 値が文字列 json_2 = <<'JSON' { "a":"1", "b":"2" } JSON p hash = JSON.load( json_2 ) #=> {"a"=>"1", "b"=>"2"} # 文字列の値を、数値へ変換する hash.each { |key, val| hash[ key ] = val.to_i } p hash #=> {"a"=>1, "b"=>2}
350 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:26:54.07 ID:sxvkqNg5.net] NG推奨ワード: Ruby
351 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 19:20:59.71 ID:8pppcqNFl] >>337 https://ideone.com/2IifLw
352 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 22:21:18.88 ID:WYrAP15n.net] for num in range(5): print(num) if num==3: num=num-1 ていうのを動かすと 0,1,2,3,4 ていう結果になる。 0,1,2,3,3,3,...... ていう結果にしたいんだけどどうすればい? 下のような動きにしたい。 for i=0 to 5 print i if i=3 then i=i-1 next
353 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:05:26.75 ID:l1Q4fjMo.net] https://ideone.com/IjrjUd
354 名前:デフォルトの名無しさん [2021/02/06(土) 23:08:53.63 ID:s8ZQn1/T.net] その例のコードで 0,1,2,3,3,3,...... って出力されるの? やべーねその言語
355 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:10:49.88 ID:B5gVBJsh.net] forじゃなくてwhileを使うのでは…
356 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:11:47.83 ID:Ye4r/rjw.net] for i in range(5): print (min(i, 3))
357 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:12:43.26 ID:9BgHZVUo.net] for i in range(5): ____if i > 3 : i=3 ____print(i)
358 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:15:55.88 ID:1hxtRDLK.net] やりたいことはジェネレーターで無限ストリームっぽい気がする
359 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 00:16:21.39 ID:jpmL2+yv.net] こういうこと? i = 0 while True: x = i if i > 2: x = 3 i = i + 1 print(x)
360 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 02:02:20.67 ID:QRtsbk1z.net] [i if i < 3 else 3 for i in range(5)]
361 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 04:46:16.11 ID:9cKdY56s.net] printせえよ
362 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:50:24.56 ID:JR5bkMUq.net] >>352 まじほんと>>354 だは… 351は偽Pythonをつかまされているのでは
363 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 09:10:55.34 ID:FFuFCGQD.net] sorted関数はwindowsの名前順と同じようにソートするんですか? natsort?
364 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:44:13.68 ID:KNf11SZT.net] dictの型ヒント書こうとしているんだけど、TypeScriptみたいにキー毎に 値の型を指定するような芸当は無理だよね?
365 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:57:54.98 ID:7XkuYEp+.net] >>364 typeddictとかいうの無かったっけ tsと同じようなことできた気がする
366 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:24:42.44 ID:KNf11SZT.net] すげぇ。ありがとう。
367 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:44:28.72 ID:kn8KLgWd.net] >>363 Windowsのソート順は分からないけど
368 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 13:56:45.22 ID:+o5/+U2b.net] >>367 windows上で、フォルダの中に名前順に並んだ複数ファイルがあって これをそのままの順番で取得したいんですが、glob+sortedでいいのでしょうか? windows上での並び順と異なる場合があるとかだと困るのです
369 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:00:38.24 ID:NCHwUWPY.net] >>368 なんで困るの?
370 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:10:44.92 ID:7XkuYEp+.net] sortedはnatsortじゃないです
371 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:11:22.42 ID:3B496xZd.net] _1 と _01 の話でしょう。 エクスプローラは長さ判定の方が 優先順位が高いアルよ
372 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:33:32.29 ID:mFk3/GAA.net] エクスプローラーのソート順は全角半角同一視とかロケール依存もあるでよ
373 名前:デフォルトの名無しさん [2021/02/07(日) 15:22:35.38 ID:FFuFCGQD.net] スクリプト使用者は日本語環境のwindows フォルダ内に任意の命名規則の連番ファイルが数種類混在する つかわれる文字種は全半角日本語英語、数字と記号(文字化けした中国語っぽいやつはありえる) 例えば .01.02 .あ001.い001 ._01a._01b という3ルールがひとつのフォルダ内にあって、命名規則は制限できない エクスプローラー上で表示される名前順の並びに意味があるので、順番を保持したデータ構造を取得したい です!
374 名前:デフォルトの名無しさん [2021/02/07(日) 15:31:29.22 ID:0RC+Q+w9.net] あ、個々の連番ファイル作成者も日本語windowsのエクスプローラーで順番を確認してます
375 名前:デフォルトの名無しさん [2021/02/07(日) 15:39:10.65 ID:LHj1ntdf.net] sortedは単なる辞書順
376 名前:デフォルトの名無しさん [2021/02/07(日) 15:54:16.47 ID:UfsgAoOW.net] natも違う windowsは.01→01と並べるけどnatは逆になる
377 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:09:32.73 ID:QRtsbk1z.net] それを使って何がしたいのか分からないと見当違いになるかも知れないけど ファイルへの処理を疎結合にはできないの? あとはこれもnatsortと同じなのかな sorted(paths, key = lambda x: int(x.name))
378 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:13:58.14 ID:kn8KLgWd.net] そもそもWindowsと同じ並びにしなければならない理由が理解できないんだけど どういう理由なの? もし並び順に依存した処理が必要なんだっていうならばその実装がおかしいと思うけどな
379 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:22:59.73 ID:NCHwUWPY.net] エクスプローラー上で表示される名前順に依存しなきゃいけないシステムってのがよくわからないけど とりあえずnatsortのos_sorted()を試してみたら? Windowsの場合はエクスプローラが使ってるAPIを使ってる エクスプローラのソート仕様を100%把握するのは無理な気がするので どういうテストケースを通ればOKとするかは事前に決めておかないと後で困りそう
380 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:25:23.50 ID:KNf11SZT.net] windowsと同じにって言っても、ファイルシステムがFAT系とNTFSでも違った気がする。
381 名前:デフォルトの名無しさん [2021/02/07(日) 17:00:56.73 ID:FFuFCGQD.net] >>379 あーこれですね。たぶん ちょっと様子見つつ、動かしてみます。ホント助かりました >>377 a, bさんがそれぞれ独自の連番データを持ってて、Aというひとつのフォルダに入力します bさんは“エクスプローラーの名前順で”aさんのデータのあとに自分のデータを置くこと aさんとbさんは異なる命名ルールを使って、第三者が“命名ルールを見て”群を区別できるようにすること がルールです そうして出来たAフォルダの中身を、自分が上から順に読み込んで処理する みたいな…
382 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:11:24.53 ID:QRtsbk1z.net] 正規表現で群を分割してそれぞれの群に対して逐次処理していく とかだと駄目なのかな? 単純にソートして順に処理していくとファイル漏れがあった時とかにバグりそう
383 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:25:25.92 ID:kn8KLgWd.net] 早々に破綻しそう ユーザー名や更新日時を基準に考え直した方が早いよ
384 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:31:05.90 ID:JR5bkMUq.net] ういんどーずあぷでーとである日地獄になりそう
385 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:42:05.53 ID:kn8KLgWd.net] まずaさんとbさんのデータをわけなよ その上でファイル名を正規化してソート出来る形にする ソートの基準が違うものをソートしようとしてるから物事が複雑になる なのでまずはソートの基準を揃えることから始めたら良いんじゃねーかな
386 名前:デフォルトの名無しさん [2021/02/07(日) 17:59:41.51 ID:Ezbk+4+j.net] 要するに [".1", "10", "2", "1", ".2", "1"] をwindowsエクスプローラー上の名前順 [".1", ".2", "01", "1", "2", "10"] にソートするにはどうすればいいか的な話でしょ? つか状況がクソだぞって指摘はしてあげるべきだろうが そこを変えろって回答は論外じゃ…
387 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:10:18.26 ID:/kKFnkGm.net] システムはエクスプローラーとか、特定のアプリのアルゴリズムに依存すべきじゃない。 ある日突然、変わるかも知れない。 API・規格が無保証だろ 自分のアプリは、自分で規格を定義すべき。 そうしないと、可搬性がなくなる OS・ファイルシステムが異なると、結果が違ってくるから
388 名前:デフォルトの名無しさん [2021/02/07(日) 18:12:05.44 ID:RFMN3ZYm.net] こういうメンドクセーもんは大抵はどっかの誰かが既に作ってあるハズだからpypiで探すか 標準で提供されてると見当つけて公式サイトを探す 自分が欲しいと思ったモンは99.99%の確率で他の誰かが既に実装してる
389 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:12:49.36 ID:NCHwUWPY.net] >>386 命名ルールがわからないからそれで十分かどうかはわからない ある時点のあるPCで見たエクスプローラの名前順をPythonで再現したいという話 命名ルールも再現したいエクスプローラのソート仕様の範囲も不明確なので事故るかどうかは運任せ
390 名前:デフォルトの名無しさん [2021/02/07(日) 18:31:26.56 ID:4v/nAOdw.net] >>368 windows って explorer で表示したときの並び順と プロンプトで dir で表示したときの並び順が 違うって知ってた? 0000 0001 1 111 10 20 みたいなファイル名で試してみ
391 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:39:15.86 ID:JR5bkMUq.net] >>390 エクスプローラのソートとひとくちにいっても、 ターゲットのフォルダをあけた状態と そこから左カラム右クリック新しいウインドウから開く でもいっこあけた窓の中で 順番変わる
392 名前:デフォルトの名無しさん [2021/02/07(日) 18:53:51.92 ID:cgYbYP7a.net] この言い訳の山よw
393 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:54:51.98 ID:JR5bkMUq.net] >>392 見本コードはようp
394 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:04:34.30 ID:uQM/ElP7.net] 並列処理をしているときに、何が実行されているか確認することって出来ますか? キューに入って順番待ちになっているタスクも確認したいです。 WEBページを2〜3ページ並列で取得するようにしてるのですが、並列にしたときにデバッグで確認することも難しく教えていただければと思います。
395 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:05:55.85 ID:kn8KLgWd.net] Pythonだとcelery
396 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:25:21.61 ID:3B496xZd.net] 9x年代の「accessの美しいsort順」の 再来かよw アレの実装も凄いな
397 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 20:09:13.36 ID:kn8KLgWd.net] >>386 そもそもユーザーがソート順変えたら破綻する仕組みに依存した設計とかどうしようもないだろ
398 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 20:11:08.97 ID:JR5bkMUq.net] ユーザーが2個目のウインドウ開けてそっち見たらおしまいな件
399 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:30:52.36 ID:HPp7Agld.net] https://docs.microsoft.com/ja-jp/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw windowsのpythonのos_sortedはこれで判定してる
400 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:33:41.58 ID:xkZ6C6tJ.net] Behavior of this function, and therefore the results it returns, can change from release to release. It should not be used for canonical sorting applications. だとさ