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 ###
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. だとさ
401 名前:デフォルトの名無しさん [2021/02/08(月) 00:38:44.29 ID:5J2edDoW.net] >>398 横から これで順番変わってる状態って見たことないけど、どういうファイル名の並びだとそうなるん?
402 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 02:14:42.69 ID:wlkdd0te.net] ラズパイを載せたGoPiGoロボカーで、線虫脳シミュレート https://www.youtube.com/watch?v=9kxty2qec4g エラーを解決したので、試しに動かした
403 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 03:02:58.50 ID:wlkdd0te.net] コードはGithubで公開されてるものを突っ込んだ
404 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 09:25:13.35 ID:wJ3JIqDy.net] >>396 くわしく
405 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 09:29:15.28 ID:dM4oOJoS.net] スイッチのONOFFに連動してアクション起こすものを作ってみたくてほぼ期待通りの挙動させられるようになったのですが、たぶんimportで他.py呼び出す時にエラー?になります。 スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。 importで呼び出す場合は回数制限のようなものがあるのでしょうか?
406 名前:デフォルトの名無しさん [2021/02/08(月) 10:17:14.59 ID:WsHYblSd.net] どんなエラーがでてるか、そのまま貼った方がいいと思うな
407 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 10:58:40.46 ID:hgsCKB/O.net] importの実行は一度だけ なので関数にして都度実行
408 名前:デフォルトの名無しさん [2021/02/08(月) 12:17:07.33 ID:5JxS4RLe.net] 「importで他.py呼び出す時」 「importで呼び出す」 perlじゃないから考え方を変えろ
409 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:27:47.27 ID:yv+/ZfUq.net] Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね ソースのその箇所に埋め込む感じの
410 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:44:47.59 ID:5KN+Fjzm.net] >>409 全然違う importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする COBOLの知識とか害悪でしかないから今すぐ全部忘れろ
411 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 13:10:02.10 ID:dM4oOJoS.net] >>406 夜になりますが、そうしてみます。 while true: if switch == true: import action01 print("action01") flag = true else: import action02 print("action02") flag = false みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。 >>407 ありがとうございます。 関数とimportの違いもわからないので、調べてきます。 >>408 プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。
412 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 14:02:52.07 ID:hgsCKB/O.net] >>409 >>411 Pythonのimportは名前空間にパッケージ名を登録してるだけ import package # プロセスの名前空間にパッケージ名を登録 package.function() # packageに書いた関数を使う import時、プロセス内に同じ名前のパッケージ名があれば読み込み不要だからキャンセルされる なので >>405 のように一度しか実行されないってことになります
413 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:22:57.82 .net] pandasのdropってディープコピーってことは dropするたびに変数に入れないといけないってことですよね? データフレームが大きいときその辺り気にしなければいけないのでしょうか
414 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:54:54.09 ID:0fSH6U0R.net] Ruby でも、require・load は異なる require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。 require はライブラリのロード、load は設定ファイルの読み込みなどに使う つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、 設定ファイルは再読み込みする事がある
415 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:10:14.07 ID:Ar0nSnLQ.net] >>413 IOに比べたらカスみたいなもんだからどうでもいい 実際遅かったら直せばよい
416 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:50:16.85 ID:wJ3JIqDy.net] 推奨NGワード: Ruby
417 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:18:46.00 .net] >>415 なるほどありがとうございます とりあえずはまとめられる処理はできる限り一つにまとめてみます
418 名前:404 [2021/02/08(月) 21:40:53.51 ID:TgcbDI6H.net] 正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。 元々のコード:ttp://codepad.org/RgfCqXLD 変更後:ttp://codepad.org/C9YTzwaU スイッチがONになったら反応、OFFでもう1つのアクション。 ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。 もしお暇でしたらアドバイス貰えれば幸いです。
419 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:44:11.22 ID:XWqxRkjb.net] >>404 悪いがオリジナルは既に消えている。 が、どういうソート順なのか調べた人がいた。 それの紹介記事は残っていた https://atsushieno.hatenadiary.org/entry/20050704/p2 webアーカイブに残っているかなぁ?
420 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:22:53.64 ID:XWqxRkjb.net] >>419 アーカイブされていた https://web.archive.org/web/19990224184613/www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
421 名前:デフォルトの名無しさん [2021/02/08(月) 23:57:12.05 ID:qlvhc88X.net] 親切な方誰か教えてください。 Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか? 勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?
422 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 00:03:22.35 ID:Vys7ayWD.net] 3.6で始めて欲しい機能が最新版にしかなかったら その時移行する
423 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 00:05:25.90 ID:9lYAN9ot.net] 仮想環境があるから正直どうでもよい
424 名前:デフォルトの名無しさん [2021/02/09(火) 00:08:54.47 ID:gY4wTt7u.net] >>422 422 ありがとう。とりあえず3.6で初めてみます
425 名前:デフォルトの名無しさん [2021/02/09(火) 00:33:28.54 ID:D2eLzUKh.net] 3.9でいいよ ・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める 3.6にあってそれ以降無くなった機能あったっけな?
426 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 01:08:10.84 ID:WN7fm/D8.net] 3.8だと思うように動作しないライブラリあったから3.6に戻した それ以来,ずっと3.6
427 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 01:23:34.91 ID:iwKT59GY.net] 3を指定すると3.7.8か3.7.9あたりになるのが多い気がするからその辺が互換的にもよさそう
428 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 08:41:41.04 ID:ArPH6UCx.net] >>419-420 読んでたら頭痛くなってきた… これMSがちゃんと仕様公開しなきゃ駄目だよなぁ…
429 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 09:16:09.94 ID:oB9H/ghx.net] 教えていただきたいのですが、 tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。 tkinterは非同期モジュールらしく、 これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?
430 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 09:21:39.36 ID:LMsNGPvT.net] 非同期なのにフリーズするっておかしくね?
431 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 10:20:06.37 ID:fLSeggtA.net] >>429 コード見てみないとなんともだけど 非同期のコードかかずにwhileで回してるだけになってるとか
432 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 11:42:31.22 ID:oB9H/ghx.net] すみません、非同期とかよくわかっていなかったです。 ボタンが全く押せず、ブレークでwhile文から抜けるしかない状況です import tkinter as tk import tkinter.messagebox import time def start(): global stop_flag timer_time = time.time() while stop_flag == False: txt.insert(tkinter.END,str(time.time()-timer_time)) if time.time()-timer_time >5: txt.insert(tkinter.END,str(time.time()-timer_time)) break def stop(): global stop_flag stop_flag=True stop_flag = False root = tk.Tk() root.geometry("200x150+30+600") end_button = tk.Button(root, text = "START", command =start) end_button.place(x = 5, y = 10) end_button = tk.Button(root, text = "STOP", command =stop) end_button.place(x = 5, y = 40) txt = tk.Entry(width=20) txt.insert(tk.END,"0") txt.place(x = 5, y = 70) root.mainloop()
433 名前:デフォルトの名無しさん [2021/02/09(火) 11:59:05.97 ID:ngdRC2S+.net] >>418 まずはこんな感じのswitch文を使うような状態遷移にした方がいいんじゃね pythonにはswitchは無いからif-elseでやるしかないけど 不変でコンパクトならswitch〜caseで状態遷移したっていい|Marupeke-IKD|note https://note.com/marupeke296/n/n62c1c4643931 11.リアルタイム制御とステートマシン https://www2.denshi.numazu-ct.ac.jp/lego/NXT/nxtOSEK/2_kiso/realtime.html
434 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:05:59.09 ID:YRe7Jw73.net] pandasで列aと列bの各値同士の計算結果を同じデータフレームに代入しようと思い df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c']) df['c-a'] = df[['a','c']].diff(axis=1)['c'] と、してみましたが['c']が納得いきません 列ラベル名があるときも[:1]みたいに取り出したいのですがエラーでした
435 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:12:01.53 ID:YRe7Jw73.net] 訂正 >df['c-a'] = df[['a','c']].diff(axis=1)['c'] df['c-a'] = df[['c','a']].diff(axis=1)['a'] でした この['c','a']の順は保証されるのかも気になります
436 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:19:02.92 ID:Vys7ayWD.net] >>432 sleep(0.1) txt.update()
437 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:20:02.81 ID:YRe7Jw73.net] df['c-a'] = df[['c','a']].diff(axis=1).iloc[:,-1] 適当にやっていたらこれでいけました・・ >>434 ,435
438 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:43:29.24 ID:3rwMtM14.net] >>432 start関数が5秒経つまでループしてて戻らないから Pythonに限らずGUIの場合UIを動作させるにはメインスレッドを独り占めしちゃだめなのよ >>436 みたいなやり方もあるけど sleepすらしない単純なループでの待ちは無駄にCPU使用率が上がるだけなので避ける 時間経過はタイマーイベントを使う 時間がかかる処理は別スレッドにする という方向で考えた方がいいよ
439 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 15:54:12.06 ID:oB9H/ghx.net] >>436 さん、>>438 さん ありがとうございます。 タイマーイベント?を調べてみます
440 名前:デフォルトの名無しさん [2021/02/09(火) 19:52:16.41 ID:F09oemYA.net] tesseractの他にocrのライブラリってありますか? 教えて下さい。よろしくお願いします。
441 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 20:42:00.18 ID:A4TUXs3r.net] >>433 ありがとうございます。もうちょっとちゃんと勉強してみます。
442 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 22:37:06.14 ID:48/GVgda.net] Pathlibで特定のフォルダ以下のファイルを全てglobして 全てのファイルに対して特定の処理をし その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです フォルダ構造を維持しつつ保存するために hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?
443 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 22:48:35.91 ID:48/GVgda.net] Path(os.path.relpath)で出来ました
444 名前:デフォルトの名無しさん [2021/02/10(水) 00:20:56.79 ID:3asw//Zv.net] relative_to() ドキュメント、読もう!
445 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 07:56:31.78 ID:lV7BodTW.net] イテレータを使わなければならない状況がきてようやく仕組みがちょっと理解できた 今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど やっぱり必要になって使うべき場面がこないと覚わらんね
446 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 08:02:53.10 ID:0JH6aNHf.net] 使わなくても実装は出来るけどな。
447 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 11:18:29.15 ID:4pogzqlY.net] PySide2のQDialogをESCで閉じさせない方法ってありますかね 調べても出てこない
448 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 12:24:44.38 ID:QctJSG9o.net] >>445 イテレータイマイチ使うシーンが想像できんわ
449 名前:デフォルトの名無しさん [2021/02/10(水) 13:05:03.29 ID:3asw//Zv.net] 頭から順に処理するならイテレーター 値は取り出すまで評価されない リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する
450 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 13:27:54.75 ID:2MYUAlGB.net] ジェネレータイテレーターな
451 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 13:44:33.50 ID:k3XYYQgl.net] >>448 for文使ってればイテレータ使ってる rangeでもlisyでもstrでも同じようにfor文で回せるのはイテレータのおかげ
452 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 18:42:03.34 ID:li7FLtWZ.net] 扱う分野で必要なもの全然違うしね 必要になったら学べば良い
453 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 19:51:19.06 ID:deHLhqxB.net] 画像比較作りたいけど おすすめのサンプルプログラムある? 二つ比較して 似ている割合みたいのとれればいいんだけど
454 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 19:55:11.67 ID:FCUwCs4l.net] また宗教的な話をw OPENCV,numpy.openvino のどれかを使いたまえ
455 名前:デフォルトの名無しさん [2021/02/11(木) 11:34:19.30 ID:n0GRjtoR.net] >>447 ありますよ もうちょっと頑張って調べなさい
456 名前:デフォルトの名無しさん [2021/02/11(木) 11:43:19.74 ID:n0GRjtoR.net] >>453 https://www.imagazine.co.jp/%E9%A1%9E%E4%BC%BC%E7%94%BB%E5%83%8F%E6%A4%9C%E7%B4%A2%E3%81%AE3%E3%81%A4%E3%81%AE%E6%89%8B%E6%B3%95%E3%81%A8%E7%B2%BE%E5%BA%A6%E5%90%91%E4%B8%8A%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF/ https://qiita.com/best_not_best/items/669aaa9e1b8de647d29d https://pystyle.info/opencv-match-shape/
457 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 11:01:49.66 ID:fibZz6ZJ.net] GUIのテキストラベルを関数内で変更するには、そのテキストのインスタンス生成をグローバルで実施する必要があるのでしょうか? main関数内でGUIを作成して、別の関数から呼び出そう、書き換えようとするとエラーが出てしまいます
458 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 11:42:10.00 ID:fibZz6ZJ.net] 追記です もともとメインだけのプログラムだったのですが、処理部などを分けていくにあたって、上記問題となりました。 ボタンやテキストラベルが多いため、GUIだけでも分離できたらなと思ってます。
459 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 12:56:12.11 ID:9pKWi6uS.net] エラーメッセージは飾りじゃないんだゾ ちゃんと読むんだ
460 名前:デフォルトの名無しさん [2021/02/12(金) 13:28:10.74 ID:x9NfpsA7.net] GUIってどれ使ってんの
461 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 13:35:33.64 ID:3wJJOYZl.net] 恥ずかしがらずに再現できるコードを出しましょう
462 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:15:13.03 ID:Xi6F12r7.net] OCR使ってみたんですが画像にちょっとシミ付いただけでめっちゃ精度落ちるんですけど
463 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:25:54.79 ID:YkYoXOlY.net] そんなもんだろ 実運用ならGoogle Vision APIとか使え
464 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:36:15.52 ID:Xi6F12r7.net] d つこうてみる
465 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:13:14.19 ID:kyaOMlKJ.net] ファイルfを新規open なにか書く *ファイルfをclose *ファイルfを追記open なにか書く *ファイルfをclose *ファイルfを追記open (これを何回か繰り返す) ファイルfをclose ていうことをやってるんだけど、*印のファイルfをclose・ファイルfを追記openをdefにしたら local variable 'f' referenced before assignment ていうエラーが出てしまいました。 defの中でf=openて書けないんでしょうけど、こういう場合て繰り返しのところをコードのマクロとか部品みたいにできないのでしょうか? ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。
466 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:43:32.68 ID:XqdE9YRe.net] なんていうかwith使え
467 名前:デフォルトの名無しさん [2021/02/13(土) 07:57:55.39 ID:dvbWR5uB.net] with使えっていうのは当然として、設計寄りの話としてDAOあるいはRepositoryと言われるパターンを勉強すると良い。