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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/10/01(金) 15:46:47.17ID:9qOHXj6D
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

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

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2021/11/21(日) 23:10:08.06ID:i/lteX3h
>>807
そうそう、だからカラム名に()とか入れないほうがいいのよね。めんどくさいから
必要な場合自分は逆引用符`使ってるけど
2021/11/22(月) 16:55:05.56ID:axkd8Lua
>>455
810デフォルトの名無しさん
垢版 |
2021/11/23(火) 12:20:48.24ID:HWlCU4L+
3.10に変えたらscikit-learnがインストール出来なくなった
まあそう頻繁に使うライブラリでもないけど
2021/11/23(火) 19:50:40.69
assertの使いどころがぐぐってみましたがいまいちピンと来ません
2021/11/23(火) 20:09:45.21ID:HurF++pM
>>811
a<0になるようにプログラム組んだけどもしa<0になったまま次にいくと
機械がつぶれる
不安だというとき
assert文で例外エラーだしてストップさせるとか
2021/11/23(火) 20:42:03.75ID:mB/cMOfZ
あくまで開発中の考慮漏れなんかを防ぐ用途なので
ランタイムエラーにしたいならassertの出番ではない
2021/11/23(火) 22:55:20.18ID:bS29UIDJ
>>812
要するに
> a<0になるようにプログラム組んだけどもしa<0になったまま次にいくと機械がつぶれる
みたいな意味不明な状況を検出するためだよね
815デフォルトの名無しさん
垢版 |
2021/11/23(火) 22:55:45.59ID:xEN2JBOU
var : Optional[str] =None

on_btn():
__assert var
__var処理

みたいな。pylanceとかに怒られない
varにモノ入ってっからbtnが押されるに決まってんだろうがっていうとき

on_btn():
__if not var:
____return
__else:
____var処理

て書くのがバカらしいので
816デフォルトの名無しさん
垢版 |
2021/11/24(水) 03:25:37.66ID:Q5JPayEq
>>812
絶対壊れる未来しか観えない
2021/11/24(水) 03:27:08.47ID:Q5JPayEq
>>814
assert __AUTHOR__ != >>812
2021/11/24(水) 08:02:23.61ID:jO3RIx+f
1000行のプログラムって初心者からすると途方もない規模のプログラムに感じるけど、慣れた人からすると当たり前な規模なのかな
2021/11/24(水) 10:22:49.14ID:9k7x+oD0
一本の文脈でプログラム書こうとすると人間は必ずワーキングメモリの限界がくるから、そんなもんだよ
自分の場合、そうやって場当たり的に書けるのは1000行くらいが限界だな
大きなプログラムを書くには、プログラムというものをトップダウンに考えて、モジュールや関数に適宜分割していくことが必要
そうすることで枝葉の細かい部分を忘れてワーキングメモリを節約できる
特にPythonの場合はJupyter使って勉強する人が多いから、プログラムの分割が身に着きにくいんだよ
2021/11/24(水) 10:39:50.61ID:kXzWnsgO
>>818
こぴぺとか
そうじゃなくても
同じ処理つらつら描いて行増えたって喜ぶのが初心者
2021/11/24(水) 10:42:31.59ID:kXzWnsgO
>819
Jupyterは慣れた人が楽するためには良いけど
あれで勉強するのは限界もあるな
Jupyterが悪いとは言ってない
あれがPython世界の全てだと勘違い認識しないようにするのが大事
2021/11/24(水) 11:34:24.45ID:q9kQZP30
Jupyterなんか、ここ5年くらいてpythonはいった人の一部がつかってるだけで、python流行り出した2005年頃から利用してるpython使ってる組み合わせは今もあまり使ってないでしょ。
2021/11/24(水) 16:15:21.36ID:uoHN98GH
今日中にあるサイトのスクレイピングコードを書かないといけなくなりました
しかしスクレイピングはしたことがありません
どのように書くのがいいのでしょうか?
恐らくpostであろうformっぽい部分にデータを入れて検索すると色々と表示される感じです
djangoだろうと思います
インプット・アウトプットが特にイメージできません
2021/11/24(水) 16:59:36.29ID:SENfXVh3
今日中には無理だから期限延ばしてもらうしかないね
2021/11/24(水) 17:33:42.69
まぁresponseがjsonなのかhtmlなのかによるけど
後者ならbeautifulsoup4(他にもあるけど安定してるのはなんだかんだでbs4)
スクレイピングはrequestsとbs4だけでどうにかなることが大半
なんのデータを扱うかによるが時系列やら行列計算するならならpandas,numpyも必須
データベースに出力と言うなら、djangoで何使われているかは知らんが
sqlite3のORMのsqlalchemyで事足りることが大半

レスから察するにインプットは、
forms.pyだかview.pyだかに
クエリかリクエストボディ(get/post)受け取る部分書いて
スクレイピングするコードをclass Command(BaseCommand):形式で書いて
適当に名前つけてpyファイルにして
management>commandsディレクトリに放り込んで終い。
で、view.pyで受け取ったパラメータをそのCommandに投げて
結果をtemplatesに渡して表示する感じじゃなかたっけ
2021/11/24(水) 17:40:18.98
>management>commandsディレクトリに放り込んで終い。
コマンド使わないなら↑これは必要なかったわ
全部 views.pyに書いても分けても好きにしたらいいと思う
2021/11/24(水) 19:16:52.56ID:xsp2scS+
ぼくも3ヶ月くらい前からスクレイピングの勉強始めてようやくほしいデータを物怖じせず取れるようになりましたが、自分はseleniumとlxmlに落ち着きました。

requestsだとうまく取れないページがあったり、scrapyだと非同期処理?で爆速過ぎてサイトから速攻banされたりしました

サイトによってはpyppeteerやseleniumじゃないととりづらいとこもあるのでselenium+beautifulsoup or lxmlをおすすめしたい
2021/11/24(水) 20:53:24.72ID:ldCMVu13
私はrequestsとseleniumと正規表現ですね
2021/11/25(木) 01:42:23.64ID:nh0ZEMSE
Ruby では、Nokogiri, Selenium WebDriver, Capybara

Nokogiriには、wait が無いから、
5ch みたいに、空のHTML を送ってきてから、
Ajax でページ内容を取得するようなサイトでは、要素が取れないかも

要素が出現するまで確実に待つには、Seleniumを使う
2021/11/25(木) 02:33:04.16ID:Xt1TOEJK
NokogiriがインストールできないってQiitaではクッソほど量産された記事ですよね
ガイジ言語には本当にお似合いだと思った
2021/11/25(木) 05:20:37.28ID:xhC4D+V9
確率がpの宝くじを当たるまで引いて、当たるのにかかった回数を記録。それをn回繰り返し(100万回とか)、最後はそれをpyplotでヒストグラムにしようとしています

回数を記録する配列はndarrayで作り、そこにnp.concatenateで回数を追記していったのですが、どうもこれが処理が重いのか時間がものすごくかかる…
サイズが100万の配列を作る以外に思いつかないのだけど、このやり方は良くないのでしょうか?
832デフォルトの名無しさん
垢版 |
2021/11/25(木) 07:58:41.89ID:ysfwc6h6
ndarrayは固定配列。だから、appendなどサイズを変更する処理は考えなしにしてはいけない。
833デフォルトの名無しさん
垢版 |
2021/11/25(木) 09:32:49.11ID:1DZpA8jw
例えばM回引いてk回当たったとするじゃん?
するとk回の「当たるまで引いた」データが取れるわけだから、律儀に「当たるまで引く」をn回繰り返す必要はない
2021/11/25(木) 09:43:35.46ID:hXWvHSdH
擬似乱数だろうからシードをどう考えるかだな
2021/11/25(木) 09:44:51.66ID:r5Heuy4P
concat は無駄が多いので
予め最大の大きさが判ってるならその大きさで確保しておくとか
最大が判らないなら concat せずに list で繋ぐ方が速い
2021/11/25(木) 10:37:40.50ID:D93Sr9qt
Counterとかで保持したほうがいいんじゃねーの(ハナホジ)
2021/11/25(木) 10:42:23.98ID:jB6AdxeI
ヒストグラムの範囲毎に予め変数作って当たりが出る度に直接そこに+1してカウントして行けば
100万個の「当たるのにかかった回数」を全て保持する必要が無いと思うが
何か他にデータ残したい理由があるの?
838デフォルトの名無しさん
垢版 |
2021/11/25(木) 12:47:25.27ID:+wzV+gbn
確率の収束をマジで計算しちゃうと何したって遅いよ
0.01%当たるまで を100万回
リストに数字appendするの100万回
それぞれやってみたらいい

後者は1秒とかでしょう
前者は1万回試行のレベルでも1分くらいかかるべ
2021/11/25(木) 13:40:02.87ID:bDvmxdn9
最近ピストグラム流行ってるな
2021/11/25(木) 15:31:05.54ID:fS0drys5
確率はscipy.stats.berniulli.rvs(p)で求めてたけど、確かにこれを100万回繰り返すのに時間かかってますね…
リストにappendは100万回でも一瞬でした

しかし、これ以外で確率求める関数なさそうだし困ったな…
ありがとうございました
2021/11/25(木) 19:42:57.03ID:37B47xca
pythonで生成したhtml文字列を、
一時ファイルを経由せず直接ブラウザに渡す方法ある?
webbrowserモジュールではURIしか渡せないようなので
842デフォルトの名無しさん
垢版 |
2021/11/25(木) 19:53:24.24ID:mqEOsm/5
>>840
先に固定長確保すればさらに速いよ
2021/11/25(木) 19:54:52.38ID:0uwmxbI7
>>841
動的なポート(=0)で1回だけリクエスト受け付けるHTTPServer作成
パスはランダムでも固定でも任意
webbrowserモジュールにその動的なURIを渡す
844デフォルトの名無しさん
垢版 |
2021/11/25(木) 20:21:07.43ID:0YPlXaMU
>>842

l = [0] *1000000
for i in range(1000000):
__l[i] = i

l = []
for i in range(1000000):
__l.append(i)

誤差じゃね?
845デフォルトの名無しさん
垢版 |
2021/11/25(木) 21:11:00.95ID:yEJnYkB5
文字列に/dとxと.とcm以外の文字が含まれている場合にエラーが発生するように死体です。
moziretu_list = ["36.4x27.5x18.8cm","風量調整なし","36.4x27.5x18.8cm","Size:140型(14x14cm);Color:【No.01】2枚セット"]
for moziretu in moziretu_list:
____try:
________print(moziretu)
________#moziretuに/dとxと.とcm以外の文字が含まれている場合にエラー
________if re.search(r"正規表現の書き方がよくわからないです",moziretu):
____________raise ValueError
________print("必要な文字列の取得に成功しました")
____except:
________print("文字列に/dとxと.とcm以外の文字が含まれています")

moziretu_listの2つめと4つめの要素の時にエラーが発生するようにしたいのですが、
正規表現の書き方がよくわからないです
2021/11/25(木) 21:26:14.65ID:rnpiht7q
>>841
data URIにしてopen

tempfileとかファイルに書いたほうが素直かも
2021/11/25(木) 21:43:53.79ID:fTQ24d4a
re.match('^([x.\d]|cm)+$',
848デフォルトの名無しさん
垢版 |
2021/11/25(木) 21:58:41.55ID:yEJnYkB5
>>847
だと4つめの"Size:140型(14x14cm);Color:【No.01】2枚セット"がとれてしまいます。
849デフォルトの名無しさん
垢版 |
2021/11/25(木) 22:03:38.00ID:yEJnYkB5
すみません。matchからsearchにしたら行けました!!
2021/11/25(木) 23:05:36.84ID:37B47xca
>>843,841
レスサンクス

鯖を使わず直接やりたかったので、data URIでやってみた
プレーンのままだと、改行処理とか面倒くさいので、
base64でエンコードしてやってみたらうまくいった
ただ、webbrowserモジュールを使うとWindows OSがこのプロトコルで開くことを許可しないので、
subprocess.Popenを使ってブラウザ指定(Firefox)
そしたら、ブラウザ自体もこのプロトコルで開くことがデフォルトではできないので
設定を変更して、なんとか一時ファイル経由と同じ状態で開くことができた
文字化けさせないようにするのがけっこう大変だった
ただ、ブラウザの設定をいじってまで直接やりとりに拘る必要もないのかなとも思ったよ
2021/11/25(木) 23:06:38.41ID:37B47xca
>>846
アンカ間違えちゃった
ありがとね
2021/11/26(金) 00:31:18.70ID:o6j9/HV6
>>840
そういうときの並列処理
CPUをN個準備すれば
時間は1/Nになるよ
2021/11/26(金) 02:22:22.94ID:IsarZHns
細かいけど並列計算で最後に結合するのってちゃんどi.i.d.になるんかな?
2021/11/26(金) 03:43:17.12ID:o6j9/HV6
乱数のタネを乱数にしてペッ別に始めればばiid
どっちにしても疑似乱数を使うとiidは崩れる
「疑似」だけに
問題はそこまで厳密性を求めるかどうか
2021/11/26(金) 11:18:00.20ID:JcLIlhiK
文章が崩れてるどw
意味は分かるけど
2021/11/26(金) 11:34:14.13ID:TzeTaFZ5
シードを乱数にしたら重複する可能性あるから
UUID的なやつか同時実行しない前提で時刻から生成しないと
2021/11/26(金) 19:52:15.77ID:o6j9/HV6
>>856
そこまで気にするのなら
そもそも疑似乱数をあきらめないとダメ
2021/11/27(土) 15:05:57.62ID:x+qkOb0S
classて使ったほうがいいんですか?
2021/11/27(土) 16:00:53.09ID:Ys/oz9Wu
intもlistもclassだから使わずにPythonプログラム書けるならやってみろ
2021/11/27(土) 23:41:50.77ID:x+qkOb0S
自分でclassを作ると何が嬉しいんですか?
2021/11/28(日) 00:22:44.41ID:UCS6EEgA
プログラムが大きくなったとき
管理しやすくなる
再利用もしやすくなる
ちゃんとclassを設計すればだが
2021/11/28(日) 01:00:32.66ID:5wT8eQUv
>>861
サンクス(´・ω・`)
2021/11/28(日) 01:31:06.42ID:YY1hk1pY
>>862
似たようなメソッドで機能が違うもの作るとき
少し出すだけで作れるとか

