Pythonのお勉強 Part66

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
垢版 |
2021/11/15(月) 18:59:43.37ID:f2uNQEAt0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇 Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/04/07(木) 22:24:52.90ID:mc5hILqJ0
>>451
Automator上からCLIのcliclick叩くのもシンプル
Python関係なくなるけど

>>452
Playwrightという選択肢も
2022/04/07(木) 22:40:15.09ID:CY3kh5ar0
tensorflowを2.8に上げるに伴って対応CUDAを日本語で調べたのが失敗だった
Google一番上に出てきた金子なんちゃら研究室の通りにCUDAとcuDNNのバージョン入れたらGPU使う動作でデバグできないエラー出てかなり悩んだわ
結局あれやこれや試したあと環境見直すときにTFの公式ページ熟読してバージョンが一致してないことが発覚
pythonに限ったことじゃないけど情報を集める場所は考えたほうがいいわ
2022/04/08(金) 00:32:49.12ID:ZCeEf8ov0
AIプログラミング初心者のための勉強ってどんな教材がいい?
ネットの月額教材は月額万単位のものも多いし、書籍はTensorflow1.xにしか対応してないものも多くて何を使えばいいのかさっぱり
2022/04/08(金) 00:51:37.04ID:aiXehUxt0
やりたいことがあればそれに突き進めばいいんだけど
英語が苦じゃなければいきなりKaggle
あとはこんなの
https://campaigns.google.co.jp/kids_ai/
2022/04/08(金) 01:07:42.82ID:r95liLn00
nn console
458デフォルトの名無しさん (ワッチョイ 4b10-7Nbo)
垢版 |
2022/04/08(金) 01:11:12.45ID:ViZWtTWj0
公式チュートリアル1から嫁
2022/04/08(金) 05:20:03.80ID:RDLEcCmed
ん10年ぶりに何かつくろうかとpython触ってみて
動的にクラスが作れるのはびっくり
2022/04/08(金) 11:20:08.15ID:pzSgmDvP0
seleniumのwebドライバはサウンド機能もあるので、
起動すると音量ミキサーに追加される
でも閉じる時に何故か消えてくれないので、
何度も起動してると音量ミキサーにブラウザが無限に並んでえらいことに
461デフォルトの名無しさん (ワッチョイ e568-eL9I)
垢版 |
2022/04/08(金) 12:08:05.20ID:ZCeEf8ov0
AI教材の件
教えてくれてありがとう
いろいろ試してみる
2022/04/08(金) 12:13:33.91ID:pzSgmDvP0
driver.close()の他にdriver.quit()も要るのか
463デフォルトの名無しさん (ワッチョイ a389-zoQf)
垢版 |
2022/04/08(金) 12:39:02.65ID:6ypNPyRK0
>>453
ありがとうございます。
やはりpython内でできるようにしたいので他の方法を考えてみます。
2022/04/08(金) 15:03:37.81ID:CY2NgfkZ0
すみませんPython初心者ですが質問です

MAX/MSPから常に値をOSCで送って、配列を長くしていきたいんですが、
.appendしても配列が常に更新されて長さが1のままです
ソースは下です

https://dpaste.com/2F4FM24EE

OSCで値が送られてくるたび配列に格納していきたいのですが、それでトライ&エラー的に
変数aをインクリメントしようとしてるのですが、ずっと1のまま
なぜでしょうか
教えてください
2022/04/08(金) 15:07:23.70ID:ty7rgx/da
>>464
pythonの基本的な書き方確認すればええよ
2022/04/08(金) 15:10:50.60ID:CY2NgfkZ0
>>465

レス有難うございます、もう少し具体的に教えていただけませんか。。
2022/04/08(金) 15:12:51.87ID:ty7rgx/da
>>466
いや全然わからんわけでしょ?
現状では無理よ
2022/04/08(金) 15:17:52.05ID:CY2NgfkZ0
ではPythonではなく一般論として、まず普通関数が呼び出されたらそのつど実行されますよね
そこで単に呼び出されるたびに数字をひとつづつ足したものを表示していけば数字は増えていくはずなのに、
そうなっていない

