【まず1嫁】くだすれPython(超初心者用) その57

■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合★は、
  表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。

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

〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56
http://mevius.5ch.net/test/read.cgi/tech/1640536690/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2022/08/02(火) 23:17:59.15ID:Z18rEo5s
浮動小数点数を==比較すると言うとヒステリックな反応する奴いるよな
699664
垢版 |
2022/08/03(水) 00:27:23.50ID:Ce9Xia0b
>>666
レスが遅くなってしまってすいません

ありがとうございました
なるべく使っていこうと思います
700デフォルトの名無しさん
垢版 |
2022/08/03(水) 02:48:22.00ID:HUfXY4jl
>>697
インストール申請いる会社だとpythonは厳しい
外部ライブラリをいくつもインストールすることになるから、そのたびに申請申請…
2022/08/03(水) 03:03:39.79ID:OfDGteUO
自分自身が会社にアンインストールされちゃうよなw
2022/08/03(水) 06:34:50.12ID:NNzHRQEi
>>697
環境はWindowsだと思うが元からあるExcel VBA、VBScript、PowerShellあたりでできないか考えた方がいいかと
2022/08/03(水) 06:44:43.69ID:SAIeW7L3
>>697
インストール申請云々の縛りあるなら普通にVBAでやれよ
2022/08/03(水) 06:55:06.47ID:6v79gKr9
インストール申請あるところならVBA/VBS禁止とかありそうだけどな
2022/08/03(水) 09:06:23.71ID:7qOk9bFG
大半のライブラリはインストールじゃなくダウンロード
706デフォルトの名無しさん
垢版 |
2022/08/03(水) 09:20:26.19ID:6HJ5FZxO
P ⇒ QはPが偽のとき真です。
2022/08/03(水) 12:49:46.77ID:s6+jOjkc
pythonのパッケージ管理ってどうやってる?
初心者だから本とかウェブ記事とか読みながらそのまま適当にpipしてたんだけど
このままだとめんどくさいことになりそうな気がしてきた
2022/08/03(水) 13:06:03.07ID:jXa2B14I
poetryで作った環境にインストールしてグローバルに使いたい奴だけリンク張ってる
poetry使ってるのはライブラリ開発するのに使ってるついで
環境分けたいだけならvenvそのまま使えばいい
2022/08/04(木) 03:46:24.05ID:BBoT8RMz
プログラミングなんて大してSSDの容量使わねーだろ、と思ってたらanacondaが10GBぐらい使ってきて泣いた
710デフォルトの名無しさん
垢版 |
2022/08/06(土) 09:34:49.25ID:80xJcjdY
pyinstallerで.pyファイルのexe化を試みています。
opencvがエラーを吐いて正常に動作しません。

ImportError: ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.

google検索してやったこと。
paths=でモジュールの場所を指定
opencvのバージョンを4.5.3.56まで落とす(インストールエラー)

python: 3.10.6
altgraph==0.17.2
future==0.18.2
numpy==1.23.1
opencv-python==4.6.0.66
pefile==2022.5.30
Pillow==9.2.0
pillow-avif-plugin==1.2.2
pyinstaller==5.3
pyinstaller-hooks-contrib==2022.8
pywin32-ctypes==0.2.0
Send2Trash==1.8.0
2022/08/06(土) 10:40:10.54ID:XSn5nlI0
nuitkaを使う
712デフォルトの名無しさん
垢版 |
2022/08/06(土) 15:50:19.67ID:eSBCWCwI
>>709
Anacondaはぶっ太い糞
713デフォルトの名無しさん
垢版 |
2022/08/06(土) 15:51:47.59ID:eSBCWCwI
>>710
opencv-python-headless
714デフォルトの名無しさん
垢版 |
2022/08/06(土) 16:30:43.76ID:80xJcjdY
>>710 レスありがとうございます。
nuitka、使ってみました。やはりopencv周りは色々問題があるようです。うまく動作しませんでした。

>>713 レスありがとうございます。
opencv-python の代わりに opencv-python-headless を使ってみましたが、全く同じエラーでした。

やはり opencv は難しいのでしょうか…
2022/08/06(土) 17:26:48.46ID:PSjXEZOE
GoogleはGoなんて作る暇があったらPythonコンパイラを作るべきだった
2022/08/06(土) 19:16:19.27ID:kORMtiG2
pycodestyleの機能って便利ですね
2022/08/06(土) 19:22:52.36ID:Cy8sVH5p
お気づきになられましたか
2022/08/06(土) 19:54:32.19ID:Tb2OU3Zj
impor requests
ってやると
Library stubs not installed for "requests" (or incompatible with python 3.9)
とでてくるんだが
リクエスト "用のライブラリスタブがインストールされていない(またはpython 3.9と非互換)。