敵と自機をキャラというクラスに持たせて
画面表示や移動という共通部分は一度に設定できてそうじゃない部分を
簡単に分けられる
んで全体的少しずつ変えたい時に
一箇所変えれば両方変えられる
みたいな
864デフォルトの名無しさん
垢版 |
2021/11/28(日) 07:21:31.61ID:nfhtQiKt
my_literal_eval(str):
__try
____return ast.literal_eval(str)
__except SyntaxError:
____return str

samples = my_literal_eval(str) #辞書
samples.keys()
としたときに、型チェッカーがkeys()あるかわがんね!!って怒るんですが
どこで辞書型の宣言をしたらいいですか?
2021/11/28(日) 08:44:01.49ID:ieKXg54N
isinstance(dict, samples)でガードすれば通るんでないか
2021/11/28(日) 08:46:26.48ID:TS21VHmH
>>858
極力使うな
クラスは設計した人しか理解できないブラックボックス
いじるのが自分だけならいいけど
他人がメンテする可能性のあるコードにクラスは使うな
2021/11/28(日) 08:51:01.10ID:Ll5PsJvS
関数間で状態を保持したいときだけクラスを使えばいい
868デフォルトの名無しさん
垢版 |
2021/11/28(日) 09:34:35.03ID:/NNHm8tx
令和のstaticおじさん現る
869デフォルトの名無しさん
垢版 |
2021/11/28(日) 12:45:20.85ID:nfhtQiKt
>>865
assert isinstance(samples,dict)
samples.keys()