これはなぜなのですか?
Pythonに特有の現象なのですか?
2022/04/08(金) 15:19:50.44ID:ty7rgx/da
>>468
数字を一つずつ足す関数が書けるんですか?
2022/04/08(金) 15:25:52.75ID:CY2NgfkZ0
>>469

関数を呼び出すたびに
a += 1

これでいけませんか?
文法的な間違いはないようですが
2022/04/08(金) 15:29:34.61ID:pzSgmDvP0
インデントの間違いでは
2022/04/08(金) 15:37:04.91ID:CY2NgfkZ0
>>471

インデント、ほかの言語と違ってかなり重要なんですね、有難うございます
揃えましたが、結果的には同じようです・・・
2022/04/08(金) 15:44:58.02ID:+3oW9fkFM
同じなわけ無いだろ
もっかい確認しれ
2022/04/08(金) 15:45:50.65ID:pzSgmDvP0
あとは変数のスコープ関連だな
2022/04/08(金) 16:23:41.40ID:CY2NgfkZ0
>>473, 474

有難うございます、インデントを揃え、スコープもググったうえで関数内の変数をグローバル変数にしましたが、
11111111111111111111111111111111111111111111111

と出ます
ソース↓
https://dpaste.com/G7LWT56FW

なぜでしょうか・・・
2022/04/08(金) 16:39:41.66ID:pzSgmDvP0
呼ばれ方が判らないけど、毎回初期化してるのでは
2022/04/08(金) 16:42:17.38ID:CY2NgfkZ0
あ、上のソースで出来ました・・・お騒がせしました。
みなさんありがとうございました。
2022/04/09(土) 12:10:03.12ID:clV5r5o80
forのループのやり直しってできないのかな
continueはやり直しではなく、残りの処理を飛ばして次のループになってしまう
そうではなくて、今のループをもう一度
2022/04/09(土) 12:20:19.97ID:qQptZxW8a
成功するまでやった方が健康には良さそうだが…
480デフォルトの名無しさん (ワッチョイ 4f5f-n8Mu)
垢版 |
2022/04/09(土) 12:22:58.15ID:V7cnhGCg0
それ、ちょっとミスると無限ループだよね

何をやりたいのか分からないけど、例えばforループの中での処理を関数で定義しておいて、
条件を満たすときだけその関数をもう一度呼び出すとかじゃダメなの?

def funcA(int):
 hogehoge
 fugafuga

for i in range(20):
 funcA(i)
 if hoge == fuga: funcA(i)
2022/04/09(土) 12:38:06.09ID:clV5r5o80
やりたいのはエラー時のリトライだけど、どうやっても無限ループの可能性は残るので、
リトライ回数とか見て抜ける仕組みはどうせ必須で、
それならwhileループをもう一重増やしても大差ないし遥かに読みやすい

需要が無いから機能も無いんだろうな
2022/04/09(土) 12:52:43.14ID:qQptZxW8a
ループじゃなくて、キューを用意した上で動的にスケジュールすると考えた方がよいのかも
483デフォルトの名無しさん (ワッチョイ 0610-3n4s)
垢版 |
2022/04/09(土) 13:00:31.56ID:DVQDA1Qq0
>>478
詩的だね
484デフォルトの名無しさん (ワッチョイ 0610-3n4s)
垢版 |
2022/04/09(土) 13:02:55.56ID:DVQDA1Qq0
単純にwhileで成功時のみカウントをインクリメントするか
2022/04/09(土) 13:49:13.82ID:a9m8EYfTM
無理にrange使う必要ないもんな
2022/04/09(土) 14:50:19.51ID:clV5r5o80
リトライ処理の書き方

for _ in range(リトライ回数)
 処理
 if error:
  continue
 break
else:
 エラー処理