よくわからん
719710
垢版 |
2022/08/06(土) 20:04:04.35ID:80xJcjdY
結局、ネット上で実績ありそうな、

Python 3.8.5
altgraph==0.17.2
future==0.18.2
numpy==1.23.1
opencv-python-headless==4.5.3.56
pefile==2022.5.30
Pillow==9.2.0
pillow-avif-plugin==1.2.2
pyinstaller==5.3
pyinstaller-hooks-contrib==2022.8
pywin32-ctypes==0.2.0
Send2Trash==1.8.0

で実行ファイルからエラーが消えたようです。
アドバイスくださった方、どうもありがとうございました。

バージョン管理って大変ですね。
2022/08/06(土) 20:29:16.15ID:7+clXBwJ
>>718
そのまんまじゃねーか
2022/08/06(土) 20:49:02.89ID:XxOEvUoc
pytorch入れた時の悪夢が蘇って来た。orz
2022/08/06(土) 21:42:16.91ID:PGZhucx9
>>718
何使ってるか知らんがmypyが有効になってるんじゃないの?
2022/08/06(土) 21:47:15.58ID:PQ7gBqNg
ディレクトリがcase-sensitiveかどうか調べる方法ありますか?
環境はWindows10です
やり方がわからないので対象のディレクトリ内にcase-sensitiveなディレクトリ名やファイル名が存在するか調べることでなんとかしようとしたけど
pathlibのglobではcase-sensitiveなディレクトリ名やファイル名では読み抜け発生
os.walkならいけるかもと思い実験中
2022/08/06(土) 22:42:37.85ID:IJoLUcj8
>>723
abc でディレクトリ作って ABC で存在確認するとかかな
恐ろしいことにOSXではパス毎にCase Sensitiveかどうかを設定出来るらしい...
https://stackoverflow.com/questions/7870041/check-if-file-system-is-case-insensitive-in-python
2022/08/06(土) 23:10:23.53ID:PQ7gBqNg
>>724
最近のWindowsもフォルダ毎にCase Sensitiveかどうかを設定出来るんですよ
対象のパスの下のサブディレクトリも個別に調べなきゃいけない
2022/08/07(日) 01:53:51.53ID:HkpslvdA
pylintというのを知った
俺の作ったコード
pylintしたら4点だった
きびしすぎん?
2022/08/07(日) 04:45:52.49ID:qW86g0dh
つ Flake8
2022/08/07(日) 09:31:21.46ID:7cQO/w5k
pip installでインストールしたモジュールがどのフォルダ(ディレクトリ)に
入ってるか確認する方法ってありませんか?
エクスプローラーで見てもありません…
2022/08/07(日) 09:51:04.57ID:qW86g0dh
pip show パッケージ名
2022/08/07(日) 09:51:59.31ID:wF6HChc5
隠しファイル、隠しフォルダー、および隠しドライブを表示する
731デフォルトの名無しさん
垢版 |
2022/08/07(日) 11:38:08.36ID:H7AA9Gyj
>>728
__file__ でわかる。
例えばopencvなら
>import cv2
>print(cv2.__file__)
732728
垢版 |
2022/08/07(日) 15:47:17.43ID:7cQO/w5k
答えてくれた方、ありがとうございました

pip show requests を実行したらパスが表示されました
pythonの処理系があるフォルダの近くにあるみたいなんですが、
VSCodeのどのフォルダにいる状態でインストールしても、
インストールされる場所は同じなんでしょうか?
733デフォルトの名無しさん
垢版 |
2022/08/07(日) 16:25:21.48ID:qancDJyG
class A(text:str, value:int)
class B(A)

VSCodeだとマウスオーバーで引数が確認できますが
上記のような継承があるとき
b = B()
マウスオーバーでAの引数を確認したいのですが、どうすればいいですか?
2022/08/07(日) 16:29:37.57ID:wx1/uok7
今のデフォルトはpylanceだっけか
2022/08/07(日) 16:31:40.47ID:Iy538lTc
>>733
>class A(text:str, value:int)