いけました。多謝
ところで
assert type(samples) == dict
は型チェッカー通らなかったんだけど、なぜですか?継承的な理由?
2021/11/28(日) 14:02:56.10ID:/OsOh/FW
windowsで
python_ide.exe /run sample01.py
ってやるとIDE起動しつついきなり実行して結果を表示して
そのあとから編集なりデバッグなりが出来るIDEかエディタってありますか
いちいちプロジェクト作ってF5押してとかやらずにできるものがいいです
2021/11/28(日) 16:14:11.68ID:UCS6EEgA
>>870
google colaboratory か?
2021/11/28(日) 23:04:03.88ID:SJI7MgMY
漏れは、デスクトップにショートカットを作って、
WSL2, Ubuntu-18.04 を起動して、
VSCode で、その中のproj01 プロジェクトを開く

リンク先
C:\Windows\System32\wsl.exe code .

作業フォルダ
\\wsl$\Ubuntu-18.04\home\ユーザー名\proj01

これを応用して、VSCode に「ruby a.rb」とか、
実行したいプログラム・スクリプトファイル名を、引数として渡せるかも知れない

漏れは知らないけど
2021/11/28(日) 23:41:14.23ID:bWBMruPI
getメソッドのformを送信したときに表示されるページをスクレイピングしたい
getメソッドなのでチェックボックスやinputの有無や内容でurlが変わるのでそのurlに直接値を入れてrequests.get()で送ろうと思う
このときどのような設計をすればいい?