正常終了したら必ずbreakで抜けるというのは、驚きなく読まれるだろうか
487デフォルトの名無しさん (ワッチョイ 67b1-WWIQ)
垢版 |
2022/04/09(土) 15:56:36.21ID:dKyIxCe60
whileを使え。
無理矢理、力技やると後から見てワケわからん状態になるぞw
2022/04/09(土) 16:03:55.14ID:8+YqGKMM0
過ぎ去った青春をやり直したい
2022/04/09(土) 17:02:20.14ID:clV5r5o80
forでもwhileでも本質的には変わらない
正常時にbreakで抜けるのは慣用句かどうか
2022/04/09(土) 17:24:47.82ID:mo38de660
複数のif文をループ内で続ける場合は
breakを使えば次のif文はelifでなくてもいいという違いはあるな
2022/04/09(土) 17:38:36.12ID:87umrizs0
俺が引き継ぐとしたらwhileにしておいてほしい
2022/04/09(土) 17:38:52.45ID:fKWuF8Ed0
forとかWhile文にelse文付けるやり方って可読性落ちるからやりたくねーな……

よく見かける書き方だとこんな感じでね?
While isError AND リトライ回数 < リトライ上限:
2022/04/09(土) 17:43:24.27ID:jgJoozbM0
StopIterationやAttributeErrorも正常系でつかうし
こねくり回したコードになるならbreakでスッキリ書きたいしありかな
2022/04/09(土) 17:46:50.44ID:132nXd6zM
よくわからんけど関数化してデコレータでリトライすればいいんじゃないの?
495デフォルトの名無しさん (ワッチョイ 232c-TG4f)
垢版 |
2022/04/09(土) 17:53:31.16ID:lCz4U8HD0
limit = 00
count =0
while True and count <= limit:
__count +=1
__try:
___for
__except:
2022/04/09(土) 18:26:43.74ID:clV5r5o80
>>492
ループ抜けた後に、結局処理できたのかできなかったのかはカウンタ見るの?
2022/04/09(土) 19:01:16.37ID:erlZKZM80
>>486
普通こうじゃないの?
for _ in range(リトライ回数)
 処理
 if success:
  print('正常終了')
  break
else:
 print('リトライオーバー')
2022/04/09(土) 19:10:11.63ID:clV5r5o80
確かに
出口を2つも書くのは追いにくい
2022/04/09(土) 19:30:36.35ID:fKWuF8Ed0
>>496
カウンタで見ても良いけど、
結局ループ抜けた直後はisError(エラーかどうか)の値は変わってないから
そっちで判定しても問題ない
2022/04/09(土) 19:46:27.41ID:clV5r5o80
どっちにしても流用してる感があるなあ

エラーかどうかが戻り値や式なら変数に入れなくてもいいのに、
後で参照する為に変数を増やさないといけない
それより、elseの方が明示的
2022/04/09(土) 19:57:04.93ID:jgJoozbM0
運悪くクソコードで学んでしまってそこで止まってるんだからしょうがない
切り替えていこう
2022/04/09(土) 20:09:17.21ID:fKWuF8Ed0
>>500
>後で参照する為に変数を増やさないといけない
変数を増やすことに抵抗感じる人とかおるのか……
そら極端に細かく分ける事はないけど
エラーチェック結果ぐらいは変数に入れてもええやん
2022/04/09(土) 20:14:18.56ID:TiDOyS5/0
新しい職場でpyspark使うことになったけど日本語ドキュメント少な過ぎて困る
せめてpandas主体ならいいのにデータ量多くてpandasだと処理しきれないことがある
2022/04/09(土) 22:19:11.52ID:ybdxAeLn0
>>478
breakで不適切な数値の時に対処してないかな?

