当スレに★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公式サイト◇ http://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 ###
探検
くだすれPython(超初心者用) その52【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
2021/01/09(土) 05:22:25.24ID:IpHIsox4
352デフォルトの名無しさん
2021/02/06(土) 23:05:26.75ID:l1Q4fjMo353デフォルトの名無しさん
2021/02/06(土) 23:08:53.63ID:s8ZQn1/T その例のコードで 0,1,2,3,3,3,...... って出力されるの?
やべーねその言語
やべーねその言語
354デフォルトの名無しさん
2021/02/06(土) 23:10:49.88ID:B5gVBJsh forじゃなくてwhileを使うのでは…
355デフォルトの名無しさん
2021/02/06(土) 23:11:47.83ID:Ye4r/rjw for i in range(5):
print (min(i, 3))
print (min(i, 3))
356デフォルトの名無しさん
2021/02/06(土) 23:12:43.26ID:9BgHZVUo for i in range(5):
____if i > 3 : i=3
____print(i)
____if i > 3 : i=3
____print(i)
357デフォルトの名無しさん
2021/02/06(土) 23:15:55.88ID:1hxtRDLK やりたいことはジェネレーターで無限ストリームっぽい気がする
358デフォルトの名無しさん
2021/02/07(日) 00:16:21.39ID:jpmL2+yv こういうこと?
i = 0
while True:
x = i
if i > 2:
x = 3
i = i + 1
print(x)
i = 0
while True:
x = i
if i > 2:
x = 3
i = i + 1
print(x)
359デフォルトの名無しさん
2021/02/07(日) 02:02:20.67ID:QRtsbk1z [i if i < 3 else 3 for i in range(5)]
360デフォルトの名無しさん
2021/02/07(日) 04:46:16.11ID:9cKdY56s printせえよ
361デフォルトの名無しさん
2021/02/07(日) 08:50:24.56ID:JR5bkMUq362デフォルトの名無しさん
2021/02/07(日) 09:10:55.34ID:FFuFCGQD sorted関数はwindowsの名前順と同じようにソートするんですか?
natsort?
natsort?
363デフォルトの名無しさん
2021/02/07(日) 10:44:13.68ID:KNf11SZT dictの型ヒント書こうとしているんだけど、TypeScriptみたいにキー毎に
値の型を指定するような芸当は無理だよね?
値の型を指定するような芸当は無理だよね?
364デフォルトの名無しさん
2021/02/07(日) 10:57:54.98ID:7XkuYEp+365デフォルトの名無しさん
2021/02/07(日) 11:24:42.44ID:KNf11SZT すげぇ。ありがとう。
366デフォルトの名無しさん
2021/02/07(日) 11:44:28.72ID:kn8KLgWd >>362
Windowsのソート順は分からないけど
Windowsのソート順は分からないけど
367デフォルトの名無しさん
2021/02/07(日) 13:56:45.22ID:+o5/+U2b >>366
windows上で、フォルダの中に名前順に並んだ複数ファイルがあって
これをそのままの順番で取得したいんですが、glob+sortedでいいのでしょうか?
windows上での並び順と異なる場合があるとかだと困るのです
windows上で、フォルダの中に名前順に並んだ複数ファイルがあって
これをそのままの順番で取得したいんですが、glob+sortedでいいのでしょうか?
windows上での並び順と異なる場合があるとかだと困るのです
368デフォルトの名無しさん
2021/02/07(日) 14:00:38.24ID:NCHwUWPY >>367
なんで困るの?
なんで困るの?
369デフォルトの名無しさん
2021/02/07(日) 14:10:44.92ID:7XkuYEp+ sortedはnatsortじゃないです
370デフォルトの名無しさん
2021/02/07(日) 14:11:22.42ID:3B496xZd _1 と _01 の話でしょう。
エクスプローラは長さ判定の方が
優先順位が高いアルよ
エクスプローラは長さ判定の方が
優先順位が高いアルよ
371デフォルトの名無しさん
2021/02/07(日) 14:33:32.29ID:mFk3/GAA エクスプローラーのソート順は全角半角同一視とかロケール依存もあるでよ
372デフォルトの名無しさん
2021/02/07(日) 15:22:35.38ID:FFuFCGQD スクリプト使用者は日本語環境のwindows
フォルダ内に任意の命名規則の連番ファイルが数種類混在する
つかわれる文字種は全半角日本語英語、数字と記号(文字化けした中国語っぽいやつはありえる)
例えば
.01.02
.あ001.い001
._01a._01b
という3ルールがひとつのフォルダ内にあって、命名規則は制限できない
エクスプローラー上で表示される名前順の並びに意味があるので、順番を保持したデータ構造を取得したい
です!
フォルダ内に任意の命名規則の連番ファイルが数種類混在する
つかわれる文字種は全半角日本語英語、数字と記号(文字化けした中国語っぽいやつはありえる)
例えば
.01.02
.あ001.い001
._01a._01b
という3ルールがひとつのフォルダ内にあって、命名規則は制限できない
エクスプローラー上で表示される名前順の並びに意味があるので、順番を保持したデータ構造を取得したい
です!
373デフォルトの名無しさん
2021/02/07(日) 15:31:29.22ID:0RC+Q+w9 あ、個々の連番ファイル作成者も日本語windowsのエクスプローラーで順番を確認してます
374デフォルトの名無しさん
2021/02/07(日) 15:39:10.65ID:LHj1ntdf sortedは単なる辞書順
375デフォルトの名無しさん
2021/02/07(日) 15:54:16.47ID:UfsgAoOW natも違う
windowsは.01→01と並べるけどnatは逆になる
windowsは.01→01と並べるけどnatは逆になる
376デフォルトの名無しさん
2021/02/07(日) 16:09:32.73ID:QRtsbk1z それを使って何がしたいのか分からないと見当違いになるかも知れないけど
ファイルへの処理を疎結合にはできないの?
あとはこれもnatsortと同じなのかな
sorted(paths, key = lambda x: int(x.name))
ファイルへの処理を疎結合にはできないの?
あとはこれもnatsortと同じなのかな
sorted(paths, key = lambda x: int(x.name))
377デフォルトの名無しさん
2021/02/07(日) 16:13:58.14ID:kn8KLgWd そもそもWindowsと同じ並びにしなければならない理由が理解できないんだけど
どういう理由なの?
もし並び順に依存した処理が必要なんだっていうならばその実装がおかしいと思うけどな
どういう理由なの?
もし並び順に依存した処理が必要なんだっていうならばその実装がおかしいと思うけどな
378デフォルトの名無しさん
2021/02/07(日) 16:22:59.73ID:NCHwUWPY エクスプローラー上で表示される名前順に依存しなきゃいけないシステムってのがよくわからないけど
とりあえずnatsortのos_sorted()を試してみたら?
Windowsの場合はエクスプローラが使ってるAPIを使ってる
エクスプローラのソート仕様を100%把握するのは無理な気がするので
どういうテストケースを通ればOKとするかは事前に決めておかないと後で困りそう
とりあえずnatsortのos_sorted()を試してみたら?
Windowsの場合はエクスプローラが使ってるAPIを使ってる
エクスプローラのソート仕様を100%把握するのは無理な気がするので
どういうテストケースを通ればOKとするかは事前に決めておかないと後で困りそう
379デフォルトの名無しさん
2021/02/07(日) 16:25:23.50ID:KNf11SZT windowsと同じにって言っても、ファイルシステムがFAT系とNTFSでも違った気がする。
380デフォルトの名無しさん
2021/02/07(日) 17:00:56.73ID:FFuFCGQD381デフォルトの名無しさん
2021/02/07(日) 17:11:24.53ID:QRtsbk1z 正規表現で群を分割してそれぞれの群に対して逐次処理していく
とかだと駄目なのかな?
単純にソートして順に処理していくとファイル漏れがあった時とかにバグりそう
とかだと駄目なのかな?
単純にソートして順に処理していくとファイル漏れがあった時とかにバグりそう
382デフォルトの名無しさん
2021/02/07(日) 17:25:25.92ID:kn8KLgWd 早々に破綻しそう
ユーザー名や更新日時を基準に考え直した方が早いよ
ユーザー名や更新日時を基準に考え直した方が早いよ
383デフォルトの名無しさん
2021/02/07(日) 17:31:05.90ID:JR5bkMUq ういんどーずあぷでーとである日地獄になりそう
384デフォルトの名無しさん
2021/02/07(日) 17:42:05.53ID:kn8KLgWd まずaさんとbさんのデータをわけなよ
その上でファイル名を正規化してソート出来る形にする
ソートの基準が違うものをソートしようとしてるから物事が複雑になる
なのでまずはソートの基準を揃えることから始めたら良いんじゃねーかな
その上でファイル名を正規化してソート出来る形にする
ソートの基準が違うものをソートしようとしてるから物事が複雑になる
なのでまずはソートの基準を揃えることから始めたら良いんじゃねーかな
385デフォルトの名無しさん
2021/02/07(日) 17:59:41.51ID:Ezbk+4+j 要するに
[".1", "10", "2", "1", ".2", "1"]
をwindowsエクスプローラー上の名前順
[".1", ".2", "01", "1", "2", "10"]
にソートするにはどうすればいいか的な話でしょ?
つか状況がクソだぞって指摘はしてあげるべきだろうが
そこを変えろって回答は論外じゃ…
[".1", "10", "2", "1", ".2", "1"]
をwindowsエクスプローラー上の名前順
[".1", ".2", "01", "1", "2", "10"]
にソートするにはどうすればいいか的な話でしょ?
つか状況がクソだぞって指摘はしてあげるべきだろうが
そこを変えろって回答は論外じゃ…
386デフォルトの名無しさん
2021/02/07(日) 18:10:18.26ID:/kKFnkGm システムはエクスプローラーとか、特定のアプリのアルゴリズムに依存すべきじゃない。
ある日突然、変わるかも知れない。
API・規格が無保証だろ
自分のアプリは、自分で規格を定義すべき。
そうしないと、可搬性がなくなる
OS・ファイルシステムが異なると、結果が違ってくるから
ある日突然、変わるかも知れない。
API・規格が無保証だろ
自分のアプリは、自分で規格を定義すべき。
そうしないと、可搬性がなくなる
OS・ファイルシステムが異なると、結果が違ってくるから
387デフォルトの名無しさん
2021/02/07(日) 18:12:05.44ID:RFMN3ZYm こういうメンドクセーもんは大抵はどっかの誰かが既に作ってあるハズだからpypiで探すか
標準で提供されてると見当つけて公式サイトを探す
自分が欲しいと思ったモンは99.99%の確率で他の誰かが既に実装してる
標準で提供されてると見当つけて公式サイトを探す
自分が欲しいと思ったモンは99.99%の確率で他の誰かが既に実装してる
388デフォルトの名無しさん
2021/02/07(日) 18:12:49.36ID:NCHwUWPY >>385
命名ルールがわからないからそれで十分かどうかはわからない
ある時点のあるPCで見たエクスプローラの名前順をPythonで再現したいという話
命名ルールも再現したいエクスプローラのソート仕様の範囲も不明確なので事故るかどうかは運任せ
命名ルールがわからないからそれで十分かどうかはわからない
ある時点のあるPCで見たエクスプローラの名前順をPythonで再現したいという話
命名ルールも再現したいエクスプローラのソート仕様の範囲も不明確なので事故るかどうかは運任せ
389デフォルトの名無しさん
2021/02/07(日) 18:31:26.56ID:4v/nAOdw >>367
windows って explorer で表示したときの並び順と
プロンプトで dir で表示したときの並び順が
違うって知ってた?
0000
0001
1
111
10
20
みたいなファイル名で試してみ
windows って explorer で表示したときの並び順と
プロンプトで dir で表示したときの並び順が
違うって知ってた?
0000
0001
1
111
10
20
みたいなファイル名で試してみ
390デフォルトの名無しさん
2021/02/07(日) 18:39:15.86ID:JR5bkMUq391デフォルトの名無しさん
2021/02/07(日) 18:53:51.92ID:cgYbYP7a この言い訳の山よw
392デフォルトの名無しさん
2021/02/07(日) 18:54:51.98ID:JR5bkMUq >>391
見本コードはようp
見本コードはようp
393デフォルトの名無しさん
2021/02/07(日) 19:04:34.30ID:uQM/ElP7 並列処理をしているときに、何が実行されているか確認することって出来ますか?
キューに入って順番待ちになっているタスクも確認したいです。
WEBページを2〜3ページ並列で取得するようにしてるのですが、並列にしたときにデバッグで確認することも難しく教えていただければと思います。
キューに入って順番待ちになっているタスクも確認したいです。
WEBページを2〜3ページ並列で取得するようにしてるのですが、並列にしたときにデバッグで確認することも難しく教えていただければと思います。
394デフォルトの名無しさん
2021/02/07(日) 19:05:55.85ID:kn8KLgWd Pythonだとcelery
395デフォルトの名無しさん
2021/02/07(日) 19:25:21.61ID:3B496xZd 9x年代の「accessの美しいsort順」の
再来かよw
アレの実装も凄いな
再来かよw
アレの実装も凄いな
396デフォルトの名無しさん
2021/02/07(日) 20:09:13.36ID:kn8KLgWd >>385
そもそもユーザーがソート順変えたら破綻する仕組みに依存した設計とかどうしようもないだろ
そもそもユーザーがソート順変えたら破綻する仕組みに依存した設計とかどうしようもないだろ
397デフォルトの名無しさん
2021/02/07(日) 20:11:08.97ID:JR5bkMUq ユーザーが2個目のウインドウ開けてそっち見たらおしまいな件
398デフォルトの名無しさん
2021/02/07(日) 21:30:52.36ID:HPp7Agld https://docs.microsoft.com/ja-jp/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw
windowsのpythonのos_sortedはこれで判定してる
windowsのpythonのos_sortedはこれで判定してる
399デフォルトの名無しさん
2021/02/07(日) 21:33:41.58ID:xkZ6C6tJ 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.
だとさ
だとさ
400デフォルトの名無しさん
2021/02/08(月) 00:38:44.29ID:5J2edDoW401デフォルトの名無しさん
2021/02/08(月) 02:14:42.69ID:wlkdd0te402デフォルトの名無しさん
2021/02/08(月) 03:02:58.50ID:wlkdd0te コードはGithubで公開されてるものを突っ込んだ
403デフォルトの名無しさん
2021/02/08(月) 09:25:13.35ID:wJ3JIqDy >>395
くわしく
くわしく
404デフォルトの名無しさん
2021/02/08(月) 09:29:15.28ID:dM4oOJoS スイッチのONOFFに連動してアクション起こすものを作ってみたくてほぼ期待通りの挙動させられるようになったのですが、たぶんimportで他.py呼び出す時にエラー?になります。
スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。
importで呼び出す場合は回数制限のようなものがあるのでしょうか?
スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。
importで呼び出す場合は回数制限のようなものがあるのでしょうか?
405デフォルトの名無しさん
2021/02/08(月) 10:17:14.59ID:WsHYblSd どんなエラーがでてるか、そのまま貼った方がいいと思うな
406デフォルトの名無しさん
2021/02/08(月) 10:58:40.46ID:hgsCKB/O importの実行は一度だけ
なので関数にして都度実行
なので関数にして都度実行
407デフォルトの名無しさん
2021/02/08(月) 12:17:07.33ID:5JxS4RLe 「importで他.py呼び出す時」
「importで呼び出す」
perlじゃないから考え方を変えろ
「importで呼び出す」
perlじゃないから考え方を変えろ
408デフォルトの名無しさん
2021/02/08(月) 12:27:47.27ID:yv+/ZfUq Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね
ソースのその箇所に埋め込む感じの
ソースのその箇所に埋め込む感じの
409デフォルトの名無しさん
2021/02/08(月) 12:44:47.59ID:5KN+Fjzm >>408
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ
410デフォルトの名無しさん
2021/02/08(月) 13:10:02.10ID:dM4oOJoS >>405
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。
>>406
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。
>>407
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。
>>406
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。
>>407
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。
411デフォルトの名無しさん
2021/02/08(月) 14:02:52.07ID:hgsCKB/O412デフォルトの名無しさん
2021/02/08(月) 18:22:57.82 pandasのdropってディープコピーってことは
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか
413デフォルトの名無しさん
2021/02/08(月) 18:54:54.09ID:0fSH6U0R Ruby でも、require・load は異なる
require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う
つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある
require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う
つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある
414デフォルトの名無しさん
2021/02/08(月) 20:10:14.07ID:Ar0nSnLQ415デフォルトの名無しさん
2021/02/08(月) 20:50:16.85ID:wJ3JIqDy 推奨NGワード: Ruby
416デフォルトの名無しさん
2021/02/08(月) 21:18:46.00417404
2021/02/08(月) 21:40:53.51ID:TgcbDI6H 正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。
元々のコード:ttp://codepad.org/RgfCqXLD
変更後:ttp://codepad.org/C9YTzwaU
スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。
元々のコード:ttp://codepad.org/RgfCqXLD
変更後:ttp://codepad.org/C9YTzwaU
スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。
418デフォルトの名無しさん
2021/02/08(月) 21:44:11.22ID:XWqxRkjb >>403
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。
それの紹介記事は残っていた
https://atsushieno.hatenadiary.org/entry/20050704/p2
webアーカイブに残っているかなぁ?
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。
それの紹介記事は残っていた
https://atsushieno.hatenadiary.org/entry/20050704/p2
webアーカイブに残っているかなぁ?
419デフォルトの名無しさん
2021/02/08(月) 22:22:53.64ID:XWqxRkjb >>418
アーカイブされていた
https://web.archive.org/web/19990224184613/http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
アーカイブされていた
https://web.archive.org/web/19990224184613/http://www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
420デフォルトの名無しさん
2021/02/08(月) 23:57:12.05ID:qlvhc88X 親切な方誰か教えてください。
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?
421デフォルトの名無しさん
2021/02/09(火) 00:03:22.35ID:Vys7ayWD 3.6で始めて欲しい機能が最新版にしかなかったら
その時移行する
その時移行する
422デフォルトの名無しさん
2021/02/09(火) 00:05:25.90ID:9lYAN9ot 仮想環境があるから正直どうでもよい
423デフォルトの名無しさん
2021/02/09(火) 00:08:54.47ID:gY4wTt7u >>421 422
ありがとう。とりあえず3.6で初めてみます
ありがとう。とりあえず3.6で初めてみます
424デフォルトの名無しさん
2021/02/09(火) 00:33:28.54ID:D2eLzUKh 3.9でいいよ
・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める
3.6にあってそれ以降無くなった機能あったっけな?
・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める
3.6にあってそれ以降無くなった機能あったっけな?
425デフォルトの名無しさん
2021/02/09(火) 01:08:10.84ID:WN7fm/D8 3.8だと思うように動作しないライブラリあったから3.6に戻した
それ以来,ずっと3.6
それ以来,ずっと3.6
426デフォルトの名無しさん
2021/02/09(火) 01:23:34.91ID:iwKT59GY 3を指定すると3.7.8か3.7.9あたりになるのが多い気がするからその辺が互換的にもよさそう
427デフォルトの名無しさん
2021/02/09(火) 08:41:41.04ID:ArPH6UCx428デフォルトの名無しさん
2021/02/09(火) 09:16:09.94ID:oB9H/ghx 教えていただきたいのですが、
tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。
tkinterは非同期モジュールらしく、
これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?
tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。
tkinterは非同期モジュールらしく、
これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?
429デフォルトの名無しさん
2021/02/09(火) 09:21:39.36ID:LMsNGPvT 非同期なのにフリーズするっておかしくね?
430デフォルトの名無しさん
2021/02/09(火) 10:20:06.37ID:fLSeggtA431デフォルトの名無しさん
2021/02/09(火) 11:42:31.22ID:oB9H/ghx すみません、非同期とかよくわかっていなかったです。
ボタンが全く押せず、ブレークで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()
ボタンが全く押せず、ブレークで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()
432デフォルトの名無しさん
2021/02/09(火) 11:59:05.97ID:ngdRC2S+ >>417
まずはこんな感じの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
まずはこんな感じの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
433デフォルトの名無しさん
2021/02/09(火) 13:05:59.09ID:YRe7Jw73 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]みたいに取り出したいのですがエラーでした
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]みたいに取り出したいのですがエラーでした
434デフォルトの名無しさん
2021/02/09(火) 13:12:01.53ID:YRe7Jw73 訂正 >df['c-a'] = df[['a','c']].diff(axis=1)['c']
df['c-a'] = df[['c','a']].diff(axis=1)['a']
でした
この['c','a']の順は保証されるのかも気になります
df['c-a'] = df[['c','a']].diff(axis=1)['a']
でした
この['c','a']の順は保証されるのかも気になります
435デフォルトの名無しさん
2021/02/09(火) 13:19:02.92ID:Vys7ayWD436デフォルトの名無しさん
2021/02/09(火) 13:20:02.81ID:YRe7Jw73437デフォルトの名無しさん
2021/02/09(火) 13:43:29.24ID:3rwMtM14438デフォルトの名無しさん
2021/02/09(火) 15:54:12.06ID:oB9H/ghx439デフォルトの名無しさん
2021/02/09(火) 19:52:16.41ID:F09oemYA tesseractの他にocrのライブラリってありますか?
教えて下さい。よろしくお願いします。
教えて下さい。よろしくお願いします。
440デフォルトの名無しさん
2021/02/09(火) 20:42:00.18ID:A4TUXs3r >>432
ありがとうございます。もうちょっとちゃんと勉強してみます。
ありがとうございます。もうちょっとちゃんと勉強してみます。
441デフォルトの名無しさん
2021/02/09(火) 22:37:06.14ID:48/GVgda Pathlibで特定のフォルダ以下のファイルを全てglobして
全てのファイルに対して特定の処理をし
その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです
フォルダ構造を維持しつつ保存するために
hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?
全てのファイルに対して特定の処理をし
その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです
フォルダ構造を維持しつつ保存するために
hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?
442デフォルトの名無しさん
2021/02/09(火) 22:48:35.91ID:48/GVgda Path(os.path.relpath)で出来ました
443デフォルトの名無しさん
2021/02/10(水) 00:20:56.79ID:3asw//Zv relative_to()
ドキュメント、読もう!
ドキュメント、読もう!
444デフォルトの名無しさん
2021/02/10(水) 07:56:31.78ID:lV7BodTW イテレータを使わなければならない状況がきてようやく仕組みがちょっと理解できた
今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど
やっぱり必要になって使うべき場面がこないと覚わらんね
今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど
やっぱり必要になって使うべき場面がこないと覚わらんね
445デフォルトの名無しさん
2021/02/10(水) 08:02:53.10ID:0JH6aNHf 使わなくても実装は出来るけどな。
446デフォルトの名無しさん
2021/02/10(水) 11:18:29.15ID:4pogzqlY PySide2のQDialogをESCで閉じさせない方法ってありますかね
調べても出てこない
調べても出てこない
447デフォルトの名無しさん
2021/02/10(水) 12:24:44.38ID:QctJSG9o >>444
イテレータイマイチ使うシーンが想像できんわ
イテレータイマイチ使うシーンが想像できんわ
448デフォルトの名無しさん
2021/02/10(水) 13:05:03.29ID:3asw//Zv 頭から順に処理するならイテレーター
値は取り出すまで評価されない
リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する
値は取り出すまで評価されない
リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する
449デフォルトの名無しさん
2021/02/10(水) 13:27:54.75ID:2MYUAlGB ジェネレータイテレーターな
450デフォルトの名無しさん
2021/02/10(水) 13:44:33.50ID:k3XYYQgl451デフォルトの名無しさん
2021/02/10(水) 18:42:03.34ID:li7FLtWZ 扱う分野で必要なもの全然違うしね
必要になったら学べば良い
必要になったら学べば良い
■ このスレッドは過去ログ倉庫に格納されています