formにどのような値を入れるかは状況によって異なるのでその部分をまずどうするか
クラスにして__init__に書くかそれとも他にいい手段があるか
2021/11/28(日) 23:43:03.05ID:bWBMruPI
あと初歩的な質問だけど__init__(self, test):でコンストラクターを定義して例えばself.test = testと書いた
これでそのクラス内でself.testでアクセスできると思ったがselfがないと出る
何故か分かる?
2021/11/29(月) 00:15:55.62ID:wv+/7oZZ
知らんけどそのクラスメソッドの最初の引数にselfって書いてないんじゃねーの(ハナホジ)
2021/11/29(月) 00:52:02.80ID:VzPxzWHt
違う
2021/11/29(月) 01:03:24.85ID:CM7Lq9QL
インスタンスメソッドじゃなくてクラスメソッドならそうやろね
2021/11/29(月) 03:22:32.97ID:rJXFzJiz
二次元配列を三次元配列に変換する方法が分かりません
どうすればできるのでしょう?

これがやりたいこと&できないことです
https://pastebin.com/KCY5WETQ
2021/11/29(月) 03:43:11.26ID:nPCo6JIx
np.stack((array1[:-1], array1[1:]), axis=1)
2021/11/29(月) 04:07:55.72ID:rJXFzJiz
ありがとう!!
まさか一行でできてしまうとは・・・