passかcontinueで
2022/04/10(日) 00:38:55.00ID:YY9dKz/y0
pylintかけると、
continue, breakで抜けてる場合は
elseは余計と怒られるな
2022/04/10(日) 00:43:35.19ID:dAyCsfYJ0
>>478
やり直しのためのループとメイン処理のループは目的が違うんだから一つにまとめず分けたほうがいい
結果として2重ループになるわけだけどもインデントが深くなるのを避けるために関数化
2022/04/10(日) 07:40:38.07ID:Cd8Fw5+60
continueで終わった時もelseは実行されるでしょ
そこに混乱は無いと思う
breakとelseは当然排他するけど、その性質を使いたいのに使うと怒られるのか
2022/04/10(日) 11:42:15.24ID:sN01S/ry0
>>505
それelseのインデント位置が間違ってない?
2022/04/10(日) 11:44:29.83ID:vpYyJyBEa
いや、pylintは自明なelseが嫌いなんだよ
510デフォルトの名無しさん (ワッチョイ a289-6nGD)
垢版 |
2022/04/10(日) 12:16:55.10ID:1+/qESij0
macで作ったpyファイルをmac内でexeファイルにする方法ってあったけ?
pyinstallerでappはできた
2022/04/10(日) 12:19:19.45ID:Cd8Fw5+60
breakしてないのにelseしてたら、
そんなもんループの外に書いても同じだから紛らわしいだけだけど、
普通はわざわざelse付けるのはbreakしたことをフラグで覚えるのが嫌だからなので、
自明でもなんでもない
2022/04/10(日) 12:24:01.06ID:Q6S0/uRR0
>>510
https://pyinstaller.readthedocs.io/en/stable/
> it is not a cross-compiler: to make a Windows app you run PyInstaller in Windows;

Wineか仮想マシンでやるしかなさそう
2022/04/10(日) 12:32:11.07ID:wfU7fa8L0
for_else有り
https://ideone.com/zfxztw

for_else無し
https://ideone.com/nnc884

まあどっちが見やすいかって話やね
確かEffectivePython辺りだとforとかwhileみたいなループ処理にelse付けると
読みにくくなるから止めろっていう風には書かれてたな
2022/04/10(日) 13:02:42.81ID:Q6S0/uRR0
読みやすさでいうとこういうコード自体ユーザコードで書かないでほしいけどね
is_errorみたいな状態変数が不用意だし
読み解かないとリトライ処理だなーてわからんから見通しが悪い
>>494みたいに処理側にretryデコレータつけるとか
命名がはいる余地をつくって明示的に書いてほしい
2022/04/10(日) 13:06:47.56ID:Cd8Fw5+60
elseありの方は、エラー無しの時にbreakして、continueは省略できる
is_errorのフラグが前提になってるから大差ないように見えるけど、
is_error = process() みたいに戻り値で判るならフラグも省略できる
2022/04/10(日) 13:15:28.04ID:Cd8Fw5+60
effective pythonの言い分
https://i.imgur.com/AhPKvgG.png

やっぱり直感的ではないよね
>>486の疑問に戻る
2022/04/10(日) 13:28:21.33ID:Cd8Fw5+60
キーワードがelseではなくuncompletedとかならまだ読めただろうに
2022/04/10(日) 13:41:07.96ID:tqQl7G5m0
final とかならまだわかるけど uncompleted とか意味不明
動作理解してる?
2022/04/10(日) 13:45:49.68ID:8N8Sc6On0
ループが最後まで回ったら完了なのか途中でブレークしたら完了なのかは場合によるんだからcompleteなんてキーワード使ったら余計混乱するんじゃね?
2022/04/10(日) 13:47:15.18ID:Cd8Fw5+60
ああ、逆
uncompletedでない時だから普通にcompleted
finalyだと何でもいいから最後に実行に思える
elseだとそうすら思えない
2022/04/10(日) 13:49:36.77ID:+G9OWortM
結論で言うと糞構文だから使うなってことかね
2022/04/10(日) 13:53:38.37ID:GqpgRuIN0
たぶん、議論の前提が噛み合ってない
・for/while文の中のif文のelse
・pythonでのfor/while文のelse
2022/04/10(日) 13:56:40.53ID:Cd8Fw5+60
古い言語での常套句みたいなのがあって、
pythonならそんなことしなくても言語仕様で書けるよ、という提案がいくつもあって
それらの多くは便利だと取り入れられたけど
ループのelseはもう少しなんとかならなかったのかと
2022/04/10(日) 14:04:16.70ID:sN01S/ry0
>>516
early returnしとけばいいと思う

for i in range(max_tries):
 try:
  return fn(*args, **kwargs)
 except errors as e:
  if i + 1 >= max_tries:
   raise RetryOverError from e
  else:
   print(f"Will be retried after {delay} sec...")
   sleep(delay)
