↑スレ立てる毎に減るので、減ってたら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://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part70
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 8b01-Qpn1)
2023/03/04(土) 00:18:00.31ID:dUl31UkL0647デフォルトの名無しさん (ワッチョイ 7f33-DCff)
2023/07/24(月) 10:43:02.36ID:bhgXPbrR0648デフォルトの名無しさん (ワッチョイ 7f90-HmGg)
2023/07/24(月) 11:23:39.95ID:4YyKbOUI0649デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
2023/07/24(月) 12:11:52.51ID:jISsTKbU0 EUC(European Union Center)だろ。
650デフォルトの名無しさん (ワッチョイ a701-bxGm)
2023/07/24(月) 18:28:38.98ID:NnxoLtiq0 >>643
日本が存続する限り運用するなら何桁にしても枯渇する
日本が存続する限り運用するなら何桁にしても枯渇する
651デフォルトの名無しさん (ワッチョイ df02-/dWn)
2023/07/25(火) 01:07:45.39ID:BpssBnM30 足りなくなったら電話番号みたいに桁増やすでしょ
その時はお役所仕事でグダグダになるんだろうけど
その時はお役所仕事でグダグダになるんだろうけど
652デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/25(火) 05:40:35.68ID:xb+ZpjMN0 IPアドレスの枯渇とかと同じだと思ってるな
ビット数なんか決まってないんだからどうにでもなる
内部的には19桁までいける筈
ビット数なんか決まってないんだからどうにでもなる
内部的には19桁までいける筈
653デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
2023/07/25(火) 07:01:10.71ID:VkH/on+mM web3は国策のはずだがどうなったのだろうな
失敗するんだったらコッチで失敗した方が後の糧となるのにな
失敗するんだったらコッチで失敗した方が後の糧となるのにな
654デフォルトの名無しさん (ワッチョイ 678c-FGcY)
2023/07/25(火) 07:37:27.20ID:7bxToldZ0 web 2.0の時点で何それ知らんだったのにまだやるのか
655デフォルトの名無しさん (ワッチョイ bf63-4dwq)
2023/07/25(火) 14:07:53.28ID:rWqhM1Bk0 from importってどこで定義すれば良いのか規則とかあるのでしょうか?
from . import samples
def util():
pass
def main():
ここでsamples.aaaなどを参照する処理
とかやった場合にsample.aaaでutil参照してる場合に循環importエラーでますよね
なのでmain関数の中でfrom .import samples
にするかそもそもutile関数を分けるか、だとおもうのですが
そういう場合は、って慣習があるのか気になりました
from . import samples
def util():
pass
def main():
ここでsamples.aaaなどを参照する処理
とかやった場合にsample.aaaでutil参照してる場合に循環importエラーでますよね
なのでmain関数の中でfrom .import samples
にするかそもそもutile関数を分けるか、だとおもうのですが
そういう場合は、って慣習があるのか気になりました
656デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/25(火) 14:33:36.56ID:iTChcdyRa as hogehoge するとか
ディレクトリ造って __init__.py の方でなんとかするとか
ディレクトリ造って __init__.py の方でなんとかするとか
657デフォルトの名無しさん (ワッチョイ 5f32-QY1y)
2023/07/25(火) 14:50:47.21ID:SopfjPcB0 最小構成はこんな感じです
https://pastebin.com/1VEJDXPC
要は、samplesとhogeはお互いの機能を使い合いたい、感じです
仮に、aaaでしかsamples.util使わないならaaaの中でimportすれば循環は回避できます。
また、
hoge.utilの中ではsamplesを参照しない、
のは誰が書いても論理的に確定しているから
hoge.mainの中でsamplesをimportする
という方がしっくりきます
しかし、hoge.main以外にmain1,2と増えた場合に毎度その中で書くことになります
なのでそれが通例?なのかな、と。または別の慣習があるとか
それだったらもう、
「samplesの機能を使うようなモジュールとそうでないモジュール」
として、hoge.utilを完全に隔離した方がシンプルで迷うことは無いのではと考えました
こういうの__init__.pyとかで解決できるんですかね・・?
ちょっと調べてみようと思います >>656
感情論で言うと
「hoge.util内でsamplesの機能ひとつも使っていないのに、どうしてhoge全体でsamplesをimportしたの?」
が根本的な問題なような気がして・・
https://pastebin.com/1VEJDXPC
要は、samplesとhogeはお互いの機能を使い合いたい、感じです
仮に、aaaでしかsamples.util使わないならaaaの中でimportすれば循環は回避できます。
また、
hoge.utilの中ではsamplesを参照しない、
のは誰が書いても論理的に確定しているから
hoge.mainの中でsamplesをimportする
という方がしっくりきます
しかし、hoge.main以外にmain1,2と増えた場合に毎度その中で書くことになります
なのでそれが通例?なのかな、と。または別の慣習があるとか
それだったらもう、
「samplesの機能を使うようなモジュールとそうでないモジュール」
として、hoge.utilを完全に隔離した方がシンプルで迷うことは無いのではと考えました
こういうの__init__.pyとかで解決できるんですかね・・?
ちょっと調べてみようと思います >>656
感情論で言うと
「hoge.util内でsamplesの機能ひとつも使っていないのに、どうしてhoge全体でsamplesをimportしたの?」
が根本的な問題なような気がして・・
658デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/25(火) 16:03:23.98ID:iTChcdyRa hoge.py の中で from samples import aaa
659デフォルトの名無しさん (ワッチョイ e7da-elOp)
2023/07/25(火) 17:03:52.28ID:vV5HZ24s0 >>658
>>655の>ここでsamples.aaaなどを参照する処理
の”など”というのは、もしかしたらbbbかもしれないしcccかもしれないし
mainの引数を受け取って条件分岐したりgetattrしたりするかもしれない
ということです
つまりhoge.mainをもう少し汎用的に書くとすれば
hoge内でsamplesから使う機能を把握しておき、例えば
from samples import aaa,bbb,ccc,ddd
など使う可能性のある機能だけを事前に宣言しておいて
def main(sample_type):
のように条件分岐する設計がベストということでしょうか
たしかにこれならmainと同じ場所にutilを書いても論理性が担保されるなと思いました。
デメリットは、samples側でsamples_typeに渡す引数に変更があった場合
import aaa,bbb,ccc,ddd の行 と hoge.mainの条件分岐内のコードも修正しなければならない
ということくらいでしょうか
>>655の>ここでsamples.aaaなどを参照する処理
の”など”というのは、もしかしたらbbbかもしれないしcccかもしれないし
mainの引数を受け取って条件分岐したりgetattrしたりするかもしれない
ということです
つまりhoge.mainをもう少し汎用的に書くとすれば
hoge内でsamplesから使う機能を把握しておき、例えば
from samples import aaa,bbb,ccc,ddd
など使う可能性のある機能だけを事前に宣言しておいて
def main(sample_type):
のように条件分岐する設計がベストということでしょうか
たしかにこれならmainと同じ場所にutilを書いても論理性が担保されるなと思いました。
デメリットは、samples側でsamples_typeに渡す引数に変更があった場合
import aaa,bbb,ccc,ddd の行 と hoge.mainの条件分岐内のコードも修正しなければならない
ということくらいでしょうか
660デフォルトの名無しさん (ワッチョイ 7fcf-WOXz)
2023/07/25(火) 17:18:07.90ID:igfKK3yD0 というかsamplesでfrom .hoge import utilしていると
hoge.pyの中で部分的に from samples import しても循環エラー出ますね。 >>658
やはり、使わない機能は隔離して一方向でimportする
というのがベストなのかもしれない
hoge.pyの中で部分的に from samples import しても循環エラー出ますね。 >>658
やはり、使わない機能は隔離して一方向でimportする
というのがベストなのかもしれない
661565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 19:50:56.15ID:UAjCsPDR0 何でそういう構成なのかよくわからんからあれだけど、そのままでいくならhoge.pyのmainを__int__.pyに移すとかじゃない
662デフォルトの名無しさん (アウアウウー Sa2b-X5BL)
2023/07/25(火) 21:22:26.38ID:VfuQkNGra >何でそういう構成
構成にしているというか、現状はしてません
samples.pyとhoge.pyでお互いの機能をimportし合うケースってあるよね
というのが前提にあって、かつ
「hoge.mainとhoge.utilは機能的に関連性が高いので同じpyファイルにまとめる」
と循環が起きる
対策は
(1)importの場所を変える
(2)pyファイルを分ける
(3)__init__.pyでやる
で、今は(2)hoge.mainとhoge.utilをhoge.pyとhoge_util.pyに分けてます
>hoge.pyのmainを__int__.pyに移す
というのがいまいちわかりませんが
とりあえず__init__.pyで処理したのは
https://pastebin.com/DctEgQwC
これですが、やはり循環エラーが出ます
やり方があっているのかはわかりません。
構成にしているというか、現状はしてません
samples.pyとhoge.pyでお互いの機能をimportし合うケースってあるよね
というのが前提にあって、かつ
「hoge.mainとhoge.utilは機能的に関連性が高いので同じpyファイルにまとめる」
と循環が起きる
対策は
(1)importの場所を変える
(2)pyファイルを分ける
(3)__init__.pyでやる
で、今は(2)hoge.mainとhoge.utilをhoge.pyとhoge_util.pyに分けてます
>hoge.pyのmainを__int__.pyに移す
というのがいまいちわかりませんが
とりあえず__init__.pyで処理したのは
https://pastebin.com/DctEgQwC
これですが、やはり循環エラーが出ます
やり方があっているのかはわかりません。
663565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:02:11.25ID:UAjCsPDR0664565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:10:25.73ID:UAjCsPDR0 .hogeの"."みたいな使い方初めて知った
665565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:13:45.51ID:UAjCsPDR0 実行結果わすれた
https://pastebin.com/TMhJtUVi
https://pastebin.com/TMhJtUVi
666デフォルトの名無しさん (ワッチョイ 275f-OZEF)
2023/07/25(火) 22:22:23.99ID:6HC3TGbL0 >>663-665
ありがとうございます
>mainを__int__.pyに移す
って文字通りだったんですね・・w
ただ、これってhoge_util.pyとhoge.pyに分ける
と何が違うんでしょうか??
hoge.mainという関数名はあくまで最小構成のための仮の命名なので
__init__.py内に書くのは雰囲気的には合ってますが
もっと具体的な機能名だった場合に
hogeモジュールとほぼ関係が断ち切られるので困るような
ちなみにhoge_util.py hoge.pyにあえて分けたやつです
https://pastebin.com/SkAM1JhB
ありがとうございます
>mainを__int__.pyに移す
って文字通りだったんですね・・w
ただ、これってhoge_util.pyとhoge.pyに分ける
と何が違うんでしょうか??
hoge.mainという関数名はあくまで最小構成のための仮の命名なので
__init__.py内に書くのは雰囲気的には合ってますが
もっと具体的な機能名だった場合に
hogeモジュールとほぼ関係が断ち切られるので困るような
ちなみにhoge_util.py hoge.pyにあえて分けたやつです
https://pastebin.com/SkAM1JhB
667565 (ワッチョイ 7f33-onGn)
2023/07/25(火) 22:22:28.79ID:UAjCsPDR0668デフォルトの名無しさん (ワッチョイ 7fbb-IQbN)
2023/07/25(火) 22:54:39.51ID:kbsi1DjE0 __init__.pyってディレクトリ名を名前空間として
他のクラスを使う特殊なモジュールだという認識
言い換えればディレクトリ名というクラスのコンストラクタであり
ディレクトリ内のモジュールは内部クラスである
他のクラスを使う特殊なモジュールだという認識
言い換えればディレクトリ名というクラスのコンストラクタであり
ディレクトリ内のモジュールは内部クラスである
669デフォルトの名無しさん (ワッチョイ dfad-IOyT)
2023/07/25(火) 22:55:19.84ID:P8udYAxA0 util分けずに>>662の(1)のimportのスコープを替えて回避する、もついでに
https://pastebin.com/NsXLF3T2
やはりimportは自作モジュールか否かに関わらず
基本は一番上のスコープでimportするようにして
そのimportしたモジュールの機能を使っていないものは
素直に隔離して小分け、という規則に従った方がいいっぽいですね
まだ何か弊害ありそうな気はするものの
https://pastebin.com/NsXLF3T2
やはりimportは自作モジュールか否かに関わらず
基本は一番上のスコープでimportするようにして
そのimportしたモジュールの機能を使っていないものは
素直に隔離して小分け、という規則に従った方がいいっぽいですね
まだ何か弊害ありそうな気はするものの
670デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
2023/07/26(水) 09:31:51.47ID:udWNOLwT0 matplotlib.pyplot.show()すると一々ウィンドウができてスクリプトが止まるけど、そうならないでほしい
block=Falseにすると止まらないが図が一瞬で消える
show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながらスクリプトは続行する方法ありますか
block=Falseにすると止まらないが図が一瞬で消える
show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながらスクリプトは続行する方法ありますか
671デフォルトの名無しさん (ワッチョイ 6710-OdYE)
2023/07/26(水) 10:19:22.64ID:gDBE6+Md0672デフォルトの名無しさん (ワッチョイ a701-pcwf)
2023/07/26(水) 11:11:48.46ID:78KtOcma0 ChatGPTに聞けば一瞬で答えてくれるやろ
673デフォルトの名無しさん (ワッチョイ dfbd-h4sM)
2023/07/26(水) 12:16:00.18ID:NW3R3IJu0 この手の質問してくる人が>>671を見てパッと理解できるとは思えん
674デフォルトの名無しさん (ワッチョイ a734-ZCrp)
2023/07/26(水) 13:22:27.16ID:GIx/DHwN0 >show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながら
って極論ブラクラみたいになるってこと? >>670
そのやり方はわからないので必要ないかもだがあえて別の方法を掲示
自分がやるなら画像に出力して、ビューワで表示するなり
簡易的なhttp-serverでも立ててwebアプリにしてしまう
画像出力するだけの方をチャッピーに聞いてそのまま実行したけどできた
https://ideone.com/pNXjgN
って極論ブラクラみたいになるってこと? >>670
そのやり方はわからないので必要ないかもだがあえて別の方法を掲示
自分がやるなら画像に出力して、ビューワで表示するなり
簡易的なhttp-serverでも立ててwebアプリにしてしまう
画像出力するだけの方をチャッピーに聞いてそのまま実行したけどできた
https://ideone.com/pNXjgN
675デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/26(水) 14:45:09.68ID:+VPKYlg4a show()使わずにpause()してdraw()するんだよ
676デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
2023/07/27(木) 03:37:07.84ID:uhvAOvsF0677デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
2023/07/27(木) 04:05:01.27ID:uhvAOvsF0 いやよく見たら>>671も同じウインドウ内で次々と違うプロットを出す方法じゃん。
show()毎に前のウインドウを残したまま新しいウインドウを出すというのが今やりたいことです。
show()毎に前のウインドウを残したまま新しいウインドウを出すというのが今やりたいことです。
678デフォルトの名無しさん (アウアウウー Sa2b-QKap)
2023/07/27(木) 09:01:24.08ID:GoQM94Wca >>675-677
馬鹿には無理
馬鹿には無理
679デフォルトの名無しさん (ワントンキン MMbf-FGcY)
2023/07/27(木) 09:09:41.74ID:F3HgNoZlM またこいつか
質問する側なのに偉そうな奴
質問する側なのに偉そうな奴
680デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
2023/07/27(木) 09:23:17.34ID:HNphsCPDM 答えもしない外野が一番偉そうだよなw
681デフォルトの名無しさん (ワントンキン MMbf-FGcY)
2023/07/27(木) 09:41:18.81ID:F3HgNoZlM >>680
じゃあ答えてあげてね
じゃあ答えてあげてね
682デフォルトの名無しさん (ワッチョイ a701-pcwf)
2023/07/27(木) 10:39:22.50ID:6rwcdyUp0 >>670
その文面をChatGPTに入れて聞けよ
その文面をChatGPTに入れて聞けよ
683デフォルトの名無しさん (ワッチョイ c79b-Rp6Z)
2023/07/27(木) 10:55:48.95ID:KDpjz6pI0684デフォルトの名無しさん (ワッチョイ dfbd-h4sM)
2023/07/27(木) 12:27:31.67ID:klnm5ZEA0 マルチスレッド、マルチプロセス、同期、非同期、その辺もろもろの基礎知識ないとダメかと
急がば回れでまずはそこを学ぼう
急がば回れでまずはそこを学ぼう
685デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
2023/07/27(木) 21:41:08.59ID:alYzqiaL0 そうだよね
俺が間違ってたよ
画像のエンコードから学んでくる!
俺が間違ってたよ
画像のエンコードから学んでくる!
686デフォルトの名無しさん (ワッチョイ 8754-GsLg)
2023/07/27(木) 21:51:47.85ID:tOZTURiE0 質問者様の方が偉いんだよ
687デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
2023/07/27(木) 23:57:37.27ID:WsZf6wiz0 まず「急がば廻れ」(Walk, Don't Run) を聴きましょう。
688デフォルトの名無しさん (ワッチョイ 4710-bxGm)
2023/07/28(金) 00:38:09.66ID:7q/zwki10 ChatGPT4-DefaultとChatGPT4-Code Interpreter
に依頼しまくれば基礎知識無くてもアプリできちゃうよ
根気よく会話して、話が噛み合わなくなったら
チャットを新規で始める
エラーが出たらそれをそのままChatGPTに伝える
に依頼しまくれば基礎知識無くてもアプリできちゃうよ
根気よく会話して、話が噛み合わなくなったら
チャットを新規で始める
エラーが出たらそれをそのままChatGPTに伝える
689デフォルトの名無しさん (ワッチョイ 4710-bxGm)
2023/07/28(金) 00:40:24.18ID:7q/zwki10 ChatGPT4-Code Interpreter+Custom instructionsの回答
matplotlib.pyplot.show()を使用すると、
通常、図を表示するウィンドウが開き、
そのウィンドウが閉じられるまでスクリプトが停止します。
しかし、スクリプトを停止させずに新しいウィンドウで図を表示したい場合は、
次の方法を試してみると良いでしょう。
ion()を使用してインタラクティブモードをオンにします。
figure()を呼び出すことで新しい図を作成します。
グラフをプロットします。
draw()を使用して図を更新します。
matplotlib.pyplot.show()を使用すると、
通常、図を表示するウィンドウが開き、
そのウィンドウが閉じられるまでスクリプトが停止します。
しかし、スクリプトを停止させずに新しいウィンドウで図を表示したい場合は、
次の方法を試してみると良いでしょう。
ion()を使用してインタラクティブモードをオンにします。
figure()を呼び出すことで新しい図を作成します。
グラフをプロットします。
draw()を使用して図を更新します。
690デフォルトの名無しさん (ワッチョイ 4710-bxGm)
2023/07/28(金) 00:44:32.99ID:7q/zwki10 以下は、この方法を使用して3つの異なる図を作成し、
それぞれの図を新しいウィンドウに表示する例です。
import matplotlib.pyplot as plt
import numpy as np
# インタラクティブモードをオンにする
plt.ion()
# 最初の図
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
plt.figure() # 新しい図を作成
plt.plot(x, y1)
plt.title("図1: sin(x)") # 日本語のタイトル
plt.draw() # 図を更新
# 2番目の図
y2 = np.cos(x)
plt.figure() # 新しい図を作成
plt.plot(x, y2)
plt.title("図2: cos(x)") # 日本語のタイトル
plt.draw() # 図を更新
# 3番目の図
y3 = np.sin(x) * np.cos(x)
plt.figure() # 新しい図を作成
plt.plot(x, y3)
plt.title("図3: sin(x) * cos(x)") # 日本語のタイトル
plt.draw() # 図を更新
それぞれの図を新しいウィンドウに表示する例です。
import matplotlib.pyplot as plt
import numpy as np
# インタラクティブモードをオンにする
plt.ion()
# 最初の図
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
plt.figure() # 新しい図を作成
plt.plot(x, y1)
plt.title("図1: sin(x)") # 日本語のタイトル
plt.draw() # 図を更新
# 2番目の図
y2 = np.cos(x)
plt.figure() # 新しい図を作成
plt.plot(x, y2)
plt.title("図2: cos(x)") # 日本語のタイトル
plt.draw() # 図を更新
# 3番目の図
y3 = np.sin(x) * np.cos(x)
plt.figure() # 新しい図を作成
plt.plot(x, y3)
plt.title("図3: sin(x) * cos(x)") # 日本語のタイトル
plt.draw() # 図を更新
691デフォルトの名無しさん (ワッチョイ 4710-bxGm)
2023/07/28(金) 00:47:48.47ID:7q/zwki10 ChatGPT4-Code Interpreter+Custom instructionsの回答(別のチャット)
matplotlibのデフォルトの挙動では、plt.show()を呼び出すと、
ウィンドウが表示される際にスクリプトの実行が停止します。
しかし、block=Falseを設定すると、
ウィンドウがすぐに閉じてしまうという問題が生じます。
この挙動を変更して、
show()を呼び出すたびに新しいウィンドウを生成しながらスクリプトを続行するには、
以下の手順を試してみることができます。
plt.figure()を使用して新しいフィギュアを明示的に作成します。
プロットやサブプロットを作成します。
plt.show(block=False)を使用してフィギュアを非ブロッキングモードで表示します。
plt.pause()を使用して少しの間ウィンドウを表示させます。
この時間は調整できますが、通常は短い時間(例えば0.1秒)で十分です。
matplotlibのデフォルトの挙動では、plt.show()を呼び出すと、
ウィンドウが表示される際にスクリプトの実行が停止します。
しかし、block=Falseを設定すると、
ウィンドウがすぐに閉じてしまうという問題が生じます。
この挙動を変更して、
show()を呼び出すたびに新しいウィンドウを生成しながらスクリプトを続行するには、
以下の手順を試してみることができます。
plt.figure()を使用して新しいフィギュアを明示的に作成します。
プロットやサブプロットを作成します。
plt.show(block=False)を使用してフィギュアを非ブロッキングモードで表示します。
plt.pause()を使用して少しの間ウィンドウを表示させます。
この時間は調整できますが、通常は短い時間(例えば0.1秒)で十分です。
692デフォルトの名無しさん (ワッチョイ 4710-bxGm)
2023/07/28(金) 00:48:15.50ID:7q/zwki10 以下は、この手順を使用して連続して2つのグラフを表示するサンプルコードです。
import matplotlib.pyplot as plt
import numpy as np
# データの生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 最初のグラフを表示
plt.figure() # 新しいフィギュアを作成
plt.plot(x, y1)
plt.title("y = sin(x)")
plt.show(block=False)
plt.pause(0.1) # ウィンドウを少しの間表示させる
# 二つ目のグラフを表示
plt.figure() # 新しいフィギュアを作成
plt.plot(x, y2)
plt.title("y = cos(x)")
plt.show(block=False)
plt.pause(0.1) # ウィンドウを少しの間表示させる
import matplotlib.pyplot as plt
import numpy as np
# データの生成
x = np.linspace(0, 10, 100)
y1 = np.sin(x)
y2 = np.cos(x)
# 最初のグラフを表示
plt.figure() # 新しいフィギュアを作成
plt.plot(x, y1)
plt.title("y = sin(x)")
plt.show(block=False)
plt.pause(0.1) # ウィンドウを少しの間表示させる
# 二つ目のグラフを表示
plt.figure() # 新しいフィギュアを作成
plt.plot(x, y2)
plt.title("y = cos(x)")
plt.show(block=False)
plt.pause(0.1) # ウィンドウを少しの間表示させる
693デフォルトの名無しさん (スフッ Sdff-nfxy)
2023/07/28(金) 10:31:09.70ID:KkbicWNnd 判らないなら黙ってて下さい
ウザいだけです
ウザいだけです
694デフォルトの名無しさん (ワッチョイ df94-Rp6Z)
2023/07/28(金) 11:59:26.34ID:pDBZ2PJA0 >>688-692
全く俺のやりたいことじゃない
全く俺のやりたいことじゃない
695デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
2023/07/28(金) 12:40:41.62ID:viYsqOsS0 あほくさ
696デフォルトの名無しさん (ワッチョイ 1710-NYH+)
2023/07/29(土) 00:47:40.65ID:LDYSy/8b0 指摘できる人が来ると思ったけどダメだったか
697デフォルトの名無しさん (ワッチョイ 3f56-hoAD)
2023/07/29(土) 02:29:49.24ID:bG9XHQk/0 Seleniumでwebdriver_manager当たり前のように使ってたけど、Chrome115問題でちょっと色々考えさせられた。
結局今後もGoogleがドライバーの場所変えたらエラー吐くわけだから対処するならchromeのアプデしないようにするべきか。
結局今後もGoogleがドライバーの場所変えたらエラー吐くわけだから対処するならchromeのアプデしないようにするべきか。
698デフォルトの名無しさん (ワッチョイ 3ebb-bWks)
2023/07/29(土) 11:12:06.08ID:CFjN6W2L0 手動でダウンロードしてきたらいいだけでは
699デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 12:39:48.66ID:S5qD2leK0 """
Usage:
test.py [-t <test>]
"""
from docopt import docopt
args = docopt(__doc__)
print(args)
>test.py -t aaa
{'-t': False,
'<test>': None}
win11でdocoptが動いてない気がする
docopt 0.6.2
Usage:
test.py [-t <test>]
"""
from docopt import docopt
args = docopt(__doc__)
print(args)
>test.py -t aaa
{'-t': False,
'<test>': None}
win11でdocoptが動いてない気がする
docopt 0.6.2
700デフォルトの名無しさん (ワッチョイ befb-LsOw)
2023/07/29(土) 13:41:09.08ID:YEGyQG5k0 チンチンシュッシュッシュッしてる感じのスレッドか
701デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 14:12:11.80ID:S5qD2leK0 自決
>python test.py -t aaa
{'-t': True,
'<test>': 'aaa'}
win10と挙動が違う
>python test.py -t aaa
{'-t': True,
'<test>': 'aaa'}
win10と挙動が違う
702デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 14:26:43.60ID:S5qD2leK0 test.py で起動すると、open('file')はtest.pyと同じ場所から開く
python test.py だとカレントの場所が変わるのでエラーになる
コードに絶対パス埋め込むのも何だし、pyのある場所を取得するのも面倒だし
きっちりすると面倒が増える
python test.py だとカレントの場所が変わるのでエラーになる
コードに絶対パス埋め込むのも何だし、pyのある場所を取得するのも面倒だし
きっちりすると面倒が増える
703デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 14:43:38.34ID:S5qD2leK0 parent = Path(__file__).resolve().parent
parent.joinpath(file)
みたいにすれば相対で書ける
これは便利だと関数化ライブラリに登録すると、ライブラリのあるパスになってしまう
parent.joinpath(file)
みたいにすれば相対で書ける
これは便利だと関数化ライブラリに登録すると、ライブラリのあるパスになってしまう
704デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 15:57:30.99ID:S5qD2leK0 別のフォルダのライブラリにある関数を呼び出して、
open(add_current_path(LOG_FILE))
みたいにできないもんか
open(add_current_path(LOG_FILE))
みたいにできないもんか
705デフォルトの名無しさん (ワッチョイ becf-hyH4)
2023/07/29(土) 19:30:37.27ID:E/MzBLso0 個人的に基本、pythonスクリプトで扱うファイルやディレクトリの絶対パスは
envファイルに書いてる
環境変数にしてもいいし、嫌ならenvファイルに直接アクセスさえ出来れば
出口が必ず絶対パスになるのでenvの編集だけ気にすればいいだけだし
envファイルに書いてる
環境変数にしてもいいし、嫌ならenvファイルに直接アクセスさえ出来れば
出口が必ず絶対パスになるのでenvの編集だけ気にすればいいだけだし
706デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 19:57:56.17ID:S5qD2leK0 __file__ を渡したらchdirしてくれる関数を作って、おまじないの1行を追加しよう
707565 (ワッチョイ 7e33-CF7t)
2023/07/29(土) 22:21:52.96ID:NWGO3xeu0 venv使えばいいじゃん
708デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/29(土) 22:35:15.06ID:S5qD2leK0 windowsでランチャーからスクリプト起動して処理させる使い方とvenvが合うと思えないんだよな
709565 (ワッチョイ 7e33-CF7t)
2023/07/30(日) 01:38:23.04ID:xSgp5A2Q0 windowsのランチャーって何?サービスと違って実行環境にvenv指定できないの?
710デフォルトの名無しさん (ワッチョイ 1710-NYH+)
2023/07/30(日) 02:18:03.51ID:lPGZsOOx0 def find_data_file(filename):
if getattr(sys, "frozen", False):
datadir = os.path.dirname(sys.executable)
else:
datadir = os.path.dirname(__file__)
return os.path.join(datadir, filename)
if getattr(sys, "frozen", False):
datadir = os.path.dirname(sys.executable)
else:
datadir = os.path.dirname(__file__)
return os.path.join(datadir, filename)
711デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/30(日) 05:48:45.82ID:bULoPszl0 だからそれだと、その関数を登録したライブラリのあるパスを返すんだって
712デフォルトの名無しさん (アウアウウー Sa1f-y5iw)
2023/07/30(日) 06:05:34.19ID:GM7u7fGAa 漏れは、デスクトップにショートカットを作って、
WSL2, Ubuntu-18.04, VSCode を起動して、
プロジェクトフォルダを開いているけど
リンク先
C:\Windows\System32\wsl.exe code .
作業フォルダ
\\wsl$\Ubuntu-18.04\home\<ユーザー名>\test\proj1
WSL2, Ubuntu-18.04, VSCode を起動して、
プロジェクトフォルダを開いているけど
リンク先
C:\Windows\System32\wsl.exe code .
作業フォルダ
\\wsl$\Ubuntu-18.04\home\<ユーザー名>\test\proj1
713デフォルトの名無しさん (ワッチョイ fbf0-qKUu)
2023/07/30(日) 14:37:10.07ID:98nj2cg90 pythonで扱うファイルのパスってほぼ100%
設定ファイルだったり静的だったりするから
pythonファイル毎に相対パスで扱うのは罰ゲームでしかない
設定ファイルだったり静的だったりするから
pythonファイル毎に相対パスで扱うのは罰ゲームでしかない
714デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/30(日) 14:39:33.51ID:bULoPszl0 同じディレクトリにconfig.iniを置いて、とかむしろ常套手段なのでは
715デフォルトの名無しさん (ワッチョイ aa7c-q8If)
2023/07/30(日) 14:45:19.86ID:YLokddKe0 だからenvするのが常套なんじゃないの
env後は相対パスになりようがないから
pythonスクリプト内で相対か絶対か処理を気にしなくてよくなる
env後は相対パスになりようがないから
pythonスクリプト内で相対か絶対か処理を気にしなくてよくなる
716デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/30(日) 15:08:07.33ID:bULoPszl0 venvは殆ど使ったことない上に、使うと混乱するのでむしろ避けてる
ぐぐってもコンソールから使ってる例しか見つからないけど、
例えばexcelのマクロからさらに呼び出して、みたいな時にも使える?
ぐぐってもコンソールから使ってる例しか見つからないけど、
例えばexcelのマクロからさらに呼び出して、みたいな時にも使える?
717デフォルトの名無しさん (ワッチョイ 2301-0sUI)
2023/07/30(日) 17:23:26.95ID:kJu8CNGi0 そりゃ環境変数案件だな
718デフォルトの名無しさん (ワッチョイ 7e33-CF7t)
2023/07/30(日) 18:30:42.96ID:xSgp5A2Q0 >>715のenvとvenvは別もんよな?
719デフォルトの名無しさん (ワッチョイ 6379-X/lp)
2023/07/30(日) 20:26:24.18ID:xOWqpOI00 import traceback
print(traceback.extract_stack()[0].filename)
これで実行開始のファイル名が取れたりしない?
スタックトレースの1番最初を取ってくる感じだけど
試してないので、出来なかったらごめんなさい
print(traceback.extract_stack()[0].filename)
これで実行開始のファイル名が取れたりしない?
スタックトレースの1番最初を取ってくる感じだけど
試してないので、出来なかったらごめんなさい
720718 (ワッチョイ 7e33-CF7t)
2023/07/30(日) 20:37:36.60ID:xSgp5A2Q0 よな?違う?どうなん>>715
721デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/30(日) 20:42:39.05ID:bULoPszl0 これならいけそう
722デフォルトの名無しさん (ワッチョイ 9f5f-3g6F)
2023/07/31(月) 01:38:57.99ID:Eecmz8Qn0723デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/31(月) 06:36:07.27ID:sj/Zsipy0 python.exeのある場所をカレントディレクトリにして立ち上がるのが間違ってるんだよな
そんな場所に用はない
何かのオプションを付けると、pyの場所をカレントにして立ち上がるとかになってるべき
本当はそれがデフォルトであって欲しい
そんな場所に用はない
何かのオプションを付けると、pyの場所をカレントにして立ち上がるとかになってるべき
本当はそれがデフォルトであって欲しい
724デフォルトの名無しさん (ワッチョイ 7e68-WYN7)
2023/07/31(月) 07:13:10.38ID:hd73voNN0 w
725デフォルトの名無しさん (アウアウウー Sa1f-MRRk)
2023/07/31(月) 08:10:06.12ID:i86yzHNoa726デフォルトの名無しさん (テテンテンテン MMe6-WYN7)
2023/07/31(月) 08:14:28.90ID:48kAXXAcM ハイレベル過ぎてついて行けない
727デフォルトの名無しさん (アウウィフ FF1f-6+wX)
2023/07/31(月) 10:02:13.71ID:8wbRk2dYF if __name__ == '__main__': で __main__ 描いている人は多いと思うけど
__file__ で自分の .py の位置取れるの知らない人は多い
__file__ で自分の .py の位置取れるの知らない人は多い
728デフォルトの名無しさん (ワッチョイ 1746-ZTxv)
2023/07/31(月) 11:12:47.09ID:abrV6Hh30729デフォルトの名無しさん (ワッチョイ b759-cPHI)
2023/07/31(月) 14:10:18.34ID:Gx4f02N00 ググらんの?
730デフォルトの名無しさん (ワッチョイ 1746-ziAf)
2023/07/31(月) 14:29:11.89ID:abrV6Hh30 >>702
ググって分かることなのか...
> python.exeのある場所をカレントディレクトリにして立ち上がる
とか、京人が妄言を交わしているようにし見えないけど、皆真摯に話しているので事実なんだろうね...
ググって分かることなのか...
> python.exeのある場所をカレントディレクトリにして立ち上がる
とか、京人が妄言を交わしているようにし見えないけど、皆真摯に話しているので事実なんだろうね...
731デフォルトの名無しさん (スププ Sd8a-kvF/)
2023/07/31(月) 14:42:29.33ID:z7fzl/90d 眼の前に答えがあっても観えない
観ようともしないフシアナさんには
Pythonは無理
観ようともしないフシアナさんには
Pythonは無理
733デフォルトの名無しさん (ワッチョイ be7b-vUql)
2023/07/31(月) 14:52:49.91ID:UKf8oRTI0 VSCODEでワークスペースに置いて作業すれば全て解決する話なのでは?
>test.py云々
>test.py云々
734デフォルトの名無しさん (ワッチョイ 2a7c-f1Kc)
2023/07/31(月) 21:15:58.91ID:+1m4O9oL0 >>716
venvなんてPythonの実行環境をvenvディレクトリ内にそのまま持ってるだけだから、そこのPython実行ファイルをフルパスで直接指定してやればいいだけ
普通はPythonにパスが通ってる状態で
python hoge.py
とかで実行するけど、それを
C:¥foo¥bar¥puroguramu¥venv¥bin¥python hoge.py
みたいにやる
venvなんてPythonの実行環境をvenvディレクトリ内にそのまま持ってるだけだから、そこのPython実行ファイルをフルパスで直接指定してやればいいだけ
普通はPythonにパスが通ってる状態で
python hoge.py
とかで実行するけど、それを
C:¥foo¥bar¥puroguramu¥venv¥bin¥python hoge.py
みたいにやる
735デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/07/31(月) 21:24:17.33ID:Vr4eYj/H0 venvそういうのなのか
コンソールでコマンド打って、今からここだけバージョンなんとか、みたいに使うんだと思ってた
複数のバージョンを切り替えたい要求は特に無いので全部最新で構わない
venvとhoge.pyが自分の場所が判ることとは関係ないよね
コンソールでコマンド打って、今からここだけバージョンなんとか、みたいに使うんだと思ってた
複数のバージョンを切り替えたい要求は特に無いので全部最新で構わない
venvとhoge.pyが自分の場所が判ることとは関係ないよね
736デフォルトの名無しさん (ワッチョイ 7e33-CF7t)
2023/07/31(月) 22:03:58.43ID:AftC5NAU0 python hoge.pyしたらインストール先のpython.exeが呼ばれるけど、venvをactivateした場合はpython hoge.pyしたらvenvのpython.exeが呼ばれる
Lib\site-packagesも同様
仮想環境っていうかインストールした環境と切り離して実行環境を構築できるのがvenv
venv環境のPythonバージョンはvenv作るときに実行したPythonのバージョンと同じになる
Lib\site-packagesも同様
仮想環境っていうかインストールした環境と切り離して実行環境を構築できるのがvenv
venv環境のPythonバージョンはvenv作るときに実行したPythonのバージョンと同じになる
737デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/08/01(火) 14:23:03.31ID:s61+iNuO0 <div class="form-input-wrapper" data-v-a0d39a18=""><input type="text" name="" value="" placeholder="メールアドレス" class="form-input" data-v-a0d39a18=""></div>
seleniumでこんなelementを取得してsend_keys()しても何も入らない
ぐぐって見つかる自動ログインの記事とhtmlの書き方が違う
何か別の方法が必要?
seleniumでこんなelementを取得してsend_keys()しても何も入らない
ぐぐって見つかる自動ログインの記事とhtmlの書き方が違う
何か別の方法が必要?
738デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/08/01(火) 14:25:20.51ID:s61+iNuO0 と思ったらできた
> input を削ったのを忘れてた
> input を削ったのを忘れてた
739デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/08/01(火) 17:28:09.70ID:s61+iNuO0 折角作ったのに、本番環境のwin7では動かなかった
740デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
2023/08/01(火) 20:03:07.92ID:s61+iNuO0 selenium4だったのが原因みたいで3にしたら動いた
開発用は普通にインストールしたのになんで3だったんだ?
開発用は普通にインストールしたのになんで3だったんだ?
741デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
2023/08/02(水) 09:26:45.38ID:4pI1Wfnva 日記は日記スレで
742デフォルトの名無しさん (テテンテンテン MMe6-WYN7)
2023/08/02(水) 10:15:35.41ID:c5QFWyvkM オナニー見せたい人なんだろうな
743デフォルトの名無しさん (アウアウウー Sa1f-KN61)
2023/08/03(木) 03:06:00.60ID:USexfWQAa cwd(current working directory)の移動か?
VSCode の拡張機能・Code Runner なら、この設定をチェックしておく
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.
そうすると実行時にcd で、そのファイルがある場所へカレントディレクトリを移動してから、
ruby "絶対パス/ファイル名.rb"
又は、ruby "絶対パス/tempCodeRunnerFile.rb"
で、そのファイルを実行する
tempCodeRunnerFile.rb は、Rubyのコード片をコピーした一時的なファイル
設定項目、executorMap には、多くの言語の実行コマンドが書いてある。
"code-runner.executorMap": {
"javascript": "node",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"python": "python -u",
"ruby": "ruby",
pythonには、-u が付く
VSCode の拡張機能・Code Runner なら、この設定をチェックしておく
Code-runner: File Directory As Cwd
Whether to use the directory of the file to be executed as the working directory.
そうすると実行時にcd で、そのファイルがある場所へカレントディレクトリを移動してから、
ruby "絶対パス/ファイル名.rb"
又は、ruby "絶対パス/tempCodeRunnerFile.rb"
で、そのファイルを実行する
tempCodeRunnerFile.rb は、Rubyのコード片をコピーした一時的なファイル
設定項目、executorMap には、多くの言語の実行コマンドが書いてある。
"code-runner.executorMap": {
"javascript": "node",
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"python": "python -u",
"ruby": "ruby",
pythonには、-u が付く
744デフォルトの名無しさん (ワッチョイ 5b02-mBaV)
2023/08/06(日) 16:25:19.98ID:yWag1CDn0 ゲームのBGMの中から効果音を抽出するpythonプログラムを作りたいんですが、いいライブラリとかありますか。
745デフォルトの名無しさん (ワッチョイ 4954-+GTY)
2023/08/06(日) 16:36:45.75ID:jdOXBstM0 Demucsとか?
746デフォルトの名無しさん (ワッチョイ 9b4f-Ydr4)
2023/08/07(月) 01:58:40.68ID:VL80kvYz0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 橘こぉた来いや!!!
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- 処女厨の人に質問があるんだけど
- お前ら(ちぎゅちぎゅの実モデルチーズ牛丼)←これw
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