今ってこんな定義方法があるの?
736デフォルトの名無しさん
垢版 |
2022/08/07(日) 17:18:29.82ID:PNBshUzP
__init__か?
クラスBでオーバーライドしてなきゃAの引数が表示される
2022/08/07(日) 18:29:09.72ID:J7BfdoVn
pipよりもpypl
738デフォルトの名無しさん
垢版 |
2022/08/07(日) 18:37:37.64ID:qancDJyG
素で間違えた
いまこうです
Bじゃなくて継承元のAの引数が見たいです
https://imgur.com/PkQnHo3.png

vscodeはpylanceですね
2022/08/07(日) 18:41:34.68ID:k9D8AutH
え・・・・・
2022/08/07(日) 18:50:58.51ID:ZjeWku4d
Bの__init__を消そう
741デフォルトの名無しさん
垢版 |
2022/08/07(日) 19:08:00.18ID:qancDJyG
>>740
おーありがとう
そういうことk
2022/08/07(日) 21:07:17.99ID:uhtWaMBb
>>710
specファイルに、

pathex=['C:\........\site-packages\\cv2']
(パスは環境次第)
とcv2のフルパス入れてますか?
2022/08/08(月) 10:00:21.56ID:RWKMU7OX
numpy配列をopencvで扱う画像にする時って
cv2.imdecodeとnumpy.reshapeの二通りのやり方があるみたいだけどどう使い分けるんです?
744毛の生えたブリーフ
垢版 |
2022/08/08(月) 10:56:42.38ID:nUMoT9LF
2003年 当時荒れていたdelphiスレッドの緊急避難先で作った「くだすれDelphi 」

ヘッダーを各言語用に改変してPythonのスレッドが出来ていたのか・・・・
あれから20年近く・・・俺も還暦になるわけだ。

プログラム板にきたのは13年ぶり。 いつのまにか2chが5chになって
ひろゆきがメジャーになってた。
745デフォルトの名無しさん
垢版 |
2022/08/08(月) 10:57:33.77ID:nUMoT9LF
いやん誤爆してごめんくさい
746デフォルトの名無しさん
垢版 |
2022/08/08(月) 11:17:06.38ID:AUtZ1mrn
>>742
はい。specファイルの pathx に入力する方法も試したのですが、同じエラーです。

その後色々組み合わせをためしているのですが、3.10系では成功したことがありません。
3.8, 3.9系では opencv のバージョン次第で正常に動作します。

あと>>711 が教えてくださった nuitka ですが、アンチウィルスが過剰に反応するので諦めました。
2022/08/08(月) 16:30:56.98ID:ej7caoJh
ショートサーキットについてお聞きしたいです

本によるとandやorの両側には関数も取ることができ、
1 < 2 and print('right')
1 > 2 or print('right')
をインタラクティブシェルで実行すると
それぞれ'right'が表示されるみたいですが、釈然としません

そういうものだと覚えておくしかないでしょうか?
2022/08/08(月) 16:37:01.79ID:GNjKAHJ2
なにがわからないの?
x and y === if x then y else x
x or y === if x then x else y
2022/08/08(月) 17:05:06.74ID:Rerux/uK
>>747
それ
True and print('right')
False or print('right')
と同じで両方共に print('right') の値を見ないと全体の値は確定しないから 'right' が表示されるのは当たり前
1 > 2 and print('right')
ってやればどうなる?
2022/08/08(月) 17:15:18.30ID:w9crSB+N
andは左側が真の場合、右側を評価する
andは左側が偽の場合、右側を評価しない
orは左側が真の場合、右側を評価しない
orは左側が偽の場合、右側を評価する
左側だけで真か偽か判明してる場合は右側を評価しない
2022/08/08(月) 18:30:45.48ID:VXkV51Mv
>>746
そうですね。書いてありましたね。
あとやったとすれば、
a.datas += [('習済みデータ.xml','.\\習済みデータ.xml', 'DATA'),]
※学習済みデータは「haarcascade_frontalface_default.xml」等
を記述したことと、1つのファイルにしたときに、Temporaryの実行パスを取得を工夫したことくらい…

あ、できたファイルを実行時にウィルスとして検知されるので、
pyinstallerの中のファイルの再コンパイルも必要です。
752747
垢版 |
2022/08/08(月) 19:28:04.38ID:ej7caoJh
>>748-750
ありがとうございます