2022/04/10(日) 14:36:08.85ID:tqQl7G5m0
これでよくね?
for i in range(max_tries):
 try:
  return fn(*args, **kwargs)
 except errors as e:
  print(f"Will be retried after {delay} sec...")
  sleep(delay)
raise RetryOverError from e
2022/04/10(日) 16:21:54.44ID:sN01S/ry0
>>525
リトライオーバー時に不必要なdelayが入って
リトライしますよってメッセージも出ることになるよ
2022/04/10(日) 16:29:36.99ID:sN01S/ry0
あと細かいけどfrom eのところでeがスコープ外になるはず
528デフォルトの名無しさん (ワッチョイ a289-6nGD)
垢版 |
2022/04/10(日) 17:07:41.15ID:1+/qESij0
>>512
ありがとう
大人しくwindowsの方に環境作り直すわ
2022/04/10(日) 17:27:46.30ID:Cd8Fw5+60
うまく処理できませんでした
とう結果をどう扱うかはその場では判断できなくて、ずっと上まで持ち帰る必要があるんだよな
それをそのまま実装すると、エラーリトライの結果を受け取った関数がまたリトライして、
その結果を受け取った関数がまたリトライして、みたいにリトライまみれになる

だからリトライなんか気にせずに必ず成功する体で実装して、
末端がエラーをraiseして、それを適切なレベルの人が拾う
という仕組みがあるべき姿な気がする
2022/04/10(日) 18:16:57.91ID:dAyCsfYJ0
>>529
せやからリトライとメイン処理のループの目的が違うんだから分けなきゃわけわからんことになる
2022/04/10(日) 18:55:25.09ID:ImIzhDab
for _ in range(リトライ回数)の中を関数化するのはダメなん・・?
2022/04/10(日) 20:20:59.84ID:2AahvlRad
>>528
Github ActionsのWindowsランナー使えば
2022/04/10(日) 20:55:29.50ID:ImIzhDab
>mac内で
ブラウザ使っちゃいけない縛りがある場合はあれだけど
google colabでは一応実行ファイルは作れた >>510
できた実行ファイルの動作確認はしてないすまん
https://colab.research.google.com/drive/1z8aScMiKu7NBclJ7xv88WovewhJyzTDf
2022/04/11(月) 04:33:58.47ID:+2lQ4ezC0
なんでvenvで検索してんのにpyenvが出てくるのか分からんわ開発者にはちゃんと意味のある命名して欲しいわ本当に
535デフォルトの名無しさん (ワッチョイ db89-6nGD)
垢版 |
2022/04/11(月) 14:46:19.50ID:Lw7h7fgH0
以下を参考にOpenCV使って類似画像を見つけられるようになった
https://qiita.com/best_not_best/items/c9497ffb5240622ede01のfeature_detection

だけど数が多いと処理にすごく時間がかかる
どうすると処理を短くできるでしょうか?
2022/04/11(月) 15:16:20.14ID:rtvFP8bxM
実行中にCPUやGPU(有効になってる場合)は使い切ってる?
使い切ってないなら並列に実行すれば短くなる可能性あるよ
ただ、ファイル単位の並列実行なら大して難しくないけど、画像を領域分割してだと割と難しいかもね

使い切ってるなら別のアプローチが要るね
検出パラメータの調整、強力なハードウェア、途中計算のキャッシュ、検出結果を再利用できるようなアルゴリズムの開発…
再利用できるようなアルゴリズムっていうのは、例えば素朴なレーベンシュタイン距離で類似度を計算しているとする
で、dist(a, b)で計算される距離が10で、dist(a, c)が255だったら、少なくともdist(b, c)>=245は距離を直接求めなくても分かる
というような奴
2022/04/11(月) 15:52:47.45ID:2aNotDwL0
ImageHashだと速い
見つけてきたものは確かに似てるけど、
似てる筈なのに見つけてくれないケースもある
2022/04/11(月) 16:19:12.98ID:6TVRVlNI0
>>535
要件によるけど、そもそも抽出した特徴点をDBに保存しておいて、新規画像が来たらその特徴点抽出だけ行い、DBに保存した特徴点群との比較を行えばよいように作る
さらに言えば特徴点はどうせベクトルだろうからあり物の近似最近傍探索ライブラリを使う
539デフォルトの名無しさん (ワッチョイ db89-6nGD)
垢版 |
2022/04/11(月) 17:56:47.55ID:Lw7h7fgH0
>>536-538
ありがとうございます。
最終的にSimiPixの様な物が作りたいと思っています。
https://www.vector.co.jp/soft/winnt/art/se363819.html