forで回しての変換もなんとかできました
https://pastebin.com/8K9mJcCn
2021/11/30(火) 09:45:02.69ID:1rSdL9RD
三項演算子を条件式を最初に書く方法はありますか?
2021/11/30(火) 11:38:22.32ID:+4eAilPB
>>874
self って仮の名前に過ぎないから
__init__(slef, test):
とかになってても
slef.test = test
だと通る
もちろん
self.test = test
が通らない
2021/11/30(火) 11:40:43.60ID:+4eAilPB
>>881
少なくともpythonでは
条件式を先に描いた時点で三項演算子ではなくなる
2021/11/30(火) 12:05:19.58ID:1ptP5nW8
>>882
へぇそうなんだ
俺の場合はクラスの中で自身のクラスをインスタンス化してたのが良くなかったっぽい
2021/11/30(火) 12:11:27.12ID:1rSdL9RD
>>883
if elseを一行で書く方法はありますか?
2021/11/30(火) 12:35:00.71ID:PosRcxUn
条件分岐用の関数をテキトーに作ったら?こんな風に使えるように
y = ifelsefunc(x > 0, -1, 1)
2021/11/30(火) 13:18:14.90ID:1rSdL9RD
>>886
ありがとうございます
888デフォルトの名無しさん
垢版 |
2021/11/30(火) 22:01:14.38ID:YBfM7cAP
pandasの列置換について質問です。

import pandas as pd
df = pd.DataFrame({'deli_name': ['自社配送', '自社配送', 'store_A'], 'store_name': ['store_A', 'store_B', 'store_C'], 'price': [890, 833, 7842]}, index=[0, 1, 2])
df.deli_name[df.store_name == 'store_A'] = 'store_A'