すいません、聞き方が悪かったです
ショートサーキットの機構については分かります
bool型を返すわけではないprint()関数が右端に「使える」ことが不可解です
print()は確かNoneを返す関数だったはず
2022/08/08(月) 19:40:14.54ID:Rerux/uK
>>752
None を bool として評価すると False になる
754デフォルトの名無しさん
垢版 |
2022/08/08(月) 19:41:18.38ID:wsYAfPSE
>>752
NoneはFalse
bool()で非ブール型もブールに変換した上で解釈される
2022/08/08(月) 20:06:39.11ID:UzajzKaJ
右辺はboolとしてなんて評価されません
適当なことを言うな
https://wandbox.org/permlink/gk6gdiVzpzvoPWfI
2022/08/08(月) 20:15:13.65ID:EDIALeRU
>>755
評価時に__bool__が呼ばれます。if とかで使うと出力される。
2022/08/08(月) 20:33:20.93ID:EDIALeRU
左だとすぐに呼ばれるのに対して違うんですね理解しました
2022/08/08(月) 21:21:18.46ID:icSMNlYR
文字列の置換って
translate()とreplace()のいいとこ取りの置換方法ないの?

translate()は
"aa"→"b"
にできないんだよね?

あと
AAA = kansuu(AAA)
BBB = kansuu(BBB)
CCC = kansuu(CCC)
DDD = kansuu(DDD)
みたいな感じになってるときって
for文で入れていく以外思いつかないんだけど、他に見やすい書き方あるかな?
2022/08/08(月) 22:27:42.98ID:GdyVfCQX
>>758
文字列をmappingベースで置換したいならflashtext使うといいかも

2つ目のはAAA, BBB, CCC, DDDをコレクション(dict, list, tuple等)にする
760デフォルトの名無しさん
垢版 |
2022/08/09(火) 11:17:14.43ID:6xBGELHM
フォルダパスとファイル名とURLを書くと画像を保存してくるコードを書いたんだけど
https://techiedelight.com/compiler/?BQkA

エラーの対処はわかったんだけど、もっと別の書き方があるのではと思ってしまう
他の人はこれをどう書きますか?
2022/08/09(火) 13:25:52.34ID:804xd0t9
raw文字列
2022/08/09(火) 14:13:10.80ID:6cdAV71K
バックスラッシュの代わりに、スラッシュを使う
でもいい
2022/08/09(火) 14:27:14.68ID:reKZbZGW
raw文字列、joinpath、with_suffix
2022/08/09(火) 16:46:37.99ID:904t2Z05
pathlib一択でしょうね
2022/08/09(火) 17:34:17.89ID:VX/MyXfz
HTTPErrorやIOErrorのハンドリングもやったほうがいいよ
766デフォルトの名無しさん
垢版 |
2022/08/09(火) 17:48:28.39ID:/U/bpI39
外部からの入力系は全部
try:
req
except:
クソ
するな俺は。ユーザーは信用しない
あとダウンロード系も
try:
down
except:
失敗
する。どんなわけわからんエラーくるかしらんし
2022/08/09(火) 18:07:25.22ID:RasYFqXo
外部とのやり取りは一筋縄ではいかないからねえ
ついでにリトライも入れておきたい
requestsには頼らずビルトインで頑張るw
2022/08/09(火) 18:28:07.98ID:Lt/MnBAv
>>766
それ普通じゃね?
2022/08/09(火) 21:17:15.16ID:DxAePLof
わざわざtryしなくても例外が起きると止まるっしょ
2022/08/09(火) 22:15:13.78ID:v2aJaQdL
わざわざブレーキつけなくても事故れば止まるっしょ
2022/08/09(火) 23:22:34.01ID:xxgft6hm
>>760
Windows で、path = "C:\a\b"
みたいに、\ を使わなければならないの?