すぐできそうなことは並列処理とImageHashとデータベースですね。

近似最近傍探索はあまりわからないのですがこの辺りを調べてみようと思います。
https://qiita.com/wasnot/items/20c4f30a529ae3ed5f52
2022/04/11(月) 19:00:35.25ID:6TVRVlNI0
>>539
YahooのNGTってライブラリもなかなか使いやすいので見てみて
541デフォルトの名無しさん (ワッチョイ df01-BBqR)
垢版 |
2022/04/11(月) 19:31:41.07ID:xDb1C0xA0
質問です。
flaskやりたいのですがpycharmだとプロ版じゃないと使えないっぽいです。
vsではできますか?
またvs以外でflaskできる環境があれば教えて下さい。
*マルチgpu対応ならグラボ3枚買いたいです!
宜しくお願いします。
2022/04/11(月) 20:23:41.43ID:UtSmTUXjM
3枚じゃ重くて開発できないよ
最低5枚は刺さないと
543デフォルトの名無しさん (ワッチョイ df01-BBqR)
垢版 |
2022/04/11(月) 20:31:08.79ID:xDb1C0xA0
>>542
おすすめのgpuありますか?
2022/04/11(月) 20:50:52.80ID:2aNotDwL0
2枚で十分ですよ
2022/04/11(月) 21:07:06.61ID:TOCZtKxx0
なんなら最初は1枚でおk
546デフォルトの名無しさん (ワッチョイ df01-BBqR)
垢版 |
2022/04/11(月) 21:13:55.33ID:xDb1C0xA0
>>544
ありがとう!
>>545
マルチGPUでcudaとか使いたいので複数枚希望してます。
2022/04/12(火) 09:19:08.59ID:jVqQVAI70
初心者の質問失礼します。

MAX/MSP からリアルタイムで値を送ってそれを配列に格納するところまでは完成したのですが、
配列を格納している関数内でprintするとちゃんと値が入っています。
しかしその関数をスタートさせてる関数のなかでは、グローバル変数として扱ってにも関わらず、全く値が入っていません。
ソース↓
https://dpaste.com/9WVLDX4X5

このfrag1という関数で、MAX側でフラグを1にしてやったときプロセスがスタートして値が格納されるのですが、
MAX側でフラグを切ってif条件分のelseにいったところでその配列をprintしてやっても、何も格納されていないようです。

どういった原因が考えられるでしょうか・・・
2022/04/12(火) 09:27:40.69ID:/ALgm6Us0
冒頭でsendfragを上書きしてるのはいいの?
2022/04/12(火) 09:32:25.70ID:jVqQVAI70
>>548

レス有難うございます。
sendfrag自体は問題なく機能しています、つまりMAX側でフラグを変えれば、Pythonのif条件文周りは問題なく機能しています。
2022/04/12(火) 10:43:40.14ID:tkql2Ido0
別プロセスだから共有メモリやプロセス間通信使わないとだめなのでは?
2022/04/12(火) 11:44:07.75ID:fdFUG1QIa
python でグローバル変数は地味に難しい
2022/04/12(火) 11:57:34.40ID:/ALgm6Us0
最初関数すら無いような状態で作り始めて
一部を下請けにしたくて全体をmain()にして機能で切り分けていくと、
スコープから外れてどんどん動かなくなる

ちゃんと作ってあれば少ない引数の受け渡しで改造できるけど、
設定とかにどうしてもグローバルが残る
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況