上記はstore_nameがstore_Aの時に該当する行のdeli_nameをstore_Aに置換するつもりで書きました。
実行すると置換に成功しているのですが、下記の警告文が出ます。
SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame
警告がでない書き方とか分る方教えてください
2021/11/30(火) 23:30:55.06ID:Z8ik9ZGC
import pandas as pd
pd.options.mode.chained_assignment=None
df = pd.DataFrame({'deli_name': ['自社配送', '自社配送', 'store_A'], 'store_name': ['store_A', 'store_B', 'store_C'], 'price': [890, 833, 7842]}, index=[0, 1, 2])
df.deli_name[df.store_name == 'store_A'] = 'store_A'
2021/11/30(火) 23:36:58.51ID:EeXqZSw1
警告の下にあるリンク先はよんだん?
891デフォルトの名無しさん
垢版 |
2021/12/01(水) 00:11:27.02ID:X46if3HQ
>>888
deli_name_copy = df.deli_name.copy()
deli_name_copy[df.store_name == 'store_A'] = 'store_A'
df.deli_name = deli_name_copy
892デフォルトの名無しさん
垢版 |
2021/12/01(水) 11:49:27.95ID:kM+Jjoc8
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
2021/12/02(木) 13:28:11.18ID:XKNm0UTJ
beautifulsoupで<div class="box_area">の下にあるpタグの下にある全ての<span class="link_pdf">タグの下にあるaタグを取得するには例えばどう書けばいいですか?
2021/12/02(木) 13:30:55.05ID:YlIFrtYh
順番に絞ってけば取れるだろ?
2021/12/02(木) 13:51:53.14ID:k2JFy+0I
セレクタの勉強をしろ
2021/12/02(木) 14:13:40.25ID:XKNm0UTJ
>>895
これか助かる
https://gammasoft.jp/support/css-selector-for-python-web-scraping/
2021/12/02(木) 22:47:46.92ID:ap4H6lSA
typing.List、Dictって非推奨らしいけど、代わりは一体どうしたら・・
898デフォルトの名無しさん
垢版 |
2021/12/03(金) 00:05:29.70ID:/aixTtEw
ビルトインのlist、dict使えってことなんじゃね?困ることあるん?
2021/12/03(金) 01:06:36.94ID:mlmp5wts
3.9から
list[int]
とか
dict[str, int]
とか書けるようになったから要らんだろってこと
この調子でイテレータもどうにかして欲しい
2021/12/03(金) 02:36:40.94ID:XIVj35HM
>>893
下と言う表現は、あいまい

下と言っても、子・直下のみは、> を使う

例えば、id がabc の直下の、xyz クラス
#abc > .xyz

(再帰的な)子孫なら、半角空白を使う

例えば、div の子孫の、p
div p

詳細は、jQuery などのCSS セレクター一覧表を参照
2021/12/03(金) 06:13:15.75ID:Lgq6hTbY
>>900
助かる
2021/12/03(金) 12:21:12.38
beautifulsoup4でfind_allするとき、table周りはなんか一癖あった記憶がある
2021/12/03(金) 13:26:46.51ID:Lgq6hTbY
selectでいいんだよね?
2021/12/05(日) 21:47:07.14ID:z1lQW/5A
はじめてプロファイラー使ってみたら
Pythonでファイルの存在確認って遅くないか?
じぶんの環境だけなのか?
2021/12/05(日) 21:58:46.62ID:z1lQW/5A
自己解決
ファイルの存在確認が遅いのはHDDのせいみたい
2度目以降は高速になった 
キャッシュが聞いてるからかと
2021/12/06(月) 00:07:26.37ID:Phmk8fSW
HDD関係なく初回のstatが遅いのはWindowsも含めUnix系のファイルシステムだとしょうがない
2021/12/06(月) 07:12:36.68ID:1pNPp5ri
コマンドプロンプトのような見た目のコンソール上で動く、CUIの特殊な計算機があります
C言語で書かれていてコンパイル済みのフリーソフトです
これをpythonで操作して自動化に役立てようと思っています

出力はコンソール上に文字列でなされるのですが、文字列を直接取得する方法はありますか?
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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