Ruby では、
path = "C:/Users/Owner/Documents/a"
みたいに、/ を使うけど
772デフォルトの名無しさん
垢版 |
2022/08/09(火) 23:25:51.13ID:KqAyUORM
>>771
前半、バックスラッシュを使わなくてもアクセスできる。
後半、スレチ。いちいち書くな。
773デフォルトの名無しさん
垢版 |
2022/08/09(火) 23:34:41.82ID:oM0lzHLp
合わせてバックストレッチ。
774747
垢版 |
2022/08/09(火) 23:46:35.97ID:8UDvOyKH
レスが遅くなってすいません
答えてくれた方ありがとうございました
ああいった書き方もあるんだと頭の片隅に留めておきます
775デフォルトの名無しさん
垢版 |
2022/08/10(水) 00:02:07.83ID:DjE5xMJT
>>769
普通はエラー処理系にraiseするからtry節置くと思うが
2022/08/10(水) 02:29:00.47ID:kx7L/9BB
なにが普通かは人による
2022/08/10(水) 03:50:21.12ID:obfeaPUq
なぜこの関数が作られたのかを考えながらプログラム書くとすっきりする
2022/08/10(水) 10:26:29.49ID:rR8/AFmc
Enum 列挙型という概念を初めて知ったが
使い所がよくわからない
2022/08/10(水) 12:53:32.14ID:vnHVeG1e
関数をローカル変数に代入するメリットって何でしょうか?
2022/08/10(水) 13:19:15.14ID:8RUvvZbB
何度も同じ計算をしないで結果だけ繰り返し使える
2022/08/10(水) 13:33:33.79ID:bGy3yklD
場合によるけど、処理前半でローカル変数に関数を代入しておくことで、処理後半の分岐が消えて見通しが良くなる可能性はあるかも。
何らかの理由でリネームしたかったとか?
2022/08/10(水) 15:00:50.94ID:vnHVeG1e
ありがとうございます
2022/08/10(水) 15:59:42.31ID:WlLD55gQ
>>779
同じコードで呼び出す関数だけ違うパターンって結構あるから
ソートとか
2022/08/10(水) 17:43:12.15ID:YLnkT8Qt
>>779
ループ内で毎回foo.bar()するよりも
ループの外でbar = foo.barして
ループ内ではbar()だけにすると微妙に速くなる
785デフォルトの名無しさん
垢版 |
2022/08/10(水) 21:48:18.68ID:5JgNVH0W
かけるかな
786デフォルトの名無しさん
垢版 |
2022/08/11(木) 07:13:22.60ID:HPSk7Pik
https://i.imgur.com/FBcOaIq.png
質問です。WindowsでColabでやってます。
1024×768のサイズの画像のみを収集したいのですが、
違うサイズの画像が入ってきます。どうすればいいですか?
2022/08/11(木) 07:56:07.13ID:X31RE6bn
>>786
設定したfiltersがcrawlに設定されていない
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
788101
垢版 |
2022/08/11(木) 09:45:20.53ID:fCiqpa8j
英語って本当にプログラムに適してるのか?
isspace()
って何かと思ったらis spaceかよ
空白ないと判別しにくいのはプログラミングにおいてどうかと思うわ
2022/08/11(木) 10:00:41.98ID:nadsErGw
キャメルケースとかスネークケース使えよ
790デフォルトの名無しさん
垢版 |
2022/08/11(木) 10:13:40.52ID:ECrQVbq4
atoi
791デフォルトの名無しさん
垢版 |
2022/08/11(木) 11:12:03.43ID:m7iYSaV1
>>788
少なくともあんたはプログラムに向いてないな
792デフォルトの名無しさん
垢版 |
2022/08/11(木) 12:26:10.60ID:fKEJQx+N
https://i.imgur.com/HJTruLr.png
>>787
ありがとうございます。早速、記入してみたのですが、
画像が収集できなくなりました!
AssertionError となりましたが、どうすればいいですか?
2022/08/11(木) 12:46:20.99ID:7cUH/Z7I
×(かける)じゃなくて x(エックス)じゃねーの?
=1024x768
てか、コードはスクショじゃなくてコピペしてくれ
794デフォルトの名無しさん
垢版 |
2022/08/11(木) 13:47:35.08ID:fKEJQx+N
>>793
ありがとうございます。早速、修正してみたのですが、
TypeError となりました!どうすればいいですか?
コードのコピペ↓
from icrawler.builtin import GoogleImageCrawler

google_crawler = GoogleImageCrawler(storage={'root_dir': '流星フォルダ'})
filters = dict(size='=1024x768')
google_crawler.crawl(keyword='流星', filters=filters, max_num=10)
2022/08/11(木) 13:58:15.94ID:7cUH/Z7I
エラーもコピペしてくれよ...
796デフォルトの名無しさん
垢版 |
2022/08/11(木) 14:07:01.78ID:fKEJQx+N
>>795
このようなエラーとなっています。
エラー↓
Exception in thread parser-001:
Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 926, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 870, in run
self._target(*self._args, **self._kwargs)
File "/usr/local/lib/python3.7/dist-packages/icrawler/parser.py", line 104, in worker_exec
for task in self.parse(response, **kwargs):
TypeError: 'NoneType' object is not iterable
2022/08/11(木) 15:00:05.18ID:7cUH/Z7I
>>796
バグかも...
https://github.com/hellock/icrawler/issues/107
798デフォルトの名無しさん
垢版 |
2022/08/11(木) 15:15:10.72ID:fKEJQx+N
>>797
バグですか...ありがとうございます。
他のコード、1024×768のサイズの画像のみを収集するには、
どうすればいいですか?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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