23/06/17 21:25:30.40 nv4PMJEL0.net
>>408
ディスコの運用初心者で詳しくないのですが、ボットで違うサーバに自動投稿というのは出来ないんですよね?
やりたいのはゲームのチーム募集で10時間に一回投稿という感じなのですが
414:デフォルトの名無しさん (ワッチョイ f661-NCu+)
23/06/18 03:49:42.01 FVqhDmcT0.net
ボットが参加してるサーバーじゃないと無理だね
あとチャンネルにメッセージ送信できる権限も必要
415:デフォルトの名無しさん (ワッチョイ 793d-C6j3)
23/06/18 08:30:36.69 GZZlDb8U0.net
>>410
まあ自動投稿って荒らしがやりそうな事ですもんね
手動投稿でがんばります
416:デフォルトの名無しさん (ワッチョイ 8950-wtyc)
23/06/19 16:31:51.04 1BUWfJEl0.net
環境変数の文字列を置換するのに何か方法ありませんか?
以下ではエラーでした。
aaa = "$HOME/xxx"
re.search("(\$[^/$ ]+)", f"{os.environ(\1)}", aaa)
417:デフォルトの名無しさん (ワッチョイ 5e61-gPkm)
23/06/19 17:24:28.76 Glrukv1f0.net
>>412
hoge = re.sub("\$([^/$ ]+)", lambda x: os.environ[x.group(1)], aaa)
418:デフォルトの名無しさん (ワッチョイ 8950-wtyc)
23/06/19 18:02:40.50 1BUWfJEl0.net
>>413
確認できました。
助かりました。ありがとうございます。
419:デフォルトの名無しさん (アウアウウー Sacd-kPXK)
23/06/21 04:25:45.06 J4l8RQKca.net
DISCOってよくわからんが、ブラウザで動くならSeleniumで自動化したらいいんじゃない?
420:デフォルトの名無しさん (ワッチョイ f661-NCu+)
23/06/21 06:09:22.65 0uJYSTxc0.net
>>415 そういう事するのが利用規約違反って話
421:デフォルトの名無しさん (テテンテンテン MM96-sgG1)
23/06/21 07:37:30.57 t9LzbMUnM.net
ルール通りAPI使えば済む話だろ
422:デフォルトの名無しさん (ワッチョイ f661-oNF8)
23/06/21 08:37:09.02 0uJYSTxc0.net
APIだろうが外部のアプリケーションだろうが、Discordの利用規約では「ボットアカウント以外を自動化するのが禁止」という話。
もう終わった話だからこれ以上これについて議論する価値が無いと思う
>>404からをよく読んで欲しい
423:デフォルトの名無しさん (ワッチョイ 8554-MfA7)
23/06/21 15:02:01.93 H/mww/Ws0.net
bot APIを使えばいい
424:デフォルトの名無しさん (ワッチョイ f661-oNF8)
23/06/21 16:35:28.17 0uJYSTxc0.net
>>419 793d-C6j3 は自分のサーバーに自動投稿したいんじゃなくて、他のユーザーが管理してるサーバーに自動投稿したいという話。
なので Bot 作ってもそのサーバーの管理者がその Bot をサーバーに追加してくれないことには意味無い。
っていう話も >>409 あたりから書いてあるんだけどちゃんと読んでからレスしてる?
あと Discord 公式に「bot API」なんてものは存在しないからよくドキュメント読んでから書いた方が良いよ
discord.com/developers/docs/intro
425:デフォルトの名無しさん (ワッチョイ 927d-/M2v)
23/06/21 21:34:20.09 0ajJDSrZ0.net
【プログラミング言語】企業が求めるエンジニア言語ランキング 2位「R」、3位「Go」 1位は? 企業DB運営会社が発表
スレリンク(scienceplus板)
426:デフォルトの名無しさん (ワッチョイ 655f-GTOq)
23/06/21 21:49:16.50 73YbeCUa0.net
Rは言語っちゅうよりツールだよな
427:デフォルトの名無しさん (ワッチョイ 5efb-+wmN)
23/06/21 22:17:17.38 nOYD/YvV0.net
デフォでエクセル読み込めないRがなんだって?
428:デフォルトの名無しさん (ワッチョイ 8554-MfA7)
23/06/21 22:29:38.95 H/mww/Ws0.net
URLリンク(image.itmedia.co.jp)
ええー
perlは?
429:デフォルトの名無しさん (ワッチョイ 12bd-u/GO)
23/06/22 01:06:30.61 trtsfi5v0.net
Perl大好きだったDeNAも今はほとんど使ってないだろ
430:デフォルトの名無しさん (ワッチョイ 0d59-Yu/H)
23/06/22 02:16:00.37 hPQpnAZR0.net
Cなの??
431:デフォルトの名無しさん (ワッチョイ 8554-MfA7)
23/06/22 08:41:10.37 6qCgvqyK0.net
Cは納得するけどRの違和感がすごい
432:デフォルトの名無しさん (ワッチョイ 692c-OubL)
23/06/22 16:27:42.10 ry2OhFJB0.net
Rustはどこいったんだよぉ
433:デフォルトの名無しさん (ワッチョイ 5e12-Hbd9)
23/06/22 16:59:36.96 I0fx1jsA0.net
機械語吐ける処理系は
便利さより簡明さの方が優先なんだろうな
434:デフォルトの名無しさん (ワッチョイ b163-uLoI)
23/06/22 18:58:58.97 eFYWna5Y0.net
Cが多いのはああそういう母集団なんだなと思うだけたがそれと同等でRが並ぶのは謎すぎる
435:デフォルトの名無しさん (ワッチョイ 8554-MfA7)
23/06/22 19:09:00.39 6qCgvqyK0.net
これからRで新規に何か作ったりはしないだろうから、
既存システムのメンテ要員なんだろうけど、何をそんなにたくさんRで作ったんだ
436:デフォルトの名無しさん (ワッチョイ 655f-7ZjA)
23/06/22 21:37:10.06 4vIH+GrL0.net
aws transcribeをboto3で使ってるけど、凄い便利で精度も凄い
でもリアルタイム処理もやりたい
chromeからリアルタイムで音声を受け取ってawsに投げて、リアルタイムで音声認識できたら最高だけど
awsのサーバーレスLambdaでやればいいのか、それともflaskでやるのか迷ってる
いい方法ないかな
大人しくJavascriptでやれ、と言われそうだけど
437:デフォルトの名無しさん (ワッチョイ 8554-MfA7)
23/06/22 21:46:27.68 6qCgvqyK0.net
多分これあれだな
求人情報で持ってて欲しいいろんなスキルを集計した奴だ
excelとかもあったけど、それは言語じゃないから省いた
Rも便利に使えて欲しくて、一応言語だから残ったけど、それで開発する訳ではない
438:デフォルトの名無しさん (ワッチョイ 5efb-+wmN)
23/06/22 22:00:42.51 GMczMVxU0.net
RとJavaが逆じゃねってっくらい案件数違う
JavaScript入るのにmatlabは無いのおかしいだろ
439:デフォルトの名無しさん (テテンテンテン MM96-l8k0)
23/06/23 02:16:39.84 FiJyLSIOM.net
Pythonをやってみてしみじみわかる
自分が昔Cに挫折した原因は、Cが原始的過ぎるのだと
何せCには俺らがPythonで何気なく使っているリストがなく、
データ構造の実現には配列や構造体を組み合わせてポインタでアクセスすることが求められる
これでは毎回Pythonのリスト機能を一から手実装しているようなものだ
コードの大半がデータ構造アクセスに浪費され、肝心のロジックを書く前にプログラマーが消耗してしまう
440:デフォルトの名無しさん (ワッチョイ f661-NCu+)
23/06/23 06:34:45.67 PvP1hDIF0.net
string型もないしな
441:デフォルトの名無しさん (ワッチョイ 769a-Mhnf)
23/06/23 06:44:34.67 fMNbteF10.net
まあ各種データ型は一旦コードを書いたらライブラリ化して再利用してもいいし、
何かのAPIを使ってコード書いてるときにはそのAPIが各種の型も提供している場合がある
けどね
442:デフォルトの名無しさん (ワッチョイ 5e46-CMa5)
23/06/23 10:12:50.43 jQcBUz850.net
リスト型はともかく、
車輪が必要になって、「pip 車輪」すりゃよいものを、再発明してしまうことはよくある。
443:デフォルトの名無しさん (ワッチョイ 8554-MfA7)
23/06/23 14:55:50.06 hn7rk+Ru0.net
wheelのこと?
444:デフォルトの名無しさん (アウアウウー Sacd-Hkv7)
23/06/23 16:03:42.34 lCxAQSJFa.net
今日 AWS のテレビコマーシャル初めて観た
普通の人あれ観て何のCMか判るんかな
どういうマーケティングなんやろ
445:デフォルトの名無しさん (アウアウウー Sacd-Hkv7)
23/06/23 16:06:06.70 lCxAQSJFa.net
>>435
STL使うならC++
Cなら今はtcl/tkのクラス使うと便利
446:デフォルトの名無しさん (ワッチョイ 2302-X2sk)
23/06/27 17:12:41.59 qBS161b80.net
AIプログラマーになりたいんですが、書店の参考書読めばなれますか?
今まではXbox系、Playstation系のプログラマーをやってきて、
もちろんC++やPythonは使ってます。
447:デフォルトの名無しさん (ワッチョイ 4bbb-wJdI)
23/06/27 17:15:41.51 18qbID/D0.net
>>442
くくりがでかすぎるから、まず本屋でどんな分野があるのか調べるとこからだと思うよ
てか、実績のくくりもおかしいから人に相談する前にまずは自身のスキルセットの整理からかも
448:デフォルトの名無しさん (ワッチョイ ad5f-q5lI)
23/06/27 17:42:34.35 WeQZqkEK0.net
Kaggle(じゃなくてもいいけど)に興味がある分野があれば挑戦してみては
本は基本遅いし誤りも多いからとっかかりで読むだけ
449:デフォルトの名無しさん (ワッチョイ 23bd-HQei)
23/06/28 00:25:23.03 89dyc+Yr0.net
5chで質問してる時点で無理
450:デフォルトの名無しさん (ワッチョイ 4bfb-gbu0)
23/06/28 10:08:46.19 h1/9qa9W0.net
>>442
データサイエンスのある学部に3年次編入したら?書籍買買い漁るもありだけど、体系的に学ぶ方がとっかかりやすい
451:デフォルトの名無しさん (ワッチョイ 4bd6-phf2)
23/06/28 10:14:19.41 xFveyc720.net
AIプログラマーにはなれないだろうけどe資格でも取ればいい
452:デフォルトの名無しさん (ワッチョイ 2302-X2sk)
23/06/28 10:49:00.73 5nvtk/TU0.net
>>444
ありがとうございます。
Kaggleはよさそうですね。
無料で利用できるみたいですね。
453:デフォルトの名無しさん (ワッチョイ 2302-X2sk)
23/06/28 10:52:17.26 5nvtk/TU0.net
>>446
ありがとうございます。
私は国立大学(東京大学)の情報工学出身なので、
それなりに基本は理解してるかなと思い、いい本で勉強できればいいな、とか思ってました。
454:デフォルトの名無しさん (ワッチョイ 4bbb-WxNW)
23/06/28 12:36:52.52 x7EqKs650.net
院に上がればいいじゃん
455:デフォルトの名無しさん (ワッチョイ 3501-OfpS)
23/06/28 12:40:15.98 yVk2loca0.net
アメリカの大学に行くのが正解だな
456:デフォルトの名無しさん (オイコラミネオ MM31-JHC8)
23/06/28 13:31:40.23 YUZzapSuM.net
東大卒が便所の落書きで質問して市販本で勉強するわけない
457:デフォルトの名無しさん (ワッチョイ 3501-F8yx)
23/06/28 13:51:51.94 xJ5N72uh0.net
掲示板で自己紹介しても本人証明はできんからな
458:デフォルトの名無しさん (ワッチョイ 3501-F8yx)
23/06/28 13:53:14.64 xJ5N72uh0.net
否定する理由もないから
あっそう てなところだな
459:デフォルトの名無しさん (ワッチョイ 9d63-F8yx)
23/06/28 18:34:56.74 eg2z38w70.net
相手をしてもらっただけでめっけもんなんじゃないの?
養分とはよく言ったもんだ
460:デフォルトの名無しさん (ワッチョイ 6d54-iX87)
23/06/29 10:35:46.35 97xspd+w0.net
def func():
func.counter += 1
みたいに、関数名.変数名で前回の値が保持できるけど、
これはどういう名称?
static変数でいいの?
461:デフォルトの名無しさん (ワッチョイ 2302-X2sk)
23/06/29 10:43:55.35 nlvFIcH90.net
バカどもが、
ゴミ書き込みをして、人を叩いて満足するスレ
バカが…
462:デフォルトの名無しさん (ワッチョイ 4b7b-i0vF)
23/06/29 10:50:50.20 sVqSU9Dt0.net
わざわざバカの集まるところにマウンティングをしにきて
自己肯定感を満足させようとするが
それすら叶わず捨て台詞を置いていくスレの間違いです
463:デフォルトの名無しさん (ワッチョイ 2302-X2sk)
23/06/29 10:53:26.88 nlvFIcH90.net
また
ゴミ書き込みバカ登場
バカが…
464:デフォルトの名無しさん (ワッチョイ 4b46-GfJH)
23/06/29 11:08:49.93 WQ4uFLEn0.net
>>456
知らんけど、(関数オブジェクトの)オブジェクト変数?
逆に訊きたいのだけど、それ、保証された動作なの?
465:デフォルトの名無しさん (ワッチョイ 6d54-iX87)
23/06/29 11:27:51.39 97xspd+w0.net
え、駄目なの?
グローバル変数を使うよりよっぽどスマートだと思うけど
外部から初期化するのが面倒なだけで
466:デフォルトの名無しさん (ワッチョイ a301-dWHu)
23/06/29 13:11:09.10 zn3rSI/c0.net
自動で初期化されるようにしようとすると面倒だし初期化を強制することもできないので
普通にモジュールグローバル・クラス変数・インスタンス変数を使ったほうがよっぽどスマートだと思う
467:デフォルトの名無しさん (ワッチョイ ad5f-q5lI)
23/06/29 16:28:15.36 NJ3ikdMQ0.net
クロージャだから外に変数おけばいいんだけど
名前空間汚さないのはいいかも
def func(): ...
func.counter = 0
並べて書けば必ず初期化はされるし
468:デフォルトの名無しさん (ワッチョイ a301-dWHu)
23/06/29 22:46:19.39 zn3rSI/c0.net
いろいろデメリットがあるから使い捨ての短いプログラム以外ではやめといたほうがいいと思う
クラスにするのがオーバーキルと感じる場合ならクロージャ使う
def make_counter(i=0):
__def inner():
____nonlocal i
____i += 1
____return i
__return inner
デフォルト引数にmutable objectを使うやり方もあるけど
あれもちょっとしたハックなので避けたほうがいい良いと思う
469:デフォルトの名無しさん (ワッチョイ 6d54-iX87)
23/06/29 22:58:21.86 97xspd+w0.net
聞きたかったのは是非ではなく名称なんだけど
結局誰も知らないということかな
470:デフォルトの名無しさん (ワッチョイ 4bcf-jKYg)
23/06/30 00:07:55.24 k2cLJ2r80.net
関数オブジェクトにプロパティ追加してるだけ
471:デフォルトの名無しさん (ワッチョイ a301-dWHu)
23/06/30 10:42:56.33 bRI+/epy0.net
Python用語では「関数属性」と呼ばれてる
472:デフォルトの名無しさん (ワッチョイ ad5f-q5lI)
23/06/30 12:03:51.62 eJGBY8G60.net
URLリンク(peps.python.org)
これか
473:デフォルトの名無しさん (ワッチョイ 4bfb-gbu0)
23/06/30 12:11:46.76 YNoPlx540.net
強い人はどのようなところを見ているか参考になるなぁ
474:デフォルトの名無しさん
23/06/30 14:01:00.28 01oPuE97.net
命名規則が今いち定まらない
たとえばデータベースでリレーションシップ組むときに
userが投稿したpostという設計だったとき
UserモデルとPostモデル
そのリレーションモデル名をPostUserにするのかUserPostにするのか
user,postはまだ一対多なのでわかりやすいけど
もし一対一の関係だった場合、どっちがどっちでもいいじゃんってなるような・・
頻繁に困りはしないけどコードを後で見直したときに
どっちが先だったっけ?ってモヤモヤする
475:デフォルトの名無しさん (ワッチョイ 4ba7-cUyJ)
23/06/30 14:18:27.36 7I3jd3Xx0.net
userpostだとユーザーがポストした内容そのもの
posruserだとポストしたユーザーの情報
476:デフォルトの名無しさん (アウアウウー Sa69-gbu0)
23/06/30 14:29:22.66 COdzz4kma.net
変数ならなにをどうしたものか
メソッドならなにをどうするものか動詞句を用いて記述するのがオヌヌメ
曖昧さを回避するなら
create post session
get input by user from contentviewer
query results
validate from controller
とかが鉄板
477:デフォルトの名無しさん
23/06/30 15:08:45.48 01oPuE97.net
そういうメソッド名の命名規則というより
JOIN文でどのテーブル名を先に書くか
みたいな問題と似てると思う >>471-472
478:デフォルトの名無しさん (ワッチョイ 6d54-iX87)
23/06/30 16:22:36.82 ko6oOWb50.net
名前決めてくれるサイトがあった
479:デフォルトの名無しさん
23/06/30 16:56:20.54 01oPuE97.net
命名専用サイト使うほど、変数名つけること自体はそこまで難しくないし言うほど困らない
翻訳とかChatGPTでいいし
480:デフォルトの名無しさん (ワッチョイ ce9a-EKe4)
23/07/03 00:10:29.29 gwE/4uCf0.net
プログラミングの経験を聞かれた時に「パイソンチョトデキル」と答えてもいい基準は?
481:デフォルトの名無しさん (ワッチョイ 4359-h6Xl)
23/07/03 00:18:28.77 pHhD+O8v0.net
開発の実務経験でしょ
482:デフォルトの名無しさん (ワッチョイ 2b54-LnEc)
23/07/03 00:39:30.70 Xaa1oBX80.net
python開発者にならないと
483:デフォルトの名無しさん (ワッチョイ 62bd-3PuC)
23/07/03 01:14:10.43 Gvp+84VE0.net
自分ができると思ってればそういえばいい
そんなフワッとした質問に厳密性は求めてない
484:デフォルトの名無しさん (ワッチョイ ce9a-Ex8n)
23/07/03 15:06:18.12 vDP44hRQ0.net
今までJavaとかC++でコツコツコードを書いてたんですよね
で少し前から機械学習のことをやってて、Pythonはそこで各種ライブラリを呼び出すのに
しか使ってないんですよね、基本的には
Pythonそのものよりライブラリをどう使うかに重点がある感じ
こんなでも「パイソンチョトデキル」と言ってみてもいいですか?
485:デフォルトの名無しさん (ワッチョイ 86bb-p0MK)
23/07/03 15:18:48.53 Qelwnf7e0.net
478のコメントで満足しとけよ
オマエうざいわ
486:デフォルトの名無しさん (ワッチョイ 06fb-LZTt)
23/07/03 17:44:19.22 O7SCHRRk0.net
応用情報とpython認定試験の2つの資格(基礎・データ分析)と実務経験5年以上位でちょっとできるでいいと思う
487:デフォルトの名無しさん (ワッチョイ cb5f-gKyC)
23/07/03 17:57:08.16 As32LQND0.net
そんなのとってるPythonistaどこにおるん?
488:デフォルトの名無しさん (ワッチョイ df01-hRAP)
23/07/03 18:06:55.69 CSWTIyVV0.net
ITSSのレベル2~3くらいだね
489:デフォルトの名無しさん (アウアウウー Sabb-LZTt)
23/07/03 18:32:08.53 FqLUwTrja.net
実際コーディング試験で能力測るからいいんじゃねーの
資格取ってる人は民間に証明してもらえるから案件獲得時のアピールにはなる
490:デフォルトの名無しさん (ブーイモ MM02-Mxvu)
23/07/03 18:35:13.90 EKa0XJn3M.net
python認定試験とか誰が受けてんだよ
491:デフォルトの名無しさん (ワッチョイ df01-hRAP)
23/07/03 18:59:10.80 CSWTIyVV0.net
齢を取ればわかるが
こいつが 何がどの程度できるか 会っただけじゃわからんのだから
資格持ちかどうかでとりあえず足切りできる
492:デフォルトの名無しさん (ワッチョイ 2b54-LnEc)
23/07/03 19:02:14.07 Xaa1oBX80.net
判らんというとこまでは合ってる
使って駄目だった時に、でもこいつ資格持ってたから、と採用担当が言い訳する為にある
493:デフォルトの名無しさん (ワッチョイ 22ea-hRAP)
23/07/03 21:26:04.92 wow6f6TN0.net
パイソン4級もってるお
494:デフォルトの名無しさん (ワッチョイ f78c-q98R)
23/07/03 23:44:38.12 5m8mumv50.net
二次元配列の0埋め初期化調べたら
list = [[0]*13]*20
とか書いてあったけどこれ内側の配列のidがすべて同じになっててダメじゃん
なんで複数のサイトでコレで解説されてるの…解決に無駄に時間食った…
495:デフォルトの名無しさん (ワッチョイ 2b54-LnEc)
23/07/03 23:53:47.85 Xaa1oBX80.net
配列を埋めて初期化して
array[n]
にいつアクセスしてもエラーにならないんだ
という考えは古いので、そんなことをしなくても済む方法を考えた方がいい
496:デフォルトの名無しさん (ワッチョイ a201-XP6B)
23/07/04 00:54:41.68 CD2OXxFv0.net
>>490
numpy.zerosで
497:デフォルトの名無しさん (アウアウウー Sabb-bEzi)
23/07/04 06:44:39.73 TkEucfjya.net
列毎にencode指定するにはどうしたらいいの?
文字列にしたい列と数値にしたい列が混在してる。
csvインポート時に指定したらいいのかエクスポート時なのかもよく分かってない。
csvインポートしてsumまではできたけど文字化けと数値が文字列判定で文字がくっついた状態。12+34=1234みたいな。
でも文字列指定にしないと0落ちする列がある…。
498:デフォルトの名無しさん (ワッチョイ 06a7-Y3h2)
23/07/04 06:57:35.95 ivBNorbE0.net
>>493
pandas使えばいいのでは
499:デフォルトの名無しさん (テテンテンテン MM8e-HXOp)
23/07/04 08:25:21.63 4uPHnKtKM.net
ググればすぐ解る
500:デフォルトの名無しさん (アウアウウー Sabb-hiKC)
23/07/04 09:49:02.57 X5jhzPkAa.net
>>490
いまだにそんな解説してるサイトは君がここに晒して知識の共有DB化に貢献してくれ
あと普通はリストじゃなくて配列はnumpy使え
501:デフォルトの名無しさん (ワッチョイ 2b54-LnEc)
23/07/04 19:04:03.10 jEw6QJzt0.net
配列とリストは似たようなもん
という考えを、perl使ってたから最近まで引きずってた
$array[10] = 1;
とかいきなり書いても平気
その時の$array[0]は空なので、1を足してもいいし文字列を結合してもいい
502:デフォルトの名無しさん (ワッチョイ 0646-8QP+)
23/07/04 19:20:37.82 VrKRGNM40.net
>>497
何それ。$array は
[1,0,0,0,0,0,0,0,0,0] になるの?
[1,1,1,1,1,1,1,1,1,1] になるの?
それとも全く別の何か?
503:デフォルトの名無しさん (ワッチョイ 0646-8QP+)
23/07/04 19:22:44.58 VrKRGNM40.net
あ、単に
[0,0,0,0,0,0,0,0,0,0,1] か。
504:デフォルトの名無しさん (ワッチョイ cb5f-gKyC)
23/07/04 19:25:29.97 E4cNaUeN0.net
>>497
配列と連想配列をいっしょくたにしてそうなのと
BASICのようなPerlの緩さはまた別の話
505:デフォルトの名無しさん (ワッチョイ 2b54-LnEc)
23/07/04 19:28:31.63 jEw6QJzt0.net
単に空になる
空は数字として評価すれば0だし、文字列として評価すれば''
506:デフォルトの名無しさん (ワッチョイ c633-hRAP)
23/07/04 20:03:53.48 BtduUDpY0.net
>>497の意味が分からん
perlの配列とPythonのリストを同じようなものと考えてたっていうこと?
507:デフォルトの名無しさん (ワッチョイ 2b54-LnEc)
23/07/04 20:19:24.19 jEw6QJzt0.net
Cの配列だな
領域を切ってしまえば途中のインデックスにいきなりアクセスできて当然という感覚
perlのリストとpythonのリストは見た目も挙動もよく似てるけど、
根本のところが全然違う
508:デフォルトの名無しさん (ワッチョイ 43bb-c6L3)
23/07/04 23:04:19.26 HXHLoMzH0.net
すみませんasyncioなんですが
asyncio.run(main())
というのは
asyncio.run(main)
ならわかるんですが、なんで asyncio.run(main()) なんですか?
関数呼び出してますよね?
納得できる理解が出てこないんですが
509:デフォルトの名無しさん (ワッチョイ 43bb-c6L3)
23/07/04 23:05:53.72 HXHLoMzH0.net
それとも asyncio.run() は mainの返り値を受け取ってるだけでしょうか?
それならわかりますが
510:デフォルトの名無しさん (ワッチョイ 43bb-c6L3)
23/07/04 23:08:11.81 HXHLoMzH0.net
自己解決しました
511:デフォルトの名無しさん (ワッチョイ b76b-k9yq)
23/07/08 08:44:42.01 O5MPIwDu0.net
DataFrame df があったとき、たとえば
df["A"] > 0
とすれば列 df["A"] の各要素が 0 より大きいかどうかを示す真偽値の列が返りますよね。
10 より大きいか、0 より大きく 10 より小さいか、0 より小さいか、という 3 値の分類をしたいときはどのようにするのが良いでしょうか?
apply で行ごと処理するやり方は分かるのですが、上の例のような高速なやり方を知りたいです。
512:デフォルトの名無しさん (スフッ Sdbf-5tAh)
23/07/08 10:01:14.37 a3G/XYZLd.net
0と10は放置で良いのか?
513:デフォルトの名無しさん (ワッチョイ b754-gTYV)
23/07/08 10:13:23.90 NHSo0HCe0.net
どう頑張っても真偽値は2種類なので、その組み合わせになるだろう
514:デフォルトの名無しさん (ワッチョイ 779b-k9yq)
23/07/08 10:25:56.65 jhsaf/8G0.net
>>508
ああ間違えた
もちろん含むように定義します
>>509
DataFrameの書き方ではどうか、という質問です
515:デフォルトの名無しさん (スフッ Sdbf-5tAh)
23/07/08 14:35:33.75 wniS2YMkd.net
(df['A']<0)*1+(0<df['A']<10)*2+(df['A']>10)*4
516:デフォルトの名無しさん (スフッ Sdbf-5tAh)
23/07/08 14:47:11.67 R+7Yl+5pd.net
訂正
(df['A']<0)*1+((0<df['A'])*(df['A']<10))*2+(df['A']>10)*4
517:デフォルトの名無しさん (ワッチョイ d7c0-SCup)
23/07/08 17:48:44.07 hY1qVx7y0.net
はるか昔にBASICで速度稼ぐために条件式組んでたのに似てるね
518:デフォルトの名無しさん (ワッチョイ ffbb-CBkq)
23/07/08 18:13:40.82 pyRMyuKU0.net
条件だけ見るとこれでよくね?
(df['A']<0)+((0<df['A'])*(df['A']<10))*2
519:デフォルトの名無しさん (ワッチョイ ffbb-CBkq)
23/07/08 18:18:05.83 pyRMyuKU0.net
あ、これでいいかw
(df['A']<0)+(df['A']>10)*2
520:デフォルトの名無しさん (ワッチョイ b754-gTYV)
23/07/08 18:19:37.71 NHSo0HCe0.net
3パターンしか無いのに3bit必要という時点でおかしい
521:デフォルトの名無しさん (ワッチョイ 9f01-Trzc)
23/07/08 18:43:10.62 9tTQWgpe0.net
3周することになっても単純に各条件でboolの結果を得たほうが速いと思う
1周で済ませたければTrue/Falseの意味がちょっと変わるけどブロードキャストすれば速い
df[‘A’].to_numpy()[..., None] < [0, 10]
522:デフォルトの名無しさん (ワッチョイ 779b-k9yq)
23/07/08 19:29:00.77 jhsaf/8G0.net
>>511-512
ありがとうございます
locにブール列を渡すのでも良さそうだと思いました。
523:デフォルトの名無しさん (ワッチョイ 779b-k9yq)
23/07/08 19:31:32.45 jhsaf/8G0.net
>>514-517さんももちろんありがとうございます
524:デフォルトの名無しさん (ワッチョイ f759-RRFc)
23/07/08 22:16:31.30 N9Ky4OK40.net
exeにしてダブルクリックすると起動するんだが黒い画面が出てくるんだけどこれって消せる?
525:デフォルトの名無しさん (ワッチョイ b75f-QjlB)
23/07/08 22:21:59.70 Wa1j7G/90.net
exeにしてって操作がPython標準じゃないからなんともいえんけど
使ってるツールにコンソール無効化みたいなオプションあるはず
526:デフォルトの名無しさん (ワッチョイ f710-STDj)
23/07/09 00:49:41.22 IRbmqSts0.net
pyinstaller xxx.py --noconsole
527:デフォルトの名無しさん (ワッチョイ f759-RRFc)
23/07/09 01:28:43.17 LTD59+Eo0.net
>>522
ありがとう、やってみる
528:デフォルトの名無しさん (ワッチョイ ffbb-YiFt)
23/07/09 21:13:55.30 3iZocu1K0.net
pypyでbeautifulsoupとかのライブラリ使えないのなんとかならんの?
自分でhtmlパーサーなんて組めないぞ
529:デフォルトの名無しさん (ワッチョイ b754-gTYV)
23/07/09 21:26:46.05 +zrdKLhN0.net
なんでそんなん使ってるの
530:デフォルトの名無しさん (アウアウウー Sa9b-HEX/)
23/07/10 19:00:47.80 ebofKpc7a.net
>>520
ソースを hoge.pyw にすると消える
531:デフォルトの名無しさん (ワッチョイ d710-QjlB)
23/07/12 21:03:15.12 pcy3cOib0.net
>>524
pypyつかうくらいだから問題はわかってんでしょ?
素直にPure Pythonなモジュールか
自前で外部ライブラリをCFFIやcppyyで使えばよろし
532:デフォルトの名無しさん (ワッチョイ b77f-rqKn)
23/07/13 05:19:15.27 P+pcu+dV0.net
Pylanceが急に日本語に切り替わってて気持ち悪い
533:デフォルトの名無しさん
23/07/13 12:39:21.74 NisY6ZLZ.net
ファイルやディレクトリ名の頭文字を数字にすると
importするときにエラーになる
一体どうすれば・・
例 5chモジュール作りたい
5ch.py
import 5ch # error
_5ch.py
ch5.py
【目的】_5ch.py
なんかダサいけど仕方ないか
534:デフォルトの名無しさん (ワッチョイ d710-UoGw)
23/07/13 13:00:03.04 SuCqDk4B0.net
先頭数字の識別子が使えるほうがマイナーだから
命名の時点で候補から外すしかない
535:デフォルトの名無しさん (ワッチョイ d701-kkOg)
23/07/13 14:27:15.58 ZYHhnIor0.net
>>529
import importlib
_5ch = importlib.import_module("5ch")
536:デフォルトの名無しさん (ワッチョイ b754-1VI2)
23/07/13 19:03:09.05 e6fQTteq0.net
全角ならいけるのでは
537:デフォルトの名無しさん (ワッチョイ fffb-RbNf)
23/07/13 19:24:12.45 SIvxUY2q0.net
ちんこかゆい
538:デフォルトの名無しさん (ワッチョイ f746-f2iC)
23/07/13 20:45:16.67 CbGMPheV0.net
>>529
例えに敢えて突っ込む。
ひろゆきが5chを奪還したら、モジュールを改名せなならんでしょ。なので、chmate に倣い ch.py。
539:デフォルトの名無しさん (ワッチョイ b754-1VI2)
23/07/13 20:49:16.40 e6fQTteq0.net
5番目のチャンネルならch5が普通なんだよな
540:竜馬
23/07/14 14:13:31.88
windows10
Anaconda3 Spyder Python
import datetime as dt
from datetime import datetime
end = dt.date.today() # end = '2023-07-09'
startをendの5年後にする計算したいんです。
541:デフォルトの名無しさん (ワッチョイ d78c-XD1j)
23/07/14 09:51:10.95 WrWkCYWC0.net
スペースちゃんねる 5
542:デフォルトの名無しさん (ササクッテロル Sp88-/C8I)
23/07/15 04:45:11.52 GxGOjSejp.net
そういえばAIに特化した言語が新しく出来るんじゃなかった?
543:デフォルトの名無しさん (ワッチョイ fb54-3Gka)
23/07/15 07:45:46.55 L14bh+x+0.net
そんなのはそろそろAIが勝手に作るだろ
544:デフォルトの名無しさん (ワッチョイ cec0-asTj)
23/07/15 08:50:48.64 WLzbmngd0.net
それってもはや機械語じゃない?それに人間には読解不能な奇怪語かも知れん
545:デフォルトの名無しさん (ワッチョイ fb54-3Gka)
23/07/15 09:22:20.54 L14bh+x+0.net
AIが一人で考えるなら言語なんか要らないけど、
複数のAIが話し合いをしようとすると何らかの共通言語は要るだろうな
546:デフォルトの名無しさん (ワッチョイ ac46-5gN0)
23/07/15 09:55:24.27 xHAexrGh0.net
聖帝「AIなど要らぬ!!」
547:デフォルトの名無しさん (ワッチョイ d9cf-rqn1)
23/07/15 10:23:04.50 sgI1NpCc0.net
そんなニュースはあったな。
終わりの始まり…? 独自言語で話しはじめた人工知能、Facebookが強制終了させる
URLリンク(www.gizmodo.jp)
548:デフォルトの名無しさん (ワッチョイ 6602-5Iwu)
23/07/15 10:48:59.50 HUYc3ujc0.net
AIイラストで背景や服に描かれてる謎の文字がそれじゃね?
549:デフォルトの名無しさん (アウアウウー Sa83-VT7O)
23/07/15 12:29:00.80 FawF2Viqa.net
ただでさえ人間の言語でも色々あるし
プログラミング言語だって一つじゃないのに
AIが言語使い始めたらそれこそ百花繚乱になるだろうな
550:デフォルトの名無しさん (ワッチョイ fb54-3Gka)
23/07/15 12:44:22.86 L14bh+x+0.net
地球ピジン語みたいなエスペラントに代わるものができるかもしれん
551:デフォルトの名無しさん (ワッチョイ 5cfb-cHdk)
23/07/15 14:09:07.13 bqZq+Kwu0.net
そんなことよりインタープリタからの脱却はまだまだ先なのかね
552:デフォルトの名無しさん (ワッチョイ ac46-rpZg)
23/07/15 14:09:10.71 xHAexrGh0.net
不美人語や醜女語、人三化七語があるのかと思ってしまった。
553:デフォルトの名無しさん (テテンテンテン MM34-rP6O)
23/07/15 14:36:36.53 tBtSZ9aSM.net
>>547
ソースと実行ファイル両方管理すんのマンドクセ
インタープリタこそ至高
554:デフォルトの名無しさん (ササクッテロロ Sp10-/C8I)
23/07/16 00:13:05.89 tV35rrDMp.net
つかPythonこそChatGPTのcode interpreterで十分やろと
555:デフォルトの名無しさん (ワッチョイ 8cbb-S0DD)
23/07/16 23:04:15.17 /c1wD1eS0.net
別にコンパイルしようと思えば出来るじゃん
それにインタープリターのメリットは実行環境選ばないところにあるから
556:デフォルトの名無しさん (ワッチョイ 8cbb-S0DD)
23/07/16 23:05:54.93 /c1wD1eS0.net
>>540
機械語じゃなくて中間言語になるだろ
機械語同士は方言多いから
557:デフォルトの名無しさん (アウアウウー Saab-Fman)
23/07/18 12:57:58.25 U1yb2f1Da.net
>>551
計算によってはハードやOSの違いで値が変わることもあるけどな
558:デフォルトの名無しさん (ワッチョイ 8cbb-KXil)
23/07/18 17:16:45.69 W27H1kNN0.net
ちょうどCythonがメジャーアップデートしたらしいから使ってみたら
559:デフォルトの名無しさん (ワッチョイ 5cfb-cHdk)
23/07/18 18:14:48.63 xmXOk1Vf0.net
お前ら知らないようだから教えてあげようと思ったんだがやはり止めることにしたんだ。
560:デフォルトの名無しさん (ワッチョイ 961d-Tqtv)
23/07/19 14:34:57.36 /XJELpjn0.net
seleniumでプロキシを通すとき、ローテーションタイプのエンドポイントだといちいち認証ダイアログ突破しなきゃならないのがめんどい
例えば URLリンク(username:password@host:port) みたいなのだと
--proxy-server=でchromeドライバーのオプション設定しても認証無理だった
profile上書きして、みたいな解決策はあるみたいだが
561:デフォルトの名無しさん (ワッチョイ 3abd-EfLL)
23/07/19 14:43:10.35 k5f5k9F30.net
急になんだよ
562:デフォルトの名無しさん (ワッチョイ 4e10-3jKb)
23/07/19 14:53:53.97 Ewgs5Hf50.net
>>556
URLリンク(developer.mozilla.org)
HTTPヘッダで渡せん?
563:デフォルトの名無しさん (ワッチョイ d0f8-N2q1)
23/07/19 15:28:03.19 4BqgSJod0.net
>>558
それは自分で実際やってみて出来たってこと?
一応やってみようと思うが、過去にadd_optionとかでやった気がするかもしれないが
ぐぐってStackOverflowに無かったと思うのでたぶんできなさそうな気もする
564:デフォルトの名無しさん (ワッチョイ 4e10-3jKb)
23/07/19 15:44:25.18 Ewgs5Hf50.net
>ぐぐってStackOverflowに無かったと思うので
技術者辞めたほうがいいよwww
565:デフォルトの名無しさん (テテンテンテン MM34-b40P)
23/07/19 17:00:10.42 u+cdsS/3M.net
そもそもselenium使うのがダメなんだと思うよ
566:デフォルトの名無しさん (JP 0H92-pBIq)
23/07/19 18:25:21.36 sF8RrwrcH.net
>>560
なんで笑ってるのかまったくわからんけど
StackOverflowにすら無かったかも、逆にあったら試し済みかも
って意味な
で、結局
>HTTPヘッダで渡せん?
ってのは自分で試してできたのだろうか
そこ聞きたかったのに完全スルーされてる
ちなみに認証ヘッダ作成してadd_argumentする方法は通らなかった
というかその程度で解決してるならstackoverflowにすでにやってる人がいると思う
そもそもプロキシサービスが提供するベーシックな解決方法が
今のseleniumじゃ--headlessでは無理ですスマン、みたいな説明だったし
てかstackoverflowに限らずまずざっと同じ事例調べんのって普通のことだと思ってたけど違うのか
>>558>HTTPヘッダで渡せん?(だろうか)
のようにまずアタリつけて、「お、イケた よっしゃー!」みたいな?笑
もちろんそういう喜びはあるけど今回みたいにダメだった時どうすんだろ
べつに煽ってるわけではないが気になるなぁ
567:デフォルトの名無しさん (ワンミングク MM3e-Y6s1)
23/07/19 19:05:27.52 a1zHaHr9M.net
そういうところだぞ
568:デフォルトの名無しさん (ブーイモ MM5e-IGBM)
23/07/19 21:10:46.70 ES61DorgM.net
こういうメンタリティの人は何やってもダメだわな
569:デフォルトの名無しさん (ワッチョイ 9ca5-dOyP)
23/07/19 21:17:25.88 6R5NftZQ0.net
たしかに、自分で試したこともない方法で助言するメンタリティの人は何をやってもだめだろうなぁ
570:デフォルトの名無しさん (ワッチョイ 7033-/jfo)
23/07/19 21:28:55.17 XLDi8Tb/0.net
>>558は可能性の一つを示しただけだろ
それを否定して、しかもその根拠がQ&Aサイトに載ってないから、だぞ
だいぶやばいだろ
571:デフォルトの名無しさん (ワッチョイ 1aaa-wK2A)
23/07/19 21:30:37.27 oHydL3V30.net
探し物してるときに一番ハッキリさせておきたいのは
そもそも無い物を探してた
かどうかってところ
あそこにあったんじゃなーい?
とか助言どころかむしろ邪魔でしかない
572:デフォルトの名無しさん (ワッチョイ 1e8c-Y6s1)
23/07/19 21:44:27.57 nKTepp9S0.net
普通は可能性を示されたらそれが正か否かの確認を自分でしない?
パソコン自体の不具合もそうやって絞り込んでいくし
573:デフォルトの名無しさん (ワッチョイ dc02-Mpql)
23/07/19 21:47:43.09 Hzpaw23F0.net
まずググれとは言うくせに
助言者には、出来ると思うじゃなくまず自分で試せ
とは言わない謎
相手がぐぐっていたら、それ試しましたって不毛になる可能性も高まるのに
なぜか上から目線で自分に甘い
実際、試して出来ました出来ませんでしたって事例があるのがstackoverflowなどのナレッジコミュニティ
>>566は根本的に勘違いしてるけど>>556は1㍉も助言は求めてないぞ
574:デフォルトの名無しさん (ワッチョイ feba-AHk/)
23/07/19 21:52:00.02 FbW6mKxi0.net
どこそこで壺買ったらうまくいったぞ
という可能性を示されたら生か否か確認を自分でしないとな笑
いや、そんなことでうまくいかないと知ってる側からすれば確認などするわけない
まずおまえが自分で試せ、となるだけ
575:デフォルトの名無しさん (ワッチョイ 3eba-Yhx6)
23/07/19 22:01:23.39 ihTqsCIr0.net
A「わからないんです 教えてください」 →�
576:@B「○○すればええのでは」 → A「わかりました試します」 これはわかる A「これは出来ないっぽいぞ」 → B「○○すればええのでは」 → A「そんな事例ないけど、自分それでできた?」 → B「知らんけど、可能性を示されたら自分で試せや」 これはまったく理屈がわからない 現実的に後者のやつがいたらごくごく普通に不信感抱くけど
577:デフォルトの名無しさん (ワッチョイ 4e10-3jKb)
23/07/19 22:11:14.22 Ewgs5Hf50.net
>>556のURLみるとBasic認証だったんで
技術的には固定のHTTPヘッダを出力するだけなのを案内
うまくいかないのはヘッダ出力か、なーるほどとなると甘く考えてた
おなじように site:stackoverflow.com 縛りでググったけど
add_argumentは仕様でできないからrequest_interceptorをつかえと
いくらでもヒットするし意味わからん
578:565 (ワッチョイ 7033-/jfo)
23/07/19 22:57:06.27 XLDi8Tb/0.net
ごめんなさい、間違ってました
悪いのはID:Ewgs5Hf50です
579:デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
23/07/22 08:54:19.91 xOnSvjXE0.net
任意の長さのlistを受け取る関数で、listが一つの要素しか持たないときはlistの代わりにその要素を渡しても良いことにしたいのですがどうするべきでしょうか?
つまり
func([hoge])
の代わりに
func(hoge)
と書くのを許したいということです。
C++ならオーバーロードするだけですが、Pythonの場合はどのようにしますか。
580:デフォルトの名無しさん (ブーイモ MMab-3wqI)
23/07/22 09:22:02.65 CGuNy4vJM.net
>>574
API設計の良し悪しは置いとくとして
何もしなくても関数の引数に違う型を渡すのは許されてる
type hintの話ならunion使えばいい
int | list[int]
オーバーロード的に別関数にしたいなら関数名を変える
581:デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
23/07/22 09:27:38.97 i05cYusF0.net
listが一つの要素しか持たないときでも、例外を設けずlistを渡すべきだ。
582:デフォルトの名無しさん (ワッチョイ 2781-FYg4)
23/07/22 09:28:28.85 2b3RUs8b0.net
自前で型を判定して分岐する。
def func(arg):
if not isinstance(arg, list):
arg = [arg]
return arg
print(func(1)) # [1]
print(func([1,2,3])) # [1,2,3]
一応、オーバーロードっぽい書き方もできる。(結果は上と同じ)
singledispatch という名前の通り、先頭の引数にしか効かないけど。
from functools import singledispatch
@singledispatch
def func(arg):
return [arg]
@func.register
def _(arg: list):
return arg
583:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 10:54:42.82 v5hjaRdU0.net
a, _, b, _, c = list
みたいにせずに、
a, b, c = list[0, 2, 4] # 誤り
みたいな感じにリストの一部だけ抜き出すにはどうすれば
584:デフォルトの名無しさん (スププ Sdff-8Gu3)
23/07/22 12:11:10.18 RUx94lS4d.net
>>576
賛成
例外投げるべき
585:デフォルトの名無しさん (ワッチョイ df00-Rp6Z)
23/07/22 12:11:33.92 265f1RXI0.net
>>575-577
アザトゥース!
586:デフォルトの名無しさん (スププ Sdff-8Gu3)
23/07/22 12:13:57.55 RUx94lS4d.net
>578
a, b, c = (list[0], list[2], list[4])
あと変数名を'list'にするのはよせ
numpyやpandas使うともうちょっと気の利いた書き方もあり
587:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/22 12:24:49.80 YLqzZrt5a.net
>>578
>>> L = [1, 2, 3, 4, 5]
>>> a, b, c = (L[n] for n in [0, 2, 4])
>>> a, b, c
(1, 3, 5)
588:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/22 12:34:17.51 YLqzZrt5a.net
>>578
>>> import pandas as pd
>>> L = [1, 2, 3, 4, 5]
>>> L = pd.Series(L)
>>> a, b, c = L[[0, 2, 4]]
>>> a, b, c
(1, 3, 5)
589:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/22 12:37:31.89 YLqzZrt5a.net
>>578
>>> import numpy as np
>>> L = [1, 2, 3, 4, 5]
>>> L = np.array(L)
>>> L
array([1, 2, 3, 4, 5])
>>> a, b, c = L[[0, 2, 4]]
>>> a, b, c
(1, 3, 5)
590:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 12:46:18.36 v5hjaRdU0.net
現状はリストのインデックスにリストがくるとただのエラーになるから、
pythonがpandasやnumpyの仕様を取り込んでくれればいいのに
591:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 12:50:42.27 v5hjaRdU0.net
まあ、
a, b, c = L[[0, 2, 4]]
こう書く代わりに
a, b, c = np.array(L)[[0, 2, 4]]
こう書けばいいだけか
592:デフォルトの名無しさん (ブーイモ MMff-3wqI)
23/07/22 14:23:00.24 QXCscxEqM.net
不要な要素を除去するステップと
個別の変数や辞書にマッピングするステップは
分けた方がいいんじゃないかという気がする
593:デフォルトの名無しさん (ブーイモ MMff-3wqI)
23/07/22 14:38:32.38 kcC8tnpEM.net
良く考えてみたら分けられてるといえば分けられてるのか
ただ両辺の要素数の一致を保証できるコードか
一致しない場合も考慮したコードじゃないとモヤモヤする
594:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 18:28:57.35 v5hjaRdU0.net
具体的にどういう用途だったかというと、excelのシートを一旦2次元配列に読み込んで、
その中から必要な部分を抜き出している
先頭の行をインデックスにして、そこに書かれた名前でやるのが普通だけど、
得体の知れない手作りデータがソースだと、そんなこともある
595:565 (ワッチョイ 7f33-onGn)
23/07/22 21:02:36.96 uM7XUdqd0.net
>>589
それならfilterのが楽じゃないか
>その中から必要な部分を抜き出している
これをコードに落とし込めるならだけど
filter(lambda x: x % 2 == 0, l)
596:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 21:50:00.68 v5hjaRdU0.net
飛び飛びだよ、という意味で0, 2, 4なだけで、もっと続けると、
0, 2, 4, 7, 11, 12 みたいな感じになる
597:デフォルトの名無しさん (ブーイモ MMab-3wqI)
23/07/22 22:01:05.17 oa2ckNVGM.net
そういう用途ならpandasのread_csvやread_excelでskiprowsやusecolsを指定して必要な部分だけ読み込むかな
csv.reader縛りでも同じように
usecols = [0, 2, 4]
[row[i] for i in usecols]的な処理をする
入力データを整形するステップと
整形したデータをもとに計算加工するステップは分離しておきたい
598:565 (ワッチョイ 7f33-onGn)
23/07/22 22:22:00.69 uM7XUdqd0.net
>>591
>>590のコードはあくまで例で、必要な部分を抜き出す処理を関数化できるならっていう意味です
599:565 (ワッチョイ 7f33-onGn)
23/07/22 22:31:52.11 uM7XUdqd0.net
官公庁から送られてくるデータで、csvとかjsonで送ってくれたら楽なのにexcelファイルでしか送ってくれないとかいうのあったな
600:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 22:40:18.16 v5hjaRdU0.net
取り消し線で消した部分は無効にしないといけないexcelとか地獄
あと何故かみんなセル結合大好き
601:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/22 23:01:13.06 pjILcF770.net
マイナンバーとか上手く行かないハズだわ
602:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 23:06:41.26 v5hjaRdU0.net
マイナンバーは作った時に暗証番号の登録が大量にあった時点で、
これは絶対駄目だわと思った
行政に理系が皆無なんだよな
理系なら絶対せんやろということを平気でやって失敗する
603:デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
23/07/22 23:09:58.01 ywRUx2Al0.net
いまだにコンビニで誤交付あるのがなんとも
604:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/22 23:15:46.42 v5hjaRdU0.net
システムは別に間違ってない
紐づけの処理を間違ったヒューマンエラー
何故間違ったかというと、前の人の画面のまま次の人の入力したから
605:デフォルトの名無しさん (JP 0H0b-0blL)
23/07/22 23:31:58.51 VWoIL+TEH.net
うんちをすると、おしっこも同時に出るようなものかな。
606:デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
23/07/23 00:10:42.60 Y2dIYUXH0.net
>>594
官公庁はR使ってるからな
互換性持たせるためにpandasつかえってことでしょ
607:デフォルトの名無しさん (ワッチョイ 7fbb-IQbN)
23/07/23 01:53:23.55 a7j2OMe40.net
マイナンバーをプライマリーキーにすれば95%くらい解決する話
要件定義で失敗してる
608:デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
23/07/23 08:48:42.98 XMl58DhzM.net
設計開発した企業の名前は全部公表して欲しいな
609:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 09:06:55.98 1hxNS+Jv0.net
その段階でのミスはただのバグで容易に修復が可能
仕様や要件がそもそも間違ってるので、もうどうしようもない
610:デフォルトの名無しさん (ブーイモ MMff-3wqI)
23/07/23 09:09:02.32 B6RMz+SmM.net
>>602
マイナンバーをプライマリキーにしたらダメだよ
クレジットカード番号をプライマリキーにしないのと同じ
611:デフォルトの名無しさん (ワッチョイ 678c-FGcY)
23/07/23 09:11:22.21 ijFwVi/G0.net
一体どういうシステム組めば同姓同名の他人と取り違えて登録できるんだよというのは疑問だった
612:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 09:12:09.24 1hxNS+Jv0.net
そんなケースあった?
613:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/23 09:13:28.92 NhS1+0R50.net
まあマイナンバーに限らず官公庁は昔から富士通系
614:デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
23/07/23 09:18:19.30 E9NR74nn0.net
入力ミスじゃなくて富士通がバグ直してなかった
615:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/23 09:22:35.53 NhS1+0R50.net
まあ普段からEXCELしか触らない事務員からすればcsv何それだからね
pandas使うにしろ目視手操作による前処理はまあ必要
616:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/23 09:38:52.76 NhS1+0R50.net
人間一人一人を本気で識別しようと思ったら塩基パターンのダイジェスト値でも求めるしかなさそう
いやそれこそ個人情報だけどな
617:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 09:41:09.96 1hxNS+Jv0.net
DNAの個人差なんか殆ど無いよ
618:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/23 10:40:07.53 NhS1+0R50.net
え?警察のDNA鑑定も無駄だってこと?
619:デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
23/07/23 10:49:52.76 SbvWaAdq0.net
>>613
八卦占いレベルと聞いているが、向上したのかな。
620:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/23 10:58:57.84 kMNWXVHya.net
>>599
主張1「前の人がログアウトしてない」
>>606
主張2「同姓同名の人が重複」
つまり2の原因が1だと言ってることになる
そんな奇蹟的なことがあるか?
政府の発表は嘘だということ
621:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/23 10:59:49.13 NhS1+0R50.net
人とチンパンジーの遺伝子が99%同じって話もこれ100分率が尺度として粗すぎるって事だけどな
622:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/23 11:02:16.46 kMNWXVHya.net
>>611
最近プーチンの影武者が話題になっているが
NE○が自慢してる画像だけで100億分の一で判定出来る顔認証AIで判定して欲しいものだ
623:デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
23/07/23 11:28:45.57 foNozPN40.net
>>605
どのテーブル/エンティティを対象にしているかを抜かして議論するのがそもそもダメ。
マイナンバーに紐付くべき情報を保持するテーブルでマイナンバーをキーにするのは何もおかしなことはない。
624:デフォルトの名無しさん (ブーイモ MM8f-3wqI)
23/07/23 17:04:38.87 SI3XE8qvM.net
>マイナンバーに紐付くべき情報を保持するテーブルでマイナンバーをキーにするのは何もおかしなことはない。
マイナンバーを発行する機構のシステムでもアクセスキーを持つ情報保有機関のシステムでもそんな設計したらダメだよ
詳しく知りたければDB設計スレにでもどうぞ
625:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 17:07:00.98 1hxNS+Jv0.net
詳しくは知りたくないがざっくり説明すらできないのは何も知らんとしか
626:デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
23/07/23 17:30:31.15 foNozPN40.net
>>619
まずはどういう理由でダメなのかを一言で説明してみて。
更新異常とかパフォーマンスとかセキュリティとかいろいろあるわけだし。
627:デフォルトの名無しさん (ワッチョイ 2705-TI2y)
23/07/23 17:37:23.40 NhS1+0R50.net
マ板的な話題かも知れんね
なぜマイナンバーカードはうまくいかないのか
スレリンク(prog板)
まあこういう話題は身近なプロジェクトでも起こりうるのであながち無縁ではない
628:デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
23/07/23 17:42:43.73 foNozPN40.net
>>619
じゃあよろしく。
DB設計を語るスレ 11
スレリンク(db板:307番)
629:デフォルトの名無しさん (ワッチョイ a701-bxGm)
23/07/23 18:13:42.78 y9AcmLwP0.net
>個人番号(マイナンバー)は原則として生涯同じ番号を使い続けていただき、自由に変更することはできません。
>ただし、漏えいして不正に用いられるおそれがあると認められる場合に限り、ご本人の申請または市町村長の職権により変更することができます。
対策1
新しいレコードを作成して対応(個人番号を主キーと出来る)
対策2
個人番号+適用期間のテーブルを持つ(個人番号を主キーと出来ない)
DB設計的に綺麗なのは後者だけど、実装が楽で高速なのは前者
テーブル結合が発生するやり方は性能設計的にやりたくない
630:デフォルトの名無しさん (ワッチョイ 2763-RZpt)
23/07/23 18:23:19.83 gta1+Avk0.net
個人番号自体は悪用された場合等に変更されることもあるんじゃなかったっけ?
だとすれば、これをプライマリーキーにしたらまずいと思うんだけど
631:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 18:43:52.80 1hxNS+Jv0.net
例外なく個人と生涯対応した隠しIDみたいなのがあって、それで管理されている
個人番号はそれと紐付けられた情報の一つ
632:デフォルトの名無しさん (ワッチョイ 27cf-FYg4)
23/07/23 19:10:08.65 foNozPN40.net
>>625
それは個人とマイナンバーをちゃんと区別する話。
再発行があるなら古いナンバーに紐付く情報と新しいナンバーに紐付く情報が個別に存在するかもしれないし。
633:デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
23/07/23 19:58:18.01 Y2dIYUXH0.net
個人番号をある数値で割って剰余を〇〇みたいな古典的な暗号化だったら笑う
634:デフォルトの名無しさん (ワッチョイ 672c-Ib0W)
23/07/23 20:31:45.21 EYaHQibB0.net
個人番号って秘密にするものなの?
身分証明証として使えばふつうに漏洩するじゃん。
どっかの店の会員登録したり、使うケースは今後多くなるんじゃない?
なぜなら保険証も免許証もなくなるのだから。
635:デフォルトの名無しさん (オイコラミネオ MM6b-NlyP)
23/07/23 20:37:40.81 uD38j19SM.net
番号自体でどうこうできないけども
トラッキングに使えるから収集は制限されてる
636:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 20:56:43.81 1hxNS+Jv0.net
個人情報は保護しなければ
と理由もなく思い込んでるフシがある
昔は住所も電話番号も普通に公開してたのに
スウェーデンみたいに番号知られたって何も困らんというスタンスの方がいろいろ便利
637:デフォルトの名無しさん (テテンテンテン MM8f-QBmF)
23/07/23 22:00:31.57 ZJTCwnE/M.net
10年以上Python使ってきたけど、今日ドキュメントを見ていてmatch文て存在を初めて知って軽いカルチャーショックだわ
これCとかのswitchだよね?
Pythonはswitchがなく、複数の条件分岐にはif~elifを使うってのが常識だったように思うが俺が見落としていたのか
638:デフォルトの名無しさん (ワッチョイ 0763-yXMF)
23/07/23 22:15:19.88 AOK+XCDI0.net
まあまあ最近に追加されたから知らなくてもおかしくはないかな
Cのswitch/caseとしても使えるしもっと複雑なこともできる
639:デフォルトの名無しさん (ワッチョイ 678c-FGcY)
23/07/23 22:20:57.34 ijFwVi/G0.net
Python 3.10からなら超最近じゃん
640:デフォルトの名無しさん (テテンテンテン MM8f-QBmF)
23/07/23 23:25:41.19 ZJTCwnE/M.net
職場で個人的にEUCを推進していてさ
自分で書いた小物ツールを他者に説明したりするんだけど
偉そうに「Pythonはシンプルを旨とし、一つのことをするのに
複数の書き方はできないようになってる。
よって条件分岐はifしかない」なんて能書き垂れてたんだよね
人に教える立場の者は常に勉強してないといけないなって反省
641:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/23 23:28:32.79 1hxNS+Jv0.net
sjisの方がよくね
642:デフォルトの名無しさん (ワッチョイ 7f10-fN/z)
23/07/23 23:41:11.15 E9NR74nn0.net
matchそのまま代入できたらよかったのに
643:デフォルトの名無しさん (ワッチョイ 7f33-DCff)
23/07/24 07:42:50.24 bhgXPbrR0.net
>>635
ちなみに、utf-8よりEUCを推奨する理由についてはどう説明してるんですか
644:デフォルトの名無しさん (テテンテンテン MM8f-QBmF)
23/07/24 08:10:31.42 E+poxZzBM.net
>>636の意味がわからなかったけど>>638で把握
マジレスしとくとエンドユーザーコンピューティング
エンドユーザー部門が自力でツールを開発メンテすれば金がかからず仕事も楽になる
645:デフォルトの名無しさん (オイコラミネオ MM3b-vA7O)
23/07/24 08:23:31.68 OTkPxk5XM.net
>>636
eucはsjisより後に作られた。もちろん理由があってのことだ。
646:デフォルトの名無しさん (ブーイモ MMcf-2YhC)
23/07/24 08:55:56.30 hxZ6wCW4M.net
UTF-8が標準なのもなんかなぁ
マルチバイト環境ならUTF-16のが効率よくね
647:デフォルトの名無しさん (ワッチョイ 678c-FGcY)
23/07/24 08:58:01.85 SSci5eI60.net
世界的に普及している中で世界中の文字をそれなりに扱えるのがUTF-8だから
648:デフォルトの名無しさん (アウアウウー Sa2b-dDmk)
23/07/24 09:21:53.31 opC+VrO7a.net
EUCが一番不要
何のメリットがあるんだよ
649:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/24 09:30:34.81 b4teMFwba.net
>>624
そもそも12桁って少な過ぎる
絶対将来枯渇するよな
650:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/24 09:33:25.07 b4teMFwba.net
>>629
そもそも秘密なら「教えろ」って言ってくるはずが無い訳だが
そういう仕組みにはなっていないね
651:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/24 09:36:09.41 b4teMFwba.net
>>637
どこのRustの人ですか
652:デフォルトの名無しさん (アウアウウー Sa2b-tGd7)
23/07/24 09:39:02.04 b4teMFwba.net
>>643
unicodeのcodepointのうちで
sjisに変換不可能な文字は存在するが
eucなら変換出来るんじゃないかな
それだけでもsjisがいかに糞か判る
653:デフォルトの名無しさん (ワッチョイ 7f33-DCff)
23/07/24 10:43:02.36 bhgXPbrR0.net
>>639
とりあえず、>>638
っていうか、utf8普及しまくってるのに何でわざわざeucにするんですかって聞かれ時はどう答えてるの?
654:デフォルトの名無しさん (ワッチョイ 7f90-HmGg)
23/07/24 11:23:39.95 4YyKbOUI0.net
>>648
読み間違えてるよ
誤:EUC(Extended Unix Code)を推奨する
正:EUC(End User Computing)を推進する
655:デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
23/07/24 12:11:52.51 jISsTKbU0.net
EUC(European Union Center)だろ。
656:デフォルトの名無しさん (ワッチョイ a701-bxGm)
23/07/24 18:28:38.98 NnxoLtiq0.net
>>644
日本が存続する限り運用するなら何桁にしても枯渇する
657:デフォルトの名無しさん (ワッチョイ df02-/dWn)
23/07/25 01:07:45.39 BpssBnM30.net
足りなくなったら電話番号みたいに桁増やすでしょ
その時はお役所仕事でグダグダになるんだろうけど
658:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/25 05:40:35.68 xb+ZpjMN0.net
IPアドレスの枯渇とかと同じだと思ってるな
ビット数なんか決まってないんだからどうにでもなる
内部的には19桁までいける筈
659:デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
23/07/25 07:01:10.71 VkH/on+mM.net
web3は国策のはずだがどうなったのだろうな
失敗するんだったらコッチで失敗した方が後の糧となるのにな
660:デフォルトの名無しさん (ワッチョイ 678c-FGcY)
23/07/25 07:37:27.20 7bxToldZ0.net
web 2.0の時点で何それ知らんだったのにまだやるのか
661:デフォルトの名無しさん (ワッチョイ bf63-4dwq)
23/07/25 14:07:53.28 rWqhM1Bk0.net
from importってどこで定義すれば良いのか規則とかあるのでしょうか?
from . import samples
def util():
pass
def main():
ここでsamples.aaaなどを参照する処理
とかやった場合にsample.aaaでutil参照してる場合に循環importエラーでますよね
なのでmain関数の中でfrom .import samples
にするかそもそもutile関数を分けるか、だとおもうのですが
そういう場合は、って慣習があるのか気になりました
662:デフォルトの名無しさん (アウアウウー Sa2b-QKap)
23/07/25 14:33:36.56 iTChcdyRa.net
as hogehoge するとか
ディレクトリ造って __init__.py の方でなんとかするとか
663:デフォルトの名無しさん (ワッチョイ 5f32-QY1y)
23/07/25 14:50:47.21 SopfjPcB0.net
最小構成はこんな感じです
URLリンク(pastebin.com)
要は、samplesとhogeはお互いの機能を使い合いたい、感じです
仮に、aaaでしかsamples.util使わないならaaaの中でimportすれば循環は回避できます。
また、
hoge.utilの中ではsamplesを参照しない、
のは誰が書いても論理的に確定しているから
hoge.mainの中でsamplesをimportする
という方がしっくりきます
しかし、hoge.main以外にmain1,2と増えた場合に毎度その中で書くことになります
なのでそれが通例?なのかな、と。または別の慣習があるとか
それだったらもう、
「samplesの機能を使うようなモジュールとそうでないモジュール」
として、hoge.utilを完全に隔離した方がシンプルで迷うことは無いのではと考えました
こういうの__init__.pyとかで解決できるんですかね・・?
ちょっと調べてみようと思います >>657
感情論で言うと
「hoge.util内でsamplesの機能ひとつも使っていないのに、どうしてhoge全体でsamplesをimportしたの?」
が根本的な問題なような気がして・・
664:デフォルトの名無しさん (アウアウウー Sa2b-QKap)
23/07/25 16:03:23.98 iTChcdyRa.net
hoge.py の中で from samples import aaa
665:デフォルトの名無しさん (ワッチョイ e7da-elOp)
23/07/25 17:03:52.28 vV5HZ24s0.net
>>659
>>656の>ここで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の条件分岐内のコードも修正しなければならない
ということくらいでしょうか
666:デフォルトの名無しさん (ワッチョイ 7fcf-WOXz)
23/07/25 17:18:07.90 igfKK3yD0.net
というかsamplesでfrom .hoge import utilしていると
hoge.pyの中で部分的に from samples import しても循環エラー出ますね。 >>659
やはり、使わない機能は隔離して一方向でimportする
というのがベストなのかもしれない
667:565 (ワッチョイ 7f33-onGn)
23/07/25 19:50:56.15 UAjCsPDR0.net
何でそういう構成なのかよくわからんからあれだけど、そのままでいくならhoge.pyのmainを__int__.pyに移すとかじゃない
668:
669:デフォルトの名無しさん (アウアウウー Sa2b-X5BL)
23/07/25 21:22:26.38 VfuQkNGra.net
>何でそういう構成
構成にしているというか、現状はしてません
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で処理したのは
URLリンク(pastebin.com)
これですが、やはり循環エラーが出ます
やり方があっているのかはわかりません。
670:565 (ワッチョイ 7f33-onGn)
23/07/25 22:02:11.25 UAjCsPDR0.net
>>663
URLリンク(pastebin.com)
671:565 (ワッチョイ 7f33-onGn)
23/07/25 22:10:25.73 UAjCsPDR0.net
.hogeの"."みたいな使い方初めて知った
672:565 (ワッチョイ 7f33-onGn)
23/07/25 22:13:45.51 UAjCsPDR0.net
実行結果わすれた
URLリンク(pastebin.com)
673:デフォルトの名無しさん (ワッチョイ 275f-OZEF)
23/07/25 22:22:23.99 6HC3TGbL0.net
>>664-666
ありがとうございます
>mainを__int__.pyに移す
って文字通りだったんですね・・w
ただ、これってhoge_util.pyとhoge.pyに分ける
と何が違うんでしょうか??
hoge.mainという関数名はあくまで最小構成のための仮の命名なので
__init__.py内に書くのは雰囲気的には合ってますが
もっと具体的な機能名だった場合に
hogeモジュールとほぼ関係が断ち切られるので困るような
ちなみにhoge_util.py hoge.pyにあえて分けたやつです
URLリンク(pastebin.com)
674:565 (ワッチョイ 7f33-onGn)
23/07/25 22:22:28.79 UAjCsPDR0.net
>>663
>samples.pyとhoge.pyでお互いの機能をimportし合うケースってあるよね
あるか?
675:デフォルトの名無しさん (ワッチョイ 7fbb-IQbN)
23/07/25 22:54:39.51 kbsi1DjE0.net
__init__.pyってディレクトリ名を名前空間として
他のクラスを使う特殊なモジュールだという認識
言い換えればディレクトリ名というクラスのコンストラクタであり
ディレクトリ内のモジュールは内部クラスである
676:デフォルトの名無しさん (ワッチョイ dfad-IOyT)
23/07/25 22:55:19.84 P8udYAxA0.net
util分けずに>>663の(1)のimportのスコープを替えて回避する、もついでに
URLリンク(pastebin.com)
やはりimportは自作モジュールか否かに関わらず
基本は一番上のスコープでimportするようにして
そのimportしたモジュールの機能を使っていないものは
素直に隔離して小分け、という規則に従った方がいいっぽいですね
まだ何か弊害ありそうな気はするものの
677:デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
23/07/26 09:31:51.47 udWNOLwT0.net
matplotlib.pyplot.show()すると一々ウィンドウができてスクリプトが止まるけど、そうならないでほしい
block=Falseにすると止まらないが図が一瞬で消える
show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながらスクリプトは続行する方法ありますか
678:デフォルトの名無しさん (ワッチョイ 6710-OdYE)
23/07/26 10:19:22.64 gDBE6+Md0.net
>>671
URLリンク(matplotlib.org)
こんなとこで聞くより公式サイトをまず漁る
679:デフォルトの名無しさん (ワッチョイ a701-pcwf)
23/07/26 11:11:48.46 78KtOcma0.net
ChatGPTに聞けば一瞬で答えてくれるやろ
680:デフォルトの名無しさん (ワッチョイ dfbd-h4sM)
23/07/26 12:16:00.18 NW3R3IJu0.net
この手の質問してくる人が>>672を見てパッと理解できるとは思えん
681:デフォルトの名無しさん (ワッチョイ a734-ZCrp)
23/07/26 13:22:27.16 GIx/DHwN0.net
>show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながら
って極論ブラクラみたいになるってこと? >>671
そのやり方はわからないので必要ないかもだがあえて別の方法を掲示
自分がやるなら画像に出力して、ビューワで表示するなり
簡易的なhttp-serverでも立ててwebアプリにしてしまう
画像出力するだけの方をチャッピーに聞いてそのまま実行したけどできた
URLリンク(ideone.com)
682:デフォルトの名無しさん (アウアウウー Sa2b-QKap)
23/07/26 14:45:09.68 +VPKYlg4a.net
show()使わずにpause()してdraw()するんだよ
683:デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
23/07/27 03:37:07.84 uhvAOvsF0.net
>>672,674
ええ。全くわかりません。
一時ファイルに書き出して最後に全部表示して消すとかで代替しようかと思います。
>>675
>> show()する度に永続的な (=閉じるまで消えない) ウインドウを出しながら
> って極論ブラクラみたいになるってこと?
そうです。
意外と難しいっぽいですね。
>>676
何も理解せず的外れなこと言ってるね。
684:デフォルトの名無しさん (ワッチョイ 876b-Rp6Z)
23/07/27 04:05:01.27 uhvAOvsF0.net
いやよく見たら>>672も同じウインドウ内で次々と違うプロットを出す方法じゃん。
show()毎に前のウインドウを残したまま新しいウインドウを出すというのが今やりたいことです。
685:デフォルトの名無しさん (アウアウウー Sa2b-QKap)
23/07/27 09:01:24.08 GoQM94Wca.net
>>676-678
馬鹿には無理
686:デフォルトの名無しさん (ワントンキン MMbf-FGcY)
23/07/27 09:09:41.74 F3HgNoZlM.net
またこいつか
質問する側なのに偉そうな奴
687:デフォルトの名無しさん (テテンテンテン MM8f-bhyX)
23/07/27 09:23:17.34 HNphsCPDM.net
答えもしない外野が一番偉そうだよなw
688:デフォルトの名無しさん (ワントンキン MMbf-FGcY)
23/07/27 09:41:18.81 F3HgNoZlM.net
>>681
じゃあ答えてあげてね
689:デフォルトの名無しさん (ワッチョイ a701-pcwf)
23/07/27 10:39:22.50 6rwcdyUp0.net
>>671
その文面をChatGPTに入れて聞けよ
690:デフォルトの名無しさん (ワッチョイ c79b-Rp6Z)
23/07/27 10:55:48.95 KDpjz6pI0.net
>>679
うん。で、なんで>>676みたいな投稿しちゃった?
691:デフォルトの名無しさん (ワッチョイ dfbd-h4sM)
23/07/27 12:27:31.67 klnm5ZEA0.net
マルチスレッド、マルチプロセス、同期、非同期、その辺もろもろの基礎知識ないとダメかと
急がば回れでまずはそこを学ぼう
692:デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
23/07/27 21:41:08.59 alYzqiaL0.net
そうだよね
俺が間違ってたよ
画像のエンコードから学んでくる!
693:デフォルトの名無しさん (ワッチョイ 8754-GsLg)
23/07/27 21:51:47.85 tOZTURiE0.net
質問者様の方が偉いんだよ
694:デフォルトの名無しさん (ワッチョイ 7f46-ut6A)
23/07/27 23:57:37.27 WsZf6wiz0.net
まず「急がば廻れ」(Walk, Don't Run) を聴きましょう。
695:デフォルトの名無しさん (ワッチョイ 4710-bxGm)
23/07/28 00:38:09.66 7q/zwki10.net
ChatGPT4-DefaultとChatGPT4-Code Interpreter
に依頼しまくれば基礎知識無くてもアプリできちゃうよ
根気よく会話して、話が噛み合わなくなったら
チャットを新規で始める
エラーが出たらそれをそのままChatGPTに伝える
696:デフォルトの名無しさん (ワッチョイ 4710-bxGm)
23/07/28 00:40:24.18 7q/zwki10.net
ChatGPT4-Code Interpreter+Custom instructionsの回答
matplotlib.pyplot.show()を使用すると、
通常、図を表示するウィンドウが開き、
そのウィンドウが閉じられるまでスクリプトが停止します。
しかし、スクリプトを停止させずに新しいウィンドウで図を表示したい場合は、
次の方法を試してみると良いでしょう。
ion()を使用してインタラクティブモードをオンにします。
figure()を呼び出すことで新しい図を作成します。
グラフをプロットします。
draw()を使用して図を更新します。
697:デフォルトの名無しさん (ワッチョイ 4710-bxGm)
23/07/28 00:44:32.99 7q/zwki10.net
以下は、この方法を使用して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() # 図を更新
698:デフォルトの名無しさん (ワッチョイ 4710-bxGm)
23/07/28 00:47:48.47 7q/zwki10.net
ChatGPT4-Code Interpreter+Custom instructionsの回答(別のチャット)
matplotlibのデフォルトの挙動では、plt.show()を呼び出すと、
ウィンドウが表示される際にスクリプトの実行が停止します。
しかし、block=Falseを設定すると、
ウィンドウがすぐに閉じてしまうという問題が生じます。
この挙動を変更して、
show()を呼び出すたびに新しいウィンドウを生成しながらスクリプトを続行するには、
以下の手順を試してみることができます。
plt.figure()を使用して新しいフィギュアを明示的に作成します。
プロットやサブプロットを作成します。
plt.show(block=False)を使用してフィギュアを非ブロッキングモードで表示します。
plt.pause()を使用して少しの間ウィンドウを表示させます。
この時間は調整できますが、通常は短い時間(例えば0.1秒)で十分です。
699:デフォルトの名無しさん (ワッチョイ 4710-bxGm)
23/07/28 00:48:15.50 7q/zwki10.net
以下は、この手順を使用して連続して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) # ウィンドウを少しの間表示させる
700:デフォルトの名無しさん (スフッ Sdff-nfxy)
23/07/28 10:31:09.70 KkbicWNnd.net
判らないなら黙ってて下さい
ウザいだけです
701:デフォルトの名無しさん (ワッチョイ df94-Rp6Z)
23/07/28 11:59:26.34 pDBZ2PJA0.net
>>689-693
全く俺のやりたいことじゃない
702:デフォルトの名無しさん (ワッチョイ 7ffb-p1qB)
23/07/28 12:40:41.62 viYsqOsS0.net
あほくさ
703:デフォルトの名無しさん (ワッチョイ 1710-NYH+)
23/07/29 00:47:40.65 LDYSy/8b0.net
指摘できる人が来ると思ったけどダメだったか
704:デフォルトの名無しさん (ワッチョイ 3f56-hoAD)
23/07/29 02:29:49.24 bG9XHQk/0.net
Seleniumでwebdriver_manager当たり前のように使ってたけど、Chrome115問題でちょっと色々考えさせられた。
結局今後もGoogleがドライバーの場所変えたらエラー吐くわけだから対処するならchromeのアプデしないようにするべきか。
705:デフォルトの名無しさん (ワッチョイ 3ebb-bWks)
23/07/29 11:12:06.08 CFjN6W2L0.net
手動でダウンロードしてきたらいいだけでは
706:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 12:39:48.66 S5qD2leK0.net
"""
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
707:デフォルトの名無しさん (ワッチョイ befb-LsOw)
23/07/29 13:41:09.08 YEGyQG5k0.net
チンチンシュッシュッシュッしてる感じのスレッドか
708:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 14:12:11.80 S5qD2leK0.net
自決
>python test.py -t aaa
{'-t': True,
'<test>': 'aaa'}
win10と挙動が違う
709:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 14:26:43.60 S5qD2leK0.net
test.py で起動すると、open('file')はtest.pyと同じ場所から開く
python test.py だとカレントの場所が変わるのでエラーになる
コードに絶対パス埋め込むのも何だし、pyのある場所を取得するのも面倒だし
きっちりすると面倒が増える
710:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 14:43:38.34 S5qD2leK0.net
parent = Path(__file__).resolve().
711:parent parent.joinpath(file) みたいにすれば相対で書ける これは便利だと関数化ライブラリに登録すると、ライブラリのあるパスになってしまう
712:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 15:57:30.99 S5qD2leK0.net
別のフォルダのライブラリにある関数を呼び出して、
open(add_current_path(LOG_FILE))
みたいにできないもんか
713:デフォルトの名無しさん (ワッチョイ becf-hyH4)
23/07/29 19:30:37.27 E/MzBLso0.net
個人的に基本、pythonスクリプトで扱うファイルやディレクトリの絶対パスは
envファイルに書いてる
環境変数にしてもいいし、嫌ならenvファイルに直接アクセスさえ出来れば
出口が必ず絶対パスになるのでenvの編集だけ気にすればいいだけだし
714:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 19:57:56.17 S5qD2leK0.net
__file__ を渡したらchdirしてくれる関数を作って、おまじないの1行を追加しよう
715:565 (ワッチョイ 7e33-CF7t)
23/07/29 22:21:52.96 NWGO3xeu0.net
venv使えばいいじゃん
716:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/29 22:35:15.06 S5qD2leK0.net
windowsでランチャーからスクリプト起動して処理させる使い方とvenvが合うと思えないんだよな
717:565 (ワッチョイ 7e33-CF7t)
23/07/30 01:38:23.04 xSgp5A2Q0.net
windowsのランチャーって何?サービスと違って実行環境にvenv指定できないの?
718:デフォルトの名無しさん (ワッチョイ 1710-NYH+)
23/07/30 02:18:03.51 lPGZsOOx0.net
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)
719:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/30 05:48:45.82 bULoPszl0.net
だからそれだと、その関数を登録したライブラリのあるパスを返すんだって
720:デフォルトの名無しさん (アウアウウー Sa1f-y5iw)
23/07/30 06:05:34.19 GM7u7fGAa.net
漏れは、デスクトップにショートカットを作って、
WSL2, Ubuntu-18.04, VSCode を起動して、
プロジェクトフォルダを開いているけど
リンク先
C:\Windows\System32\wsl.exe code .
作業フォルダ
\\wsl$\Ubuntu-18.04\home\<ユーザー名>\test\proj1
721:デフォルトの名無しさん (ワッチョイ fbf0-qKUu)
23/07/30 14:37:10.07 98nj2cg90.net
pythonで扱うファイルのパスってほぼ100%
設定ファイルだったり静的だったりするから
pythonファイル毎に相対パスで扱うのは罰ゲームでしかない
722:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/30 14:39:33.51 bULoPszl0.net
同じディレクトリにconfig.iniを置いて、とかむしろ常套手段なのでは
723:デフォルトの名無しさん (ワッチョイ aa7c-q8If)
23/07/30 14:45:19.86 YLokddKe0.net
だからenvするのが常套なんじゃないの
env後は相対パスになりようがないから
pythonスクリプト内で相対か絶対か処理を気にしなくてよくなる
724:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/30 15:08:07.33 bULoPszl0.net
venvは殆ど使ったことない上に、使うと混乱するのでむしろ避けてる
ぐぐってもコンソールから使ってる例しか見つからないけど、
例えばexcelのマクロからさらに呼び出して、みたいな時にも使える?
725:デフォルトの名無しさん (ワッチョイ 2301-0sUI)
23/07/30 17:23:26.95 kJu8CNGi0.net
そりゃ環境変数案件だな
726:デフォルトの名無しさん (ワッチョイ 7e33-CF7t)
23/07/30 18:30:42.96 xSgp5A2Q0.net
>>716のenvとvenvは別もんよな?
727:デフォルトの名無しさん (ワッチョイ 6379-X/lp)
23/07/30 20:26:24.18 xOWqpOI00.net
import traceback
print(traceback.extract_stack()[0].filename)
これで実行開始のファイル名が取れたりしない?
スタックトレースの1番最初を取ってくる感じだけど
試してないので、出来なかったらごめんなさい
728:718 (ワッチョイ 7e33-CF7t)
23/07/30 20:37:36.60 xSgp5A2Q0.net
よな?違う?どうなん>>716
729:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/30 20:42:39.05 bULoPszl0.net
これならいけそう
730:デフォルトの名無しさん (ワッチョイ 9f5f-3g6F)
23/07/31 01:38:57.99 Eecmz8Qn0.net
>>719
env: 普通は環境変数のことを言う
venv: 公式の仮想環境ツール
だからまったく関係ないよ
731:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/31 06:36:07.27 sj/Zsipy0.net
python.exeのある場所をカレントディレクトリにして立ち上がるのが間違ってるんだよな
そんな場所に用はない
何かのオプションを付けると、pyの場所をカレントにして立ち上がるとかになってるべき
本当はそれがデフォルトであって欲しい
732:デフォルトの名無しさん (ワッチョイ 7e68-WYN7)
23/07/31 07:13:10.38 hd73voNN0.net
w
733:デフォルトの名無しさん (アウアウウー Sa1f-MRRk)
23/07/31 08:10:06.12 i86yzHNoa.net
>>724
実行環境無視しろってこと?
インストールしてるライブラリーも環境によって違うのに?
734:デフォルトの名無しさん (テテンテンテン MMe6-WYN7)
23/07/31 08:14:28.90 48kAXXAcM.net
ハイレベル過ぎてついて行けない
735:デフォルトの名無しさん (アウウィフ FF1f-6+wX)
23/07/31 10:02:13.71 8wbRk2dYF.net
if __name__ == '__main__': で __main__ 描いている人は多いと思うけど
__file__ で自分の .py の位置取れるの知らない人は多い
736:デフォルトの名無しさん (ワッチョイ 1746-ZTxv)
23/07/31 11:12:47.09 abrV6Hh30.net
>>728
> 自分の .py
とは何。
737:デフォルトの名無しさん (ワッチョイ b759-cPHI)
23/07/31 14:10:18.34 Gx4f02N00.net
ググらんの?
738:デフォルトの名無しさん (ワッチョイ 1746-ziAf)
23/07/31 14:29:11.89 abrV6Hh30.net
>>703
ググって分かることなのか...
> python.exeのある場所をカレントディレクトリにして立ち上がる
とか、京人が妄言を交わしているようにし見えないけど、皆真摯に話しているので事実なんだろうね...
739:デフォルトの名無しさん (スププ Sd8a-kvF/)
23/07/31 14:42:29.33 z7fzl/90d.net
眼の前に答えがあっても観えない
観ようともしないフシアナさんには
Pythonは無理
740:デフォルトの名無しさん (ガックシ 063f-0KF6)
23/07/31 14:52:20.98 W5vBZByd6.net
>>717
使える
>>731
事実ではない
741:デフォルトの名無しさん (ワッチョイ be7b-vUql)
23/07/31 14:52:49.91 UKf8oRTI0.net
VSCODEでワークスペースに置いて作業すれば全て解決する話なのでは?
>test.py云々
742:デフォルトの名無しさん (ワッチョイ 2a7c-f1Kc)
23/07/31 21:15:58.91 +1m4O9oL0.net
>>717
venvなんてPythonの実行環境をvenvディレクトリ内にそのまま持ってるだけだから、そこのPython実行ファイルをフルパスで直接指定してやればいいだけ
普通はPythonにパスが通ってる状態で
python hoge.py
とかで実行するけど、それを
C:¥foo¥bar¥puroguramu¥venv¥bin¥python hoge.py
みたいにやる
743:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/07/31 21:24:17.33 Vr4eYj/H0.net
venvそういうのなのか
コンソールでコマンド打って、今からここだけバージョンなんとか、みたいに使うんだと思ってた
複数のバージョンを切り替えたい要求は特に無いので全部最新で構わない
venvとhoge.pyが自分の場所が判ることとは関係ないよね
744:デフォルトの名無しさん (ワッチョイ 7e33-CF7t)
23/07/31 22:03:58.43 AftC5NAU0.net
python hoge.pyしたらインストール先のpython.exeが呼ばれるけど、venvをactivateした場合はpython hoge.pyしたらvenvのpython.exeが呼ばれる
Lib\site-packagesも同様
仮想環境っていうかインストールした環境と切り離して実行環境を構築できるのがvenv
venv環境のPythonバージョンはvenv作るときに実行したPythonのバージョンと同じになる
745:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/08/01 14:23:03.31 s61+iNuO0.net
<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の書き方が違う
何か別の方法が必要?
746:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/08/01 14:25:20.51 s61+iNuO0.net
と思ったらできた
> input を削ったのを忘れてた
747:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/08/01 17:28:09.70 s61+iNuO0.net
折角作ったのに、本番環境のwin7では動かなかった
748:デフォルトの名無しさん (ワッチョイ 7f54-sZWK)
23/08/01 20:03:07.92 s61+iNuO0.net
selenium4だったのが原因みたいで3にしたら動いた
開発用は普通にインストールしたのになんで3だったんだ?
749:デフォルトの名無しさん (アウアウウー Sa1f-IPSQ)
23/08/02 09:26:45.38 4pI1Wfnva.net
日記は日記スレで
750:デフォルトの名無しさん (テテンテンテン MMe6-WYN7)
23/08/02 10:15:35.41 c5QFWyvkM.net
オナニー見せたい人なんだろうな
751:デフォルトの名無しさん (アウアウウー Sa1f-KN61)
23/08/03 03:06:00.60 USexfWQAa.net
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 が付く
752:デフォルトの名無しさん (ワッチョイ 5b02-mBaV)
23/08/06 16:25:19.98 yWag1CDn0.net
ゲームのBGMの中から効果音を抽出するpythonプログラムを作りたいんですが、いいライブラリとかありますか。
753:デフォルトの名無しさん (ワッチョイ 4954-+GTY)
23/08/06 16:36:45.75 jdOXBstM0.net
Demucsとか?
754:デフォルトの名無しさん (ワッチョイ 9b4f-Ydr4)
23/08/07 01:58:40.68 VL80kvYz0.net
>>712
>>720
今更だけどはsys.argv[0]でも実行開始のファイル名取得できる
config.ini読みたい場合はそこにchdirしてから読めばいい
os.chdir(os.path.dirname(os.path.abspath(sys.argv[0])))
exe化するとexeファイルの場所と__file__が別になったりするからこれ使う
755:デフォルトの名無しさん (ワッチョイ 9b4f-Ydr4)
23/08/07 02:20:10.84 VL80kvYz0.net
ちなみに今どきはSeleniumよりpyppeteerの方がいいんじゃね?
756:デフォルトの名無しさん (ワッチョイ 9b4f-Ydr4)
23/08/07 02:30:19.22 VL80kvYz0.net
むしろこれか、今度使ってみよう
URLリンク(github.com)
757:デフォルトの名無しさん (ワッチョイ 4954-+GTY)
23/08/07 06:45:02.83 O0KH7AXh0.net
test.pyのある場所に移動して
python test.py
とすると、sys.argv[0]はtest.pyなんだよな
758:デフォルトの名無しさん (ワッチョイ 9b4f-L4j8)
23/08/07 11:26:18.20 VL80kvYz0.net
test.pyの人はモジュール化した関数から実行開始ファイルの場所を取得して
設定ファイルとかを読みたかったみたいだけど
そもそもそういうのはmainがある場所でやって引数で渡すのが一般的
759:デフォルトの名無しさん (ワッチョイ dffb-IrHc)
23/08/09 12:45:22.50 Dwekhx5a0.net
モミモミちんちん
760:デフォルトの名無しさん (アウアウウー Sab1-IrHc)
23/08/11 08:50:33.66 G/NZQwIra.net
python勉強始めて1年半かかったけど
やっと機械学習動かせるようになった
761:デフォルトの名無しさん (ワントンキン MM8a-9kqf)
23/08/12 12:23:33.25 20qyV/w+M.net
かっこいい
762:デフォルトの名無しさん (ワッチョイ cebb-K2V0)
23/08/13 21:21:07.31 0E5SXPYI0.net
numpyがpypy3.9までしか対応してなくてつらい
お前ら早く3.10対応させて
763:デフォルトの名無しさん (テテンテンテン MMb6-xjxI)
23/08/13 21:41:15.56 CM3COsH1M.net
ライブラリ作者も大変だな
勝手に上がる本体バージョンに無償で対応させられて
764:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/13 21:54:12.08 nWSth0yh0.net
openで新規書き込みで開く時に、そのファイルを他のソフトで見てたりするとエラーになる
問答無用で書き換えるオプションとかある?
765:デフォルトの名無しさん (ブーイモ MMb6-A2L1)
23/08/14 09:06:14.98 0zfUzHP0M.net
ファイルハンドルの一覧を取得して
OSにファイルハンドルのクローズしてもらう
766:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/14 09:19:45.83 ZA3ioCne0.net
世の中の大抵のソフトはそんなことにならずに、もう一度開くとちゃんと更新されてるんだよな
それらがいちいちそんな面倒なことをしてるとは思えなくて、pythonだけがひ弱に作られているとしか
767:デフォルトの名無しさん (テテンテンテン MMb6-jo2H)
23/08/14 09:24:08.81 r+a5TBmRM.net
「世の中の大抵のソフト」と言うオマエの物差しなんぞ誰も知らん
バッチやpower shellでも同じ結果になるだろう
768:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/14 09:27:09.98 ZA3ioCne0.net
簡単なスクリプトで試すと、特にエラーにならずに期待通りに書き込んだ
条件を似せても成功する
769:デフォルトの名無しさん (ワッチョイ 1abd-Q0IG)
23/08/14 09:31:22.12 RuCw8Hbd0.net
もう少し具体的に書かないとアドバイスは出てこなさそう
770:デフォルトの名無しさん (テテンテンテン MMb6-jo2H)
23/08/14 09:35:28.32 YftetqPpM.net
「簡単なスクリプト」
771:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/14 14:09:38.85 ZA3ioCne0.net
seleniumでスクレイピングしながら取り込んだ情報をjsonに書き出す、
というのが実際にやってた処理で、そっちではエラーになるんだけど、
普通にjsonを書くだけでは問題が起きない
ファイルサイズが大きいからかな
772:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/14 14:15:36.24 ZA3ioCne0.net
OSError: [Errno 22] Invalid argument:
のエラーになるというのがよく判らない
大抵はパスの指定が間違ってるとかが原因だけど、普段はちゃんと動くのに
773:デフォルトの名無しさん (テテンテンテン MMb6-jo2H)
23/08/14 14:24:33.26 niAdk3sTM.net
じゃあ「普段」通りにしてないって事なんだろうな
自分で答えだしてるじゃん
774:デフォルトの名無しさん (ワッチョイ 8b01-DXLR)
23/08/14 17:43:45.04 3nQHx1DG0.net
pythonでseleniumつかってブラウザ操作して自動ログインするときについて質問させていただきたいです。
画像を選ぶタイプの認証が存在する場合はどのようにして突破すればいいでしょうか?
一応試してみたことは、
・ログイン画面に遷移した後、ユーザ名、パスワードを自動入力後、
をsleep()を使って10秒止めている間に対象の画像を手動クリックで選択する
そのあと10秒経ったらシステムが自動でログインボタンを押下する
・ログイン画面に遷移した後、ユーザ名、パスワードを自動入力後、
現在のURLを取得して文字列として変数に保存(oldUrl)
2秒に一回回すwhile内でURLを改めて取得(newUrl)をoldUrlとnewUrlを比べて
異なるURLになったらば(ログイン後の画面に遷移できたら)
そのwhileループを抜けて続きのブラウザ操作の処理を実行する方法
この2つ目の方法は、whileが回っている間に画像の選択とログインボタン押下を手動で行うものとしています。
この2点を試してみましたが、うまくログイン後の画面に遷移することができませんでした。
両方法ともログインボタンはアクティブ表示になっていて、
見た目としてはクリックができてないとかそういう感じではなさそうです。
画像選択など、特別な認証が必要ない別サイトでログインを試してみましたが、ログインが可能だったので、
大まかな方法は間違っていないのかなあと思っているのですが...
なにか解決方法などご存じの方いらっしゃいましたら、ご教示いただきたいです。。。
775:デフォルトの名無しさん (ワッチョイ 4e31-mJLh)
23/08/14 19:28:02.18 M/R0A3us0.net
ハイレベルでついていけないと言いつつ煽り文書ばっかだな
嫉妬か?
776:デフォルトの名無しさん (ワッチョイ 8b01-IkwO)
23/08/14 21:45:37.58 2+cZA+P90.net
>>767
マウスの動き等で人間かCPUかの判断してるタイプの認証じゃね?
無駄な動きいれてみても同じかな
例えば同じ自動運転でもuwscみたいにマウスカーソルの制御もいれるとログイン出来るんじゃないだろうか
777:デフォルトの名無しさん (ワッチョイ 8b01-po/e)
23/08/14 21:53:53.00 31y8BS1q0.net
そのサイトを見ないと分からんのに、目隠しで想像して目的を達するモノを作れとか鬼畜…
778:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/14 21:54:32.97 ZA3ioCne0.net
マウスの動きなんかサーバには伝わってない
判断するとしてもクリック位置とタイミングから
779:デフォルトの名無しさん (テテンテンテン MMb6-jo2H)
23/08/14 22:03:05.34 r+a5TBmRM.net
from 皮肉 import ハイレベル
780:デフォルトの名無しさん (ワッチョイ 5a01-cYLo)
23/08/14 22:21:41.71 x1KiHz8w0.net
>>767
手動タスクが必要な箇所にデバッガーのブレイクポイントを入れて
ゆっくり手動タスクを実行しながらブラウザのデベロッパーツールで
DOMやHTTPリクエスト/レスポンスを確認して原因を探ればいい
まずはログインボタン押下時のHTTP POSTリクエストの状況を見てみる
781:デフォルトの名無しさん (ワッチョイ 4ed6-uqZS)
23/08/14 22:37:22.37 BuOguaPF0.net
犯罪のやり方を人に聞くようなものだよ
782:デフォルトの名無しさん (ワッチョイ 1abd-Q0IG)
23/08/14 23:42:21.41 RuCw8Hbd0.net
そんなやり方をオープンな場で聞くなよ
どうしてもやるなら自分の力だけでやらないと
>>774も言ってるが、他人の家や車の鍵の開け方を聞いてるのと同じだよ
783:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/14 23:49:39.71 ZA3ioCne0.net
んなこたーない
784:デフォルトの名無しさん (ワッチョイ 4efb-oEo6)
23/08/14 23:56:24.91 1GFaH4W20.net
ちんこ維持りなら>>3をみろ
785:デフォルトの名無しさん (ブーイモ MMb6-A2L1)
23/08/15 08:12:45.63 hBc3zv6fM.net
画像認証だけ別端末で人間がやれば?
786:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/15 08:15:08.81 JoMoSokj0.net
余計困難になるがな
787:デフォルトの名無しさん (ワッチョイ 0754-vKG+)
23/08/15 08:28:44.16 JoMoSokj0.net
手動ログインした後の情報を取得しなくちゃと難しく考えて、
再度get()してしまってログイン前に戻っているとエスパー
788:デフォルトの名無しさん (アウアウウー Sac7-oEo6)
23/08/15 08:35:53.48 NUc+9Fyua.net
おそらくpostsのほうかと思われる