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のほうかと思われる
789:デフォルトの名無しさん (ワッチョイ 8b01-DXLR)
23/08/15 11:03:41.51 6qN8XCM10.net
766です。
回答くださった方も、
あんまりよろしくないのでは?とご指摘くださったも方ありがとうございました。
今回いずれの方法も画像認証の部分は完全に手動の想定で、かつアカウント自体も自分自身のものを使用していましたので、
他人の家の鍵を開けるような悪い方法でセキュリティを突破しているという意識はありませんでした...
確かに便利な技術なので、悪用してしまう方もいるかもしれませんから自動でログインすることを
画像認証は手動だったとしてもエラーを起こす高いレベルで防止している可能性はありますね...
お騒がせしてしまってすみません、みなさんありがとうございました...
790:デフォルトの名無しさん (ワッチョイ 9701-DXLR)
23/08/15 13:21:27.20 /nceAzo40.net
・フリーエンジニアが年間3,600万円の売上を上げた方法を解説する
・26歳で独立して月収150万になった 元引きこもりエンジニアの物語
・ブラック企業から退職し、独立後11ヶ月で“月収300万円超え”になるまでの軌跡を
デザイナー社長船越良太に聞いてみた!
・ITフリーランスで月額単価150万円!万が一の就業不能に備える
無料の保険もある「クラウドテック」
・フリーランス時代に月収4万円→最高340万円を達成した船越さんに、
「お金」との向き合い方を聞いてみる
・フリーランスSEってどれくらい稼げるの?月単価160万円の案件を扱う定番エージェント
・フリーランスの仕事や職業の種類って何があるの?独立5年目で月収200万の僕が詳しく解説
791:デフォルトの名無しさん (ワッチョイ 9a4f-tKjX)
23/08/15 21:07:08.25 iHrYHeWs0.net
>>782
seleniumよりplaywrightでstorage_stateを使ってセッション情報再利用した方が簡単だよ
ログイン処理は手動になるけど
792:デフォルトの名無しさん (アウアウウー Sac7-CyVu)
23/08/17 00:50:23.37 kQVkGKvWa.net
ユーザ名、パスワードを自動入力する所までを、
selenium で自動操作して、
これ以後を手動にすれば?
793:デフォルトの名無しさん (アウアウウー Sa45-1QCT)
23/08/19 13:12:32.57 52JmQRSba.net
データベースから取得したレコードを、requestsでどこかに投げるときって
データベースから取得した時点でセッションから抜けた方が良いと思うのだがみんなどうやってるの?
セッション開く → レコードを取得 → レコードを変換して変数に格納 → セッション閉じる
→ 変数に格納されたレコードの内容をrequests.post → 成功or失敗など
→ セッション開く → idなどからレコードを特定 → レコードを更新 → セッション閉じる
セッション開いたままだと
セッション開く → レコードを取得 → レコードの内容を成型してrequests.post → 成功or失敗など
→ レコードを更新 → セッション閉じる
簡潔だが「成功or失敗など」の部分でtimeoutがある場合その影響が気になる
794:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/19 19:09:54.75 Yb/5nk3j0.net
普段使ってないからseleniumでchromeを使ってるのに、勝手にupdateしてエラーになる
しかも116用はテスト版しか無い
795:デフォルトの名無しさん (テテンテンテン MM4b-7WDu)
23/08/19 19:11:55.30 o9YRXmkxM.net
グダグダ言う前にまず作ってみろよ
796:デフォルトの名無しさん (ワッチョイ 934f-6i9g)
23/08/20 10:43:01.59 w+meV9DH0.net
>>786
DBへの更新が必要なら基本コネクション維持してやってしまうな
更新時にコネクション状態をチェックして、閉じていたら再接続する処理を入れる
DBへの接続はコネクションプールを使用
797:デフォルトの名無しさん (ワッチョイ 93f4-epS9)
23/08/20 18:05:19.16 PX4OpZxJ0.net
メモ
txt.replace("条件","置換")
re.sub("条件","置換",txt)
この引数の順番間違って
re.sub("条件",txt,"置換")
ってやってしまってイラッとする
エラーでないし
798:デフォルトの名無しさん (ワッチョイ 5946-zV/e)
23/08/20 19:01:51.69 fDuIIfw90.net
>>790
> re.sub("条件",txt,"置換")
sed 's/条件/' txt '/置換/g'
とするような発想はなかなか得られない。誇っていい。
799:デフォルトの名無しさん (ワッチョイ 41c0-rfEz)
23/08/20 19:46:58.41 yfTKONE60.net
名前付き引数「…」
800:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/21 20:16:18.01 2s9JbA1O0.net
意を決してseleniumを3から4に上げる
影響むっさ少ない
801:デフォルトの名無しさん (ワッチョイ dbcd-OWPS)
23/08/23 12:10:00.22 08U3MUKX0.net
Microsoft「Python in Excel」を発表
802:デフォルトの名無しさん (アウアウウー Sa45-hYs3)
23/08/23 12:18:24.50 MwQSoi4aa.net
URLリンク(www.itmedia.co.jp)
803:デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
23/08/23 12:29:49.59 T2QqPuZT0.net
猫も杓子もpythonPythonって
数値計算や機械学習ならRやc++で扱いたいわ
804:デフォルトの名無しさん (ワッチョイ dbcd-OWPS)
23/08/23 12:38:43.49 08U3MUKX0.net
なんかR嫌い…
805:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/23 12:54:37.65 me1+gCKa0.net
Rが適した用途はRがいいんだけど、
範囲が狭いから便利になる人が少ないんだよな
806:デフォルトの名無しさん (ワッチョイ db02-5owp)
23/08/23 13:01:27.66 wIF471YP0.net
エクセルでpython使えるとか前から言われてたけどついにそうなったのか
mysqlやsqlite3,postgresqlなんかと違って
表示前提のRDBMSって感じ?
807:デフォルトの名無しさん (ワッチョイ 5105-D2YO)
23/08/23 13:14:34.96 WZJfreeh0.net
まあVBAを嫌ってた人にとっては選択肢が増えるのは喜ばしい事なんだろうな
808:デフォルトの名無しさん (アウアウウー Sa45-JDKz)
23/08/23 13:15:00.88 3Xorbibba.net
RDBMSでは無い
809:デフォルトの名無しさん (ワッチョイ 5105-D2YO)
23/08/23 13:25:21.92 WZJfreeh0.net
まだまだ限定的な利用しか出来ないんだな
LibreOfficeとかかなり前から使えてるのに
810:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/23 13:39:23.20 me1+gCKa0.net
excelの形式そのものがガンなんだけどな
データを読み込んでxlsxにして保存するだけで30秒とかかかる
100万行に上限がある
ちゃんと処理したいならexcelは極力避けて、人間とのIF部分だけに留めるべき
その程度ならVBAでも大した手間にはならない
811:デフォルトの名無しさん (ワッチョイ 934f-6i9g)
23/08/23 13:43:16.41 1DVbltby0.net
ネットからデータ取得出来る様になってれば大分捗るな
外部アクセスは機能制限されてそうだけど
812:デフォルトの名無しさん (ブーイモ MM4b-tjTV)
23/08/23 13:45:01.10 AcCxuATFM.net
>>800
もうVBA覚える必要すらないんだ
813:デフォルトの名無しさん (ワッチョイ 2b46-6Yea)
23/08/23 14:08:39.22 w8jQJQs20.net
>>805
Dim var とか変数宣言する Python かもしれないよ。Py# とか名づけられて。
814:デフォルトの名無しさん (ワッチョイ 2bcf-+Ji6)
23/08/23 14:49:16.09 Rc0NIPuS0.net
>>801
それはわかってるよ
逆説的に、例えば「pythonで、データベース部分をmysqlで、エクセルっぽいアプリ作りました」と変わらくなってくんじゃないのってこと
詳しくは知らないけどGoogle Sheetsとかまさにそうじゃないの?
815:デフォルトの名無しさん (ワッチョイ c905-mM8a)
23/08/23 14:55:19.32 9u+qB/A00.net
データベース操作有りきのpythonってことにはなりそうではある
816:デフォルトの名無しさん (ワッチョイ 691a-y42I)
23/08/23 14:58:39.32 5+B+6aoI0.net
そりゃまぁ表計算ソフトってどう考えても計算機能主体よりもデータベース主体で考えた方が合理的だわな
817:デフォルトの名無しさん (ワッチョイ c910-42me)
23/08/23 15:05:20.50 OE9aeGm20.net
idスレだとあいつ一発退場になってて草
818:デフォルトの名無しさん (ワッチョイ ab33-0su1)
23/08/23 15:06:37.91 OoNHdIe20.net
次はあえてpythonでゲームプログラミング周りを強化してほしい
819:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/23 15:16:40.66 me1+gCKa0.net
excelを扱わないといけないこともあるけど、pandasとかそういういい感じのは使えない
ただの2次元配列として読み込んで、必要なデータは自力で探す
機械で素直に読めるようにと気を使うような人だったら、
最初からデータ形式にexcelを選ばんのよ
820:デフォルトの名無しさん (ワッチョイ 5105-D2YO)
23/08/23 15:20:51.16 WZJfreeh0.net
あくまで出力用でデータストアとしての利用は無理が
821:デフォルトの名無しさん (アウアウウー Sa45-greZ)
23/08/23 15:28:57.50 89z/H8g7a.net
>>802
ほんそれ
>>806
やめれ
822:デフォルトの名無しさん (ワッチョイ 2bcf-YAjS)
23/08/23 21:36:48.76 Odc9jJej0.net
>>807
記事を見る限りはVBAやマクロの代わりにpythonが書けるようになったとしか思えないが
823:デフォルトの名無しさん (ワッチョイ 8959-h7Ri)
23/08/23 23:28:55.34 Gy+Uvs1z0.net
Pythonでexcel弄るのと何が違うんだ。
824:デフォルトの名無しさん (アウアウウー Sa45-75ij)
23/08/24 07:08:32.89 UfAeCzV0a.net
Pythonでexcel弄るのは
15年以上前から出来てるのを今更
excel上のpythonで実行する方が遅い可能性まである
825:デフォルトの名無しさん (ワッチョイ 2b7b-QJMN)
23/08/24 09:10:43.31 336gIh/k0.net
単にVBAでいじるのが嫌ってだけでしょ。俺もVBAは嫌い。
826:デフォルトの名無しさん (スーップ Sdb3-7WDu)
23/08/24 09:18:05.21 XmY66ZqSd.net
パパも?!
ママー裸じゃいやー!!
827:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/24 09:24:28.24 ERnyjfkQ0.net
あんなもんは懲役刑の一種だ
被告をVBA開発3年の刑に処す
828:デフォルトの名無しさん (スップ Sdf3-WWdL)
23/08/24 09:30:40.61 mwIHzd4fd.net
リストのappendって順序保証されてたっけ・・?
829:デフォルトの名無しさん (ワッチョイ 2b46-zV/e)
23/08/24 09:33:26.42 fKPaMPSR0.net
>>816
ワークシートにコードを書くと、自オブジェクトがワークシートなので、excel.workbooks[x].worksheets[x] みたいに辿らなくて済む「気安さ」はあるのかもしれない。
や、想像だけど。
830:デフォルトの名無しさん (ワッチョイ 2b10-wLNT)
23/08/24 09:38:02.70 /tekwqPS0.net
excelからpython使いたい人はもう使ってるわな
831:デフォルトの名無しさん (テテンテンテン MM4b-7WDu)
23/08/24 10:00:56.65 gv9nNnk+M.net
罫線やらフォントやら背景やら
装飾の手間が省けるといいのだがな
excelやpoor point使うのは多様な見せかたができるからだろ
832:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/24 10:03:24.50 ERnyjfkQ0.net
画像の貼り付けとか出来なかったな
似たようなのをフォントと色を工夫して作った
833:デフォルトの名無しさん (アウアウウー Sa45-+NC1)
23/08/24 13:47:47.18 B0BRQL9da.net
そもそもExcelだけPython OKにするのは違和感でしかないので
834:デフォルトの名無しさん (ブーイモ MM4b-tjTV)
23/08/24 13:52:11.78 itl4U/XBM.net
Pythonは学習コストが低いから
その点JSでも良いんだけど、そっちは10進数型使えなくて数値計算に向かない
835:デフォルトの名無しさん (テテンテンテン MM4b-7WDu)
23/08/24 14:51:34.81 6pjOgQ6JM.net
しかし編集はVBA用の糞エディタつかうのかなぁ?
VS Code埋め込んで欲しいわ
836:デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
23/08/24 19:52:22.32 KHAHuAyj0.net
学習コスト低いって学習しやすい訳ではなくて応用の幅が広いからコスト低いだけやからな
マルチスレッドや純粋仮想関数などもあるので他の言語と学習時間そのものはそんなに変わらない
837:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/24 20:56:17.41 ERnyjfkQ0.net
いや、学習しやすいよ
838:デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
23/08/24 20:59:40.23 KHAHuAyj0.net
学習しやすいってcに比較しても学ぶこと多いのにか?
学習しやすいって何をもって学習しやすいって言ってる?
オブジェクト指向言語であれば他とそんな変わらないだろう
839:デフォルトの名無しさん (ワッチョイ 2bfb-KmyD)
23/08/24 21:23:03.14 KHAHuAyj0.net
まぁいっか
おちんちんびろーん
840:デフォルトの名無しさん (ワッチョイ 2b8e-A751)
23/08/24 21:40:52.41 Zzh0jzpS0.net
Excel搭載のPythonが古くてクソって言われる未来が見える
841:デフォルトの名無しさん (ワッチョイ c946-6Yea)
23/08/24 22:12:13.69 whWZK/lb0.net
>>831
> 学習しやすいってcに比較しても学ぶこと多いのにか?
少ないのでないか。ハードウェアを気にする必要ないし。
842:デフォルトの名無しさん (ワッチョイ 5105-D2YO)
23/08/24 22:16:44.91 JuHRNHof0.net
>>833
>>795を見る限りクラウド上で実行されるからそれはなさそう
その代わりオフラインでは使えないんだな
843:デフォルトの名無しさん (ワッチョイ 93bd-dU66)
23/08/24 23:21:58.79 /RAaAAMu0.net
Pythonは豊富なライブラリ使ってなんぼだから、
そっちの方向学んでいくとなるとめちゃくちゃに広い
844:デフォルトの名無しさん (テテンテンテン MM4b-irQe)
23/08/24 23:30:23.91 len+BldFM.net
Pythonは外部ライブラリを使わない素の状態が最強
845:デフォルトの名無しさん (ワッチョイ 7954-YAjS)
23/08/24 23:34:24.16 ERnyjfkQ0.net
何かツールを作って、ユーザが機能拡張できるようにする
関数とか変数を提供して、それを組み合わせてロジックを自由に作って貰う
そういう時のスクリプトの文法としてpythonは最適
classとかライブラリとかは無くても素直に書ける
846:デフォルトの名無しさん (アウアウウー Sa45-hYs3)
23/08/25 12:30:22.74 uVWCvp2aa.net
Excel上のPythonからExcelを操作する
847:デフォルトの名無しさん (ワッチョイ 2b46-6Yea)
23/08/25 12:45:18.35 wAyzNZg/0.net
Excel上のPythonからOpenOfficeを操作できたりするのだろうか。
848:デフォルトの名無しさん (アウアウウー Sa45-JDKz)
23/08/25 12:51:18.70 nyMvJkyga.net
>>840
出来るでしょ
普通に考えて
849:デフォルトの名無しさん (ワッチョイ d311-hjB7)
23/08/25 15:49:25.26 ORSBbG2a0.net
minicondaもここでいいの?
850:デフォルトの名無しさん (ワッチョイ 7101-glFA)
23/08/25 22:41:28.75 j9uNZFV/0.net
>>838
名前も文法もゲテモノだろ。早く消えてもらいたい。
851:デフォルトの名無しさん (ワッチョイ 2501-rkCq)
23/08/30 20:32:20.95 GMxyW1Ul0.net
enumerateが便利なんだけど使い倒してもいい?
i=0でi+=1で再帰とかした方がいいとか無いよね
852:デフォルトの名無しさん (ワッチョイ 7954-dlFE)
23/08/30 21:05:50.79 lO/fHs/A0.net
大抵は、list_a[i]とlist_b[i]をセットで扱いたい時だからなあ
list[i].a と list[i].b の方が絶対素直
853:デフォルトの名無しさん (ワッチョイ ca5c-4sYy)
23/08/30 21:28:34.25 s6yXhO480.net
emumerateは地獄の関数
無分別な使用は冥府魔道を行くことになる
854:デフォルトの名無しさん (ワッチョイ 355f-sq9p)
23/08/30 23:58:43.22 G+IjVkrC0.net
具体的にはざっくりこういうことをしたんだけど
何かいい方法ないかな
items = [item1,item2,item3]
prms = [prm1,prm2,prm3]
# prms = [prm1]
max_prm_index = len(prms)-1
for i,item in enumerate(items):
item( prms[min(i,max_prm_index)] )
prmsがprm1の一個しかなかったら、itemsのitem全部にprm1を適用
prmsがitemsと同じ数だけ複数入ってたら、順番通りにitemsにprmsを適用
って感じ
もちろん場合分けでいいとは思うけど
再帰内にかぶる処理があるのでどうしたもんか
855:デフォルトの名無しさん (ワッチョイ 0a01-x2nh)
23/08/31 00:48:42.81 +B6kd0y50.net
>>847
prmsの要素数が1個でもなくitemsと同じ要素数でもない場合はどうするの?
そのmin(i, max_prm_index)でやってるようにprmsの最後の値を適用し続けたいの?
856:デフォルトの名無しさん (ワッチョイ 0a01-x2nh)
23/08/31 00:50:53.88 +B6kd0y50.net
prmsの最後の値を適用し続けたいということであれば
なるべくその意図を反映したコードにする
from more_itertools import repeat_last
zip(items, repeat_last(prms))
857:デフォルトの名無しさん (ワッチョイ 86d6-xo/U)
23/08/31 00:55:23.28 f6H5fM910.net
more-itertoolsみたいな変なのを使うのが本当に望ましいのか疑問
858:デフォルトの名無しさん (テテンテンテン MMde-4vSi)
23/08/31 07:00:46.66 Xf8Vje2bM.net
こんだけ簡潔に書けるpythonてすごいなぁ
コードを文章として読んだ場合、はしょり過ぎてて誤解を招き安いのが玉に瑕
859:デフォルトの名無しさん (ワッチョイ fe02-UwGr)
23/08/31 10:35:23.89 O9IKqF4q0.net
>場合はどうするの?
単にエラー吐いて終わり
>prmsの最後の値を
ではない
>そのmin(i, max_prm_index)でやってるように
は
prmsが1個の場合 → max_prm_index = 0
itemsを再帰したときの i → 0,1,2,,,,,,,,,,
min(i, max_prm_index)の値 → min(0,0)=0,min(1,0)=0,min(2,0)=0,,,,,,,
prmsが複数の場合 → 例max_prm_index = 2
itemsを再帰したときの i → 0,1,2
min(i, max_prm_index)の値 → min(0,2)=0,min(1,2)=1,min(2,2)=2
860:デフォルトの名無しさん (ワッチョイ 4d9e-lN7b)
23/08/31 21:27:37.09 G16r3L3O0.net
uncompile6もdecompile3もpydumpckもmarshal使った逆シリアル化も
できないpycファイルの逆コンパイルどうやったらええんや
861:デフォルトの名無しさん (ワッチョイ 3e01-x2nh)
23/08/31 22:28:08.13 bCA9PkL70.net
>>852
>単にエラー吐いて終わり
それなら場合分け必須なので1件の場合と要素数が一致してる場合を含めて
最初から分岐させたほうが効率的
min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
(prms[0], item[0]), (prms[1], item[1]), (prms[1], item[2]), (prms[1], item[3])になるでしょ
つまり不足してる要素数分だけprmsの最後の要素を適用し続ける
そういう処理を意図してないならやめたほうがいい
あとループもしくはイテレートのことを再帰と呼んでない?
862:デフォルトの名無しさん (ワッチョイ 6d01-JVr+)
23/08/31 23:27:03.60 MxLxGpNx0.net
>>854
>min(i, max_prm_index)はprmsが2件でitemsが4件のときだと
それは>>847の>prmsがitemsと同じ数だけ
とは違うしあなたが設定したルールだと思う
>あとループもしくはイテレートのことを再帰と呼んでない?
なにか問題が?
>最初から分岐させたほうが
全部を分岐するってこと?
>場合分け必須
から察するに、例えば
if itemsとprmsのチェック:
if prms複数の場合 and :
for item in items:
ここに処理
elif prmsひとつの場合:
for item in items:
ここに処理
みたいなことだろうか?
話はずれるけど前から条件分岐でこういうの疑問だったんだけど
if itemsとprmsチェック:
raise
if 条件:
pass
else:
pass
みたいなことってしないほうが良いのだろうか?
>>847では意図的にif itemsとprmsチェック:rase
の部分を(それ以降の処理に関係ないので)省略したんだけど
863:デフォルトの名無しさん (アウアウアー Sace-SPXT)
23/08/31 23:31:59.97 7sC80GbKa.net
shutil周りを調べていて気になったのですが
更新日時や作成日時が引き継がれるような、Windowsの通常のファイル移動は
shutil.copy2()で実現できますか?
調べるとos.system()にcopyコマンドを投げる方法なども出てきました
少し気になったのですが、そもそもWindowsの標準的なファイル移動ってcopyコマンドと等価なのでしょうか?
864:デフォルトの名無しさん (ワッチョイ 7954-dlFE)
23/08/31 23:42:37.28 VJWa/tTF0.net
os周りはわざわざimportして頑張ってもどうせ互換性なんか無いし、
コマンド実行するのが確実で簡単にやりたいことがやれる
865:デフォルトの名無しさん (ワッチョイ 79c2-Ds1q)
23/09/01 00:25:46.36 r2cK95F90.net
ふと思ったけどすんごい重いファイルをpythonスクリプトでmvなりコピーしたときって
OS側?で処理してる間はpython側で並列作業になりそう
要はpython側で
重いファイルを移動する処理()
print("まだ移動し終わっていないのにここ実行される")
ってなってもええんか?
866:デフォルトの名無しさん (ワッチョイ 3e01-x2nh)
23/09/01 00:46:42.98 wJDQ+FTE0.net
os.system()じゃなくてsubprocess.run()とか
asyncioのcreate_subprocess_exec()やcreate_subprocess_shell()で待ち受けて
867:デフォルトの名無しさん (スプッッ Sdca-gPKC)
23/09/01 01:35:23.83 l7PfhcLtd.net
>>855
enumerateとかminとか使わず、zipで処理しちゃえば?
>>849のrepeat_lastを無くしただけだけど
if len(prms) == 1 or len(prms) == len(items):
for item,prm in zip(items,prms):
item(prm)
868:デフォルトの名無しさん (オイコラミネオ MM65-FN/f)
23/09/01 03:48:02.24 3/H3WgxVM.net
>>1
carnetsのデータが消えたのだが、
どうすればいいのか、、、
869:デフォルトの名無しさん (テテンテンテン MMde-4vSi)
23/09/01 06:58:42.11 K1CWe1BUM.net
>>859
横だけど
良いヒントを得た
ありがとう
870:デフォルトの名無しさん (ブーイモ MMea-AJnA)
23/09/01 07:21:36.52 SrdLFIhrM.net
半可通だな
871:デフォルトの名無しさん (ワッチョイ 6a64-1PgI)
23/09/01 09:28:33.88 G4N8Tnic0.net
>>860
itemsが3つ、prmsが1つのとき結果はどうなった?
items = ["items","item2","item3"]
#prms = ["prm1","prm2","prm3"]
prms = ["prm1"]
if len(prms) == 1 or len(prms) == len(items):
for item,prm in zip(items,prms):
print(item,prm)
872:デフォルトの名無しさん (ワッチョイ c110-gI6B)
23/09/01 10:30:26.13 JR96MCqK0.net
shutil.copy(), shutil.copy2(), shutil.copyfile():
これらのメソッドは、ファイルの内容をバイトで読み取り、
コピー先のファイルに書き込みます。
ファイルのサイズが大きい場合、このプロセスは時間がかかりますが、
Pythonは他のタスクをブロックせず、他の操作を進行させます。
os.systemを使用した場合
子シェルを作成し、そのシェルでコマンドを実行します。
ファイルのサイズが大きい場合、コピーに時間がかかりますが、
os.systemはコマンドの実行が完了するまでプログラムの実行をブロックします。
そのため、他の操作を進行させることはできません。
osモジュールを使用した場合
ファイルの内容をバイトで読み取り、コピー先のファイルに書き込むため、
ファイルのサイズが大きい場合、このプロセスは時間がかかります。
しかし、Pythonは他のタスクをブロックせず、他の操作を進行させます。
subprocessモジュールのrun関数を使用した場合
ファイルのサイズが大きい場合、コピーに時間がかかりますが、
subprocess.runはコマンドの実行が完了するまでプログラムの実行をブロックします。
そのため、他の操作を進行させることはできません。
subprocess.runは、デフォルトで子プロセスの標準出力と標準エラーを
親プロセスにリダイレクトします。
そのため、コピー中にエラーが発生した場合、
エラーメッセージは親プロセスに表示されます。
873:デフォルトの名無しさん (スフッ Sdea-v2/v)
23/09/01 12:48:44.57 5muTzi0Ed.net
subprocess は popen とともに使うもの
run なんてしたら subprocess の意味ない
初心者が誤解する嘘は良くない
874:デフォルトの名無しさん (ワッチョイ 7954-dlFE)
23/09/01 13:02:04.03 sF2bDDsj0.net
んなこたーない
非同期も同期も両方使う場所がある
875:デフォルトの名無しさん (アウアウアー Sace-SPXT)
23/09/01 14:01:33.97 RO0UJfOQa.net
>>865
詳細にありがとうございます
手続きの順序が前後したら大抵困るので
shutilよりもos.systemやsubprocessを使うべきという感じでしょうか
Windows標準のコピーもバイトを読んでバイトを書くという仕様なのでしょうか?
876:デフォルトの名無しさん (アウアウアー Sace-SPXT)
23/09/01 14:03:08.18 RO0UJfOQa.net
すみません、Windows標準の移動も です
あちらは同じドライブ間のファイル移動だと一瞬で終わるので読み込み書き込みはしていないのかなと思ったのですが
877:デフォルトの名無しさん (ワッチョイ 7954-dlFE)
23/09/01 14:13:41.59 sF2bDDsj0.net
プログラムの動作が遅くなるのはIOが詰まってる場合が大半なので、
ボトルネック部分が100%働くように調節するとむっさ速くなる
ファイルのコピーは遅延書き込みでまだ完了してないのに先に進むことでさらに速くなる
878:デフォルトの名無しさん (ワッチョイ d95f-sVGh)
23/09/01 21:40:13.68 qVeR1pY40.net
>>869
同じドライブならファイルの中身を移動されるわけでは
879:なく、どこに格納されているかの位置情報を変えるだけだから速い。
880:デフォルトの名無しさん (ワッチョイ 3354-g4sH)
23/09/04 13:47:18.73 nQJHAXPh0.net
コンストラクタの引数ってキーワード付きにできる?
881:デフォルトの名無しさん (ワッチョイ 6f01-Mh06)
23/09/04 14:50:35.53 38Xoielz0.net
できるよ
882:デフォルトの名無しさん (ワッチョイ 3354-g4sH)
23/09/04 15:07:41.79 nQJHAXPh0.net
あ、できた
試せばいいだけだな
ぐぐってもそんなサンプル無いから出来ないのかと思った
単に複数の変数を一つに束ねたい、というだけの理由でクラスを作る時に、
コンストラクタに値をずらずら並べて渡すことになるけど、
それを順序で管理するのはどう考えてもおかしいと思ってた
883:デフォルトの名無しさん (ワッチョイ cffb-nwCH)
23/09/04 16:47:03.86 VAGVSD2y0.net
そういうのはstruct使うといいかも
884:デフォルトの名無しさん (ワッチョイ 3354-g4sH)
23/09/04 17:08:04.13 nQJHAXPh0.net
C言語だとstructだけど、pythonのはバイナリデータを扱う奴なのでは
885:デフォルトの名無しさん (ワッチョイ cffb-nwCH)
23/09/04 17:20:17.40 VAGVSD2y0.net
c++のスレと間違えてたw
すまんね
886:デフォルトの名無しさん (ブーイモ MMc7-aOfx)
23/09/04 18:49:15.11 JKt5eAqLM.net
>>874
リストをアンパックで渡せばスッキリ書ける
887:デフォルトの名無しさん (ワッチョイ b35f-PA83)
23/09/04 21:30:43.15 MbyPAFgv0.net
>>874
dataclassで簡略化できる
888:デフォルトの名無しさん (ワッチョイ 4301-4OYV)
23/09/05 04:12:29.33 2K1Jd26A0.net
位置引数として渡された引数は関数内の処理の変数としては何という名前で渡されてるんでしょうか?
原理的に完全に無名ですか?
フレームの中では何かは付いてる?
889:デフォルトの名無しさん (ワッチョイ 9310-oCRc)
23/09/08 07:59:23.00 KCF1PxQr0.net
関数定義のパラメータ名?
890:デフォルトの名無しさん (ワッチョイ e305-+GqY)
23/09/08 09:20:44.03 8IHmD7Ej0.net
お詳しい方ご教示ください。
?Pythonのライブラリxlwingsで、ピボットテーブルを更新したいと思っています。
?今、FILE.xlsxには「Sheet1」にデータ、「Sheet2」にピボットテーブル(Pivottable1)が入力されています。
?以下のようにプログラムを組みました。
import xlwings as xw
app_excel = xw.App(visible = True)
wbook = xw.Book('FILE.xlsx')
wbook.sheets['Sheet2'].select()
wbook.api.ActiveSheet.PivotTables('Pivottable1').PivotCache().refresh()
wbook.save()
wbook.close()
?エクエルは立ち上がるのですが、ピボットテーブルは更新されずにそのまま止まってしまいます。
どなたか原因を教えて頂けますでしょうか。
Pythonは3.10、Windows10を使用しています。
よろしくお願いします。
891:デフォルトの名無しさん (ワッチョイ 4301-A0va)
23/09/08 10:41:30.46 CadaQfwJ0.net
import xlwings as xw
# Excelアプリケーションを表示しない場合は、visible=Falseに設定
app_excel = xw.App(visible=False)
try:
# ワークブックを開く
wbook = xw.Book('FILE.xlsx')
# シート2を選択
sheet2 = wbook.sheets['Sheet2']
sheet2.select()
# ピボットテーブルを更新
pivot_table = sheet2.api.PivotTables('Pivottable1')
pivot_table.refresh()
# ワークブックを保存
wbook.save()
finally:
# ワークブックを閉じ、Excelアプリケーションを終了
wbook.close()
app_excel.quit()
892:デフォルトの名無しさん (テテンテンテン MM7f-RCwf)
23/09/08 10:54:24.65 CRh3f5WxM.net
ココで聞くよりAI添削した方が早いだろ
893:デフォルトの名無しさん (アウアウウー Sae7-fXI3)
23/09/08 11:09:50.09 Qwh1dPVPa.net
excel の話題は 「excel python スレ」 でやってほしいな
894:デフォルトの名無しさん (ワッチョイ 3354-g4sH)
23/09/08 11:35:25.91 Zl2xH9PI0.net
pythonからexcelへのアプローチはxlwingsとopenpyxlの2つがあって、
openpyxlはpythonの内容だけど、xlwingsはもうexcelというか
895:VBAの内容なんだよな どうしても駄目な部分以外はopenpyxlで頑張る方が幸せになれる
896:デフォルトの名無しさん (ワッチョイ cffb-CbtY)
23/09/08 11:40:03.94 pGmKehjU0.net
pandasでやれ
897:デフォルトの名無しさん (ワッチョイ e305-+GqY)
23/09/08 11:46:30.25 8IHmD7Ej0.net
ご回答ありがとうございます。
ご教示頂いたとおりにやってみましたが
「・・object has no attribute 'refresh'」
「pywintypes.com_error: (-2147352570, '名前が不明です。', None, None)」
とエラーが出ました。
これ以降は「excel python スレ」で伺ってみます。
お手数をおかけしました。
898:デフォルトの名無しさん (ワッチョイ 3354-g4sH)
23/09/08 11:50:04.72 Zl2xH9PI0.net
pandasが別にexcelの機能を持ってる訳ではなくて、openpyxlのラッパーなだけ
そしてpandasを通すとインデックスとか付いた変なデータ構造を扱わないといけなくなる
899:デフォルトの名無しさん (テテンテンテン MM7f-RCwf)
23/09/08 15:54:50.44 CRh3f5WxM.net
そのエラーでピンと来ないならVBAでいいだろう
900:デフォルトの名無しさん (ワッチョイ e346-ADg4)
23/09/08 18:01:03.69 hn6Lo9vu0.net
ピンと来るなら、もったいぶらず、教えてあげると良いじゃない。
901:デフォルトの名無しさん (ワッチョイ 7f11-+3En)
23/09/08 19:42:42.46 l/IaMtio0.net
何でもかんでも教えるのは良くない
902:デフォルトの名無しさん (ワッチョイ cf8e-u/UL)
23/09/08 20:44:45.69 kFel51fR0.net
5chで質問者の成長とか考える必要ない
どんな奴か分からないから
903:デフォルトの名無しさん (アウアウウー Sa47-Bpt5)
23/09/09 00:17:57.19 zaCXHBrVa.net
こんな事も分からないの?
痴呆症を疑うレベルw
エラーメッセージ
object has no attribute 'refresh'
# ピボットテーブルを更新
pivot_table = sheet2.api.PivotTables('Pivottable1')
pivot_table.refresh()
904:デフォルトの名無しさん (ワッチョイ b346-dpy9)
23/09/09 07:47:14.73 ZW9tstmG0.net
>>894
分からなくて相談に来た相手に、こういう言葉を投げる意味はあるのかな。
> こんな事も分からないの?
> 痴呆症を疑うレベルw
905:デフォルトの名無しさん (ワッチョイ 8754-SjEv)
23/09/09 08:11:54.57 2NAxPIYI0.net
イキりたい年頃なので
906:デフォルトの名無しさん (テテンテンテン MMb6-mUvt)
23/09/09 08:54:51.39 p+ZV9obNM.net
>>895
だったらお前が教えれば済む話だろ
教えていないと言うことはお前も俺も同類なんだよ
907:デフォルトの名無しさん (ワッチョイ f6e6-x+5v)
23/09/09 11:24:59.08 o97DPu5k0.net
>>894
別の人ですがありがとうございます
908:デフォルトの名無しさん (ワッチョイ 1a10-bYrj)
23/09/09 15:49:31.85 FUE4d5Ey0.net
仮に宿題だろうがなんだろうが普通に解答を教えればいい >>892
自分が成長させてあげてるとか恩着せがましいにも程がある
回答者が与える影響など世界規模で見ればたかが知れてる
909:デフォルトの名無しさん (ワッチョイ 2302-i3aB)
23/09/09 15:55:20.73 uQ6xa98E0.net
ワシが育てなければ
なんでもかんでも答え教えられると困るやつってようは
ワシの活躍する場が・・
みたいなことでしょ
うん、普通にキモい
910:デフォルトの名無しさん (ワッチョイ 8754-SjEv)
23/09/09 16:02:46.03 PII51rQf0.net
え、どういうこと?
911:デフォルトの名無しさん (ワッチョイ e301-z0h8)
23/09/09 16:09:48.18 IGBPhOV00.net
AIに対してもなんでもかんでも教えるな
とか言ってそう
912:デフォルトの名無しさん (ワッチョイ 7a11-SmOy)
23/09/09 16:58:54.31 WX9adZSN0.net
バカばっかり
913:デフォルトの名無しさん (スップ Sd5a-RROj)
23/09/09 19:32:58.82 xE2yYEU3d.net
教える教えないの話だったのか、、、?
914:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 07:29:49.40 hps7g+0s0.net
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
915:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 07:33:16.13 hps7g+0s0.net
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
「^クソチョンw$」をNGワード登録推奨
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
916:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 07:33:52.54 hps7g+0s0.net
スレ主はチョンw
スレ主はチョンw
スレ主はチョンw
スレ主はチョンw
スレ主はチョンw
30代Pythonバカチョン男は強姦魔の犯罪者です!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
917:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 08:34:38.19 hps7g+0s0.net
クソチョンは、
いきなりオレを攻撃しはじめた。
理由がわからず、過去の書き込みを調べてみると、
「馬鹿でもチョンでも」と書いたのが原因だとわかった。
もちろん、日本人なら知ってるが「馬鹿でもチョンでも」の
チョンは韓国人のことではない!
が、そのクソチョンはオレが韓国人を差別したと勘違いして、
猛烈におれを攻撃しはじめた。
そして、おれが反撃を開始したわけだ。
それが全ての始まり。
チョンは諸悪の根源!
918:デフォルトの名無しさん (テテンテンテン MMb6-mUvt)
23/09/10 08:37:28.23 adfDDVgWM.net
まだこんなことやってるヤツが居るんだな
仕事に活かせば良いのに
919:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 08:39:10.02 hps7g+0s0.net
そのクソチョンは、
もう何年もおれを攻撃し続けているわけだ。
自分の勘違いから人を攻撃しておいて、
まじで糞チョンだと思った。
チョンはそうなんだよ。
だから次に地震のあったときも、
チョンは日本人を強姦・虐殺するだろうな。
だからチョンは皆殺しにしなければならない。
それを覚えておくことだ!
920:デフォルトの名無しさん (ワッチョイ 8754-SjEv)
23/09/10 08:40:46.79 BRsbEtkF0.net
こんなのどうやって仕事に使うんだよ
921:デフォルトの名無しさん (テテンテンテン MMb6-mUvt)
23/09/10 08:49:12.27 6MRCqhIwM.net
>>911
興味深いテーマを与えれば勝手に行動するみたいだから
人に聞かないとなんにもできないお前らよりコイツの方がよっぽど使えるだろう
922:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 08:52:38.42 hps7g+0s0.net
おれは元々、差別はいかん!
という主義だった。
そのおれに差別発言させるまで
攻撃をつづけたんだから、
まあ、恐るべき怨み粘着性だなと感心する。
調べてみると、それがチョンの性質らしい。
それで決心した。
おれは死ぬまでチョンを差別するぞ、と。
チョンを全員半島に追い返すまで戦います!
923:デフォルトの名無しさん (ワッチョイ 4e46-dpy9)
23/09/10 09:39:59.07 RgTg1P0N0.net
之を如何せん、之を如何せんと曰わざる者は、吾之を如何ともするなきのみ
と古人は言いました。分からない事は積極的に訊きましょう。
924:デフォルトの名無しさん (ワッチョイ 1aad-6jLp)
23/09/10 10:58:24.80 hps7g+0s0.net
おれは元々、差別はいかん!
という主義だった。
そのおれに差別発言させるまで
攻撃をつづけたんだから、
まあ、恐るべき怨み粘着性だなと感心する。
調べてみると、それがチョンの性質らしい。
それで決心した。
おれは死ぬまでチョンを差別するぞ、と。
チョンを全員半島に追い返すまで戦います!
925:デフォルトの名無しさん (アウアウウー Sa47-/bgi)
23/09/12 19:54:34.04 Y185PNUOa.net
Pythonやるならまず「多重継承」な!
なぜ多重継承かというと、自然言語処理において語句の意味は「文脈」によって異なるからだ!
随意筋 不随意筋
↖ ↗
チンポ
チンコの随意筋と不随意筋
URLリンク(d.hatena.ne.jp)
URLリンク(mobile.twitter.com)
土門大貴/Daiki Domon
@daikidomon
Pythonの多重継承がわかりづらい。
継承クラスの左のクラス名を指定とかあたおか。
URLリンク(twitter.com) (5ch newer account)
(deleted an unsolicited ad)
926:デフォルトの名無しさん (ワッチョイ 8754-MPWR)
23/09/12 20:48:15.22 gN0G7IVm0.net
多重じゃない継承すら読みにくくない?
927:デフォルトの名無しさん (アウアウアー Sa06-bjEX)
23/09/13 06:55:25.38 fd6I2zsCa.net
多重継承とか何に使うのか想像すらつかんけどpathlibがガッツリやってるらしいね
何に使うの?
ほんとに想像つかない
クラスを集合と捉えて排反でない分割したいこととかそんなあるか?
928:デフォルトの名無しさん (ブーイモ MMb6-JsEB)
23/09/13 07:35:15.02 es5nzpicM.net
そーそー普通ダイヤモンド継承だよね~
929:デフォルトの名無しさん (ワッチョイ b6ad-FMeQ)
23/09/13 17:59:56.20 YINB0qAa0.net
入れ子した辞書同士の同定って
d1 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":3}}}
d2 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":3}}}
キーと値の総当りをやるのが確実なんだろうけど
if d1==d2でいいよね・・?と思ってふと値がインスタンスだった場合もやってみたら
class Hoge:
def __init__(self,a):
self.a=a
d1 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
d2 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
d1==d2 # False
Falseだった
辞書の値が、辞書 or リスト or str or int or boolean or Noneしか取らない
って前提だったらもうd1==d2でいいか・・
json.dumps(d1)==json.dumps(d2)ってのもどこかでみたことあるけどなんかメリットあるのかこれ
930:デフォルトの名無しさん (ワッチョイ 8754-MPWR)
23/09/13 19:05:29.66 mZetXESn0.net
==は同じオブジェクトという意味だしな
インスタンスは別のオブジェクト
931:デフォルトの名無しさん (ワッチョイ 0e33-erq7)
23/09/13 21:33:39.48 2ECL/EIJ0.net
>>920
class Hoge(int):
def __init__(self,a):
self.a=a
d1 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
d2 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
print(d1==d2) # True
d1 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(1)}}}
d2 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
print(d1==d2) # False
932:デフォルトの名無しさん (ワッチョイ 7601-29wB)
23/09/13 21:41:47.97 FudrDNP00.net
Hogeを値で比較したいなら__eq__と__hash__を書くかdataclass的なものを活用するか
933:デフォルトの名無しさん (ワッチョイ 9a5c-CbuL)
23/09/13 21:58:52.60 GC1GSAPg0.net
へー、javaみたいなのあるんだ
934:デフォルトの名無しさん (ワッチョイ 0e33-erq7)
23/09/13 22:33:54.03 2ECL/EIJ0.net
__hash__は無理じゃね
935:デフォルトの名無しさん (ワッチョイ 0e33-erq7)
23/09/13 22:54:25.82 2ECL/EIJ0.net
URLリンク(ideone.com)
これって、これ?
URLリンク(docs.python.org)
936:デフォルトの名無しさん (アウアウウー Sa47-bpS4)
23/09/13 23:35:03.93 ljzzNVbDa.net
>>920-921
==は同じオブジェクトという意味ではない
x1 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":3}}}
x2 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":3}}}
print(x1 == x2)
print(x1 is x2)
class Hoge:
def __init__(self,a):
self.a=a
d1 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
d2 = {"a":{"aa":1},"b":2,"c":{"cc":{"ccc":Hoge(10)}}}
print(d1 == d2)
print(d1 is d2)
937:デフォルトの名無しさん (ワッチョイ e301-hSAH)
23/09/14 15:38:55.11 E7PcL1rL0.net
ようは早い話が
Hogeがもし非自作だったりしたときも
__eq__で拡張しとけば、いちいちforとかで回したりせずに
d1==d2だけでイケるってことでいいのか
938:デフォルトの名無しさん (ワッチョイ 0e33-erq7)
23/09/14 20:02:46.79 x6b4sEhy0.net
わざわざ__eq__だけ実装するよりもdataclassのほうがいいと思う
939:デフォルトの名無しさん (オッペケ Sr3b-J7h4)
23/09/14 21:20:20.60 Z5WLuif8r.net
今Paizaで勉強してる
一通り終えたら入門書として、入門Python3 第2版を買おうと思うのですが、他に良いのあれば教えてください
940:デフォルトの名無しさん (ワッチョイ 8754-MPWR)
23/09/14 21:40:35.40 mJzwIL1R0.net
pythonを本で勉強するという発想が無かった
941:デフォルトの名無しさん (ワッチョイ 0b01-NP+X)
23/09/14 22:01:47.20 XNzOozgR0.net
体系的に学ぶには本がよい
942:デフォルトの名無しさん (ワッチョイ 4efb-DZDQ)
23/09/14 22:10:24.13 PDE0vufJ0.net
本読むと良いよ
めっちゃ興奮するしエロ本と変わらん
943:デフォルトの名無しさん (アウアウウー Sa47-rlb/)
23/09/15 00:41:34.46 AGwvaccFa.net
プロ向きなら、Perfect series が良いけど、
パーフェクト Python [改訂2版] (PERFECT SERIES 5)、2020
改訂2版 パーフェクトRuby、Rubyサポーターズ、2017
パーフェクト Ruby on Rails 【増補改訂版】 (Perfect series)、2020
944:デフォルトの名無しさん (ワッチョイ 9bad-2GRl)
23/09/15 01:21:30.34 /EOrssYW0.net
>>934
Ruby関係ないし
945:デフォルトの名無しさん (ワッチョイ 4efb-DZDQ)
23/09/15 01:43:25.39 1n4P5OHW0.net
>>934
ネタにマジレスするけど
そこはperlじゃないん?
946:デフォルトの名無しさん (ワッチョイ 5fda-JsEB)
23/09/15 04:07:37.47 cd4Mhd650.net
RORってGPLに汚染されて使えなくなったって聞いた
947:デフォルトの名無しさん (ワッチョイ cebb-X99N)
23/09/15 07:25:53.48 p7MIb3Fq0.net
>>930
paizaは学習コースあるんだから本なんて要らんが
948:デフォルトの名無しさん (テテンテンテン MMb6-9UM9)
23/09/15 08:52:17.62 StBTamIiM.net
>>930
本で仕入れた知識なんて糞の役にも立たん
ITは実践あるのみ
実用になるコードを書きまくって動かしまくれ
949:デフォルトの名無しさん (ワッチョイ 8754-MPWR)
23/09/15 08:55:53.02 Y0aMdWmH0.net
effective pythonはたまに開いて刺激を得てる
950:デフォルトの名無しさん (ワッチョイ 0b01-NP+X)
23/09/15 10:38:10.58 X7EUN8b/0.net
本で仕入れた知識を実践するんやで
951:デフォルトの名無しさん (ワッチョイ 4ed6-AD4a)
23/09/15 10:48:21.69 XTzSJ3sy0.net
本ばかり読んでもなんにもならないが
本を読まないのは馬鹿
952:デフォルトの名無しさん (ワッチョイ 8754-MPWR)
23/09/15 10:52:59.05 Y0aMdWmH0.net
余計な苦労を避ける為の上手い書き方に納得するには、
一度は余計な苦労をしてる必要があるんだよな
953:デフォルトの名無しさん (アウアウアー Sa06-bjEX)
23/09/15 18:32:02.40 KXmk4gupa.net
Pythonは本かサイト使いながら勉強するのが良いよ
Pythonチュートリアルを読み解く実力がある人なら必要ないけど
そうじゃないなら、体系的知識を身につけるには入門書読むのが早い
というかベスト
954:デフォルトの名無しさん (ワッチョイ 0e33-erq7)
23/09/15 20:35:47.41 BvXWB9/L0.net
Paizaの入門コース終えたなら何か作ってみたらいいのに
955:デフォルトの名無しさん (ワッチョイ 8754-MPWR)
23/09/15 21:53:30.72 Y0aMdWmH0.net
っていうか、まず作るんだよ
で、本を読んでもっといい方法を知る
956:デフォルトの名無しさん (ワッチョイ 3fbd-tO/S)
23/09/16 00:50:04.13 GOLJ0aM50.net
書籍で言ったら秀和システムの『実践100本ノック』はどれも良かった
O'Reillyが一番なんだろうが
957:デフォルトの名無しさん (アウアウウー Sa53-68M3)
23/09/16 00:52:51.04 Ki/MMBdQa.net
Effective Ruby は良い。
バグが起きにくい、安全で効率的なコーディングと、
間違いやすいポイントを解説
Effectiveシリーズも、日本人の著者もあるから、気を付ける。
「Effective Modern C++」の元祖・Scott Meyers と関係ないのに、
Effectiveと付けている本もある
その点、Effective Rubyは、Meyersにレビューをしてもらっている。
Effective Python は知らないけど
958:デフォルトの名無しさん (ワッチョイ cf54-VRQG)
23/09/16 08:19:40.72 6K0or2YE0.net
effective perlは読んでる最中にperlに対する興味を失ってしまった
959:デフォルトの名無しさん (ワッチョイ 0f01-JSeT)
23/09/16 09:20:44.97 FQ6fYHli0.net
T,o,k(迷惑という方は←をあぼーんしてください。)
家族に紹介する側になり、加えて¥4000×人数をGET!
URLリンク(i.imgur.com)
960:デフォルトの名無しさん (ワッチョイ 8f0c-wvoO)
23/09/16 10:54:43.68 FZJflFW60.net
>>950
エロ動画多いよな
961:デフォルトの名無しさん (テテンテンテン MM4f-hQzC)
23/09/16 11:11:03.27 VYkZR1o+M.net
自分で書くのは時間の無駄
今はChatGPTにこんなコードが欲しいと聞けば一瞬で書いてくれる
プログラマにはもはやコードを書く能力は求められていない
962:デフォルトの名無しさん (ワッチョイ 7ffb-DLad)
23/09/16 11:26:29.93 mzsOP2I60.net
と思っていた時期がありました
963:デフォルトの名無しさん (ワッチョイ cf54-VRQG)
23/09/16 11:38:03.52 6K0or2YE0.net
ChatGPTの仕組みを知らないと、頼ってもいいかもと思えてしまうんだよな
過去に誰かが書いたコードの丸コピーならうまくいくというだけ
簡単な算数すら間違う奴に論理的思考を期待するのが間違い