Pythonのお勉強 Part61
■ このスレッドは過去ログ倉庫に格納されています
★当スレにRubyのソースコード類を書くことを禁ず★ ☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止 ☆「Ruby では」「Rubyでは」をNGワード登録推奨 ◆エラーを解決したいときはエラー表示(勝手に省略禁止)と 環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書く ◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩れるので ↓にあげてるような、ソースコードうp用サイトに貼ってきてくだしあ (スクリーンショットをimgur等にうpる「横着」禁止) ttp://ideone.com/ デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう。 ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#) ◇Pythonオフィシャルサイト http://www.python.org/ ◇まとめwiki ttp://python.rdy.jp/ ●関連スレ● くだすれPython(超初心者用) その43【Ruby禁止】 http://mevius.5ch.net/test/read.cgi/tech/1555397061/ 〇前スレ Pythonのお勉強 Part60 http://mevius.5ch.net/test/read.cgi/tech/1556580863/ 次スレの建立は>>985 が挑戦する。 [EOF]
何故かこの手の話になると売り物レベルの製品を引き合いに出してくるアホが出てくるんだよなw >>391 は勉強がてらそれっぽいもの作れって話だろ まあDjangoでいいと思うけどその判断が付かない程度の知識とやる気だと正直難しいと思う スクレイピングとかするぐらいならAPI使ってみる方が実用性高いと思うの >>399 その本持ってるけど、普通の人がやりたそうなことは一通り書いてていいと思うよ ただ、ウェブスクレイピングに関してはBeatifulsoupに重点おいてるんだけど、javascript多用してるサイトだと通用しないんで結局seleniumを使わなくてはならなくなる sereniumにもさらって触れてるけど、重たいので非推奨みたいな感じ。実際重たいしね >>406 参考になるレスありがとう pythonでやりたいことは現状スクレイピングのみなので、 そのへんが厚い参考書とかがあれば教えていただけるとありがたいです この本もちょっと立ち読みしてみます Ruby on Rails では、作者のDHH が、2014年に「TDD(テスト駆動開発) is dead」と発言して、 ユニットテストから、Selenium を使った、E2E(end to end)テストへ移行した! それで、Rails 6 では、 DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle によって、 テストを複数CPU コアで、並列実行する機能が実装された! >>407 スクレイピングしたいなら、遠回りのように見えるかもだけどWebページの作り方を勉強した方がいいと思うよ 実際やり始めたら、他人が作ったHTMLの解析するのがメインになるから。自分のところのソースよりも、目的のページのソースを見てる時間の方が長くなる スクレイピングって、高速に次々ページにアクセスするわけにはいかないから、結局重くても大した問題じゃないのね。 >>411 岡崎の図書館の話なら不運が重なっただけ 大量のデータを取るとも限らないしな。クレカとかETCの明細を取るのに、ブラウザ上でちまちま選択するのが面倒だから機械にやらせるのもスクレイピングに入るし ちなみにスクレイピングしたデータを excelの所定の様式に移して出力したいんだけど、 その作業は別の言語が必要?pythonだけでできますか? >>409 わかりました ブログはやっていたので、HTMLの知識は少しだけあるのですが、progateでもう一度復習してみます >>417 あれが驚愕だったのは、逮捕要件としては成立することが証明されたから。 もしあれが問題あるアクセスだったら、裁判沙汰になってたことにみんなビビった。 なんか、岡崎不起訴だから逮捕されないとか考えてるやついるみたいだけど、逆だからな。 問題のあるアクセスだったら「逮捕」される。 それ以前に規約違反なら民事で問題になる可能性が高い。 管轄裁判所が海外だったらそれだけでかなりやばい。 >>413 できなくはないけど、Python側からはCSVで吐き出して、Excel側でVBAでも使って整形する方が楽なんじゃね? 正規のExcel持ってるならそれが一番簡単だと思う スクレイピングはページのソース見ながら 取りたい情報を取得出来るように findとかfind_allでtry&errorで探すのが良いと思う。 Excel化はPandasで良いのでは? pandasでisinメソッドあるやん? isnotinメソッドはないの? >>394 おお…!!こんなに情報くださりありがとうございます! Kintoneが僕のイメージしていたデータベースの画面そのものって感じでした! 保守・操作性・作成コスト考えるとプロが作ったものがベストですね… ありがとう! アホ「Python勉強しています」 上司「そうか、じゃあウェブ上でデータベース管理に挑戦して欲しい」 アホ「おかのした、Kintone買いますね」 ボク「Python関係ないやんけぇーーーーーーー!!」 >>422 なんのために挑戦して欲しいと言われたのかだな。 基本的な勉強のためか、実務のためかで変わってくる。 所でPostgreSQL は、PL/Python でFunction を作れるんだな。 知らんかった。 DbAdmin がPython に変わったのは気がついてたんだが。 asyncioのシングルスレッド非同期IOについて思い切り誤解してたわ… 同期関数を@coroutineでデコレーションして gather()でまとめて実行したら javascriptみたいにいい感じにスケジューリングしてくれるとか思ってたけど全くそうじゃなかった coroutineの中でtime.sleep()を呼び出してる場合、そこでCPUを掴んだまま離してくれないし ctypesで共有ライブラリ呼び出して、そっちで同期処理やってる場合とかは自前でワーカースレッドを作ってスケジューリングしなきゃいけないって認識であってる? うん そもそもasyncio.sleep(awatableなsleep)使えよという気がしないでもないけど ctypesに関してはうまい解法を知らない futureにラップすればいいような気はする >>427 >>428 ありがと time.sleepのほうはasync.sleepに書き換えれば済む話だけど ctypesみたいにライブラリ側がasyncioで書かれてなくて、非同期IOに対応してない場合は別スレッドに処理を移譲するしかないっぽいな 単純にfutureでラップしてみたけどダメっぽい 結局javascriptみたいにアプリケーション全体が非同期IOを前提としたデザインでないとダメってことか イベントループは扱いづらいな これで十分だろ with concurrent.futures.ThreadPoolExecutor() as pool: await loop.run_in_executor(pool, ctypes_func) >>406 GETで取得できるソースに必要な情報が含まれていないサイト (クライアントサイドでHTMLを動的に生成するサイト)はseleniumを使うしかない そう思っていた時期が俺にもありました Chromeのデベロッパーツール>Networkタブを開いた状態でサイトにアクセスすれば サイトによっては仕様非公開の公式APIにアクセスしてる様子が見られる まぁこれを見てもAPIの使い方は完全にはわからないんだけど、 それっぽいパラメーターを加えてみたり、出てきたURLをググってみたりしたら APIの使い方が分かる場合もある 下のページの例、pytho3 で動かすには、どこをどう直したら良いですか? https://qiita.com/nobrin/items/75580f298d7f0dde5970 except IOError, e: は except IOError as e: のタイポと思うのですが、 それを直しても、 buf が None になってしまって動きません。 python3だとpopen.stdoutはバイナリモード そのくらいかなあ 2 と 3 では except の書き方違うから そもそもタイポではない >>434 , 435 どうもです。2と3はそんなに違うんですね。あの例を3には諦めます。 Djangoで複数のアプリケーションを含んだWebアプリを作りたいのですが、ログイン出来るユーザーにのみ各ページを表示させたいのでログインしてないユーザーにはどこから入っても認証フォームではなくトップページにリダイレクトさせたいです どこか実装に参考になるところを知っていたら教えていただけませんでしょうか >>437 それはPythonじゃなくて htmlの、.htaccessだっけ?の設定から指示するものなんじゃなかろうか djangoとかほとんどの奴には過剰だろ 個人で入門やってるような連中にはだいたいbottleとかでイナフ >>439 PHPより楽になるならそれで充分だよ ちょっと触ってみた感じでは制約が多そうだけど ただ、URLがスッキリするのはよさげ Ruby on Rails なら、ログイン失敗時に、 redirect_to :root Railsの本は、10冊ぐらい出てるけど、 Django の本は、掌田の1冊だけw シェア・規模が、全然違う! さらに、Railsをやれば、Railsのコピーの、CakePHP も出来るようになる URL がスッキリするのは Django のおかげじゃなくて WSGI のおかげやろ >>445 ありがとうございます! 無能で申し訳ないです。。 パッとみた感じいけそうです。助かりました Excelよりも便利で簡単に扱えるもの作ってー いつまで経ってもVBAを超えれないな これだな。 excel開発費は累計数兆円とかいってんじゃねえのか? 人月も数十万規模だろ…… 開発期間も50年くらいじゃねえの? エクセルでできることができない何百万のシステム・・ https://anond.hatelabo.jp/20131204101200 どうせ増田だからネタだろうけど DB的に使ってるならコピペ禁止の方がいいだろうな ExcelとかAccessは使う側に問題があるだけだと思うんだ 営業とかにGAS入れたスプレッドシート渡すと想像もつかない姿に成り果てて「動かなくなりました〜(ToT)」って言ってる所を何回も見たことある せめてシステムというからには壊すほうが難しいレベルにはなっててほしい Excelとかちょっと触ったらすぐ壊れる クリティカルなセルを保護しとかない奴が悪いに決まってんだろそんなん セルやシートを保護してパスワードがないと編集できなくする機能がなかったっけ? あるけどおまえらまとめて エクセルのスレとかAccessのスレへ池 class oya: def __init__(self, oyan): self.oyan = oyan class ko1(oya): def __init__(self, ko1n): super()__init__() self.ko1n = ko1n class ko2(oya): def __init__(self, ko2n): super()__init__() self.ko2n = ko2n こんなクラスの時ってどうやって宣言するの ko1のinitに引数とってぶち込めばすぐ出来るのは分かるけど 親の値は変わらないから1回しか宣言したくない(1という値をko1とko2の宣言時の2回使いたくない) 理想は hito1 = oya(1) hito2 = ko1(2) hito3 = ko2(3) って宣言したら x = ko1.oyan の結果が1になって欲しいけど多分オブジェクト指向的に無理でしょこれ >>459 継承でやる事ではない hito1〜hito3は完全に独立なオブジェクトであり親の変数を共有するものではない 自分がやるとしたらoyaに子作りメソッド持たせてhito2, hito3はそこから生成する ああ子作りメソッド持たせればいいのかぁぁ まさにそれで解決しそうありがとう 下のページに貼ったコードなのですが、2度めの Run で頻繁に落ちてしまいます。 何か改善方法がありましたら、教えてください。 http://codepad.org/vk5iZoq5 datetimeオブジェクトをprint関数で出力すると 2019-02-04 12:04:15.561748+00:00 といった文字列が表示される。 10進数浮動小数点数を扱うDecimalオブジェクトも、 4.25 といった小数の文字列が表示される。 int型オブジェクトも print(4-2) などと書けば 2 と表示され、Print出力させたいものが指定されている。 一方、下のような自作オブジェクトは、<__main__.Hoge object at 0x0xxxxxxxxxxxxxxxx>などと表示されてしまう。 class Hoge: """もしも生まれ変わったら触手になって巨乳に絡みつきたい""" hoge = Hoge() print(hoge) どのようにすれば、自作オブジェクトがプリント出力を受けたときに、プリント出力させたいものを指定できますか? 来世はクリオネの触手に決定だ。良かったな。 しょこたんに愛でられるが良い Windows10 Version1903+Python3.4.3/4あたりでpip search/installすると失敗する気がする つーかしてる pipのログ tps://pastebin.com/6aec7DN6 urlopenでも起きる tps://pastebin.com/faLkhJMp C:\Windows\System32\curl.exeでも起きる tps://pastebin.com/RMRKFxE5 さすがにC:\Windows\System32\curl.exeで起きるならWindowsの(WinSSLの)問題のような気がするので, フィードバックは出しておいた しかし別の環境で確認したわけではないのでおま環の可能性も否定できない >>473 激しくスレチ ↓あたりへ池 スレ立てるまでもない質問はここで 149匹目 http://mevius.5ch.net/test/read.cgi/tech/1529199088/ マルチポストしていたとしたら、 お前は呪われ、家の中の器物の角に足の小指をぶつける。 progateで勉強しているのですが、 クラス、インスタンス、メソッドがあまりうまく理解できませんでした とりあえず、progateのプログラムはクリアしたのですが、 このまま応用の承継にいくよりは、もう一度理解を深めたほうが良いと思ってます pogate以外でそのへんをサクッとわかりやすく理解できる書籍かwebサービスってありますか? def main(): a =0 def do(): a+=1 do() print(a) これで1を出力したいんだけどdo内のaが未定義と言われる。 globalにするしかないの? >>477 まず普通に渡して返してもらうことを考えたほうが良くないか? nonlocal!! メソッドの引数に渡す関数で入出力触れなかったから困ってた(具体的にはopencvのマウスコールバックで使う変数) pythonは全くの初心者です。python-3.7.4-amd64をインストールしました。 ここから、PyAutoGuiとLINE Notifyを使って、 PCに特定の画像が現れたらスマホへLINE通知を送るスクリプトを書きたいです。 全く知識がないのですが、手っ取り早く作成したいので、初心者でも分かる簡単なサンプルを教えて下さい。 「特定の画像が現れたら」の要件を厳密に定義してくれ python初心者っていうけどプログラミング初心者のようにしか思えない varなりletなり宣言文があればnonlocalなんてキモい構文必要なかったのに pythonはそんな学習量要らないからほかの言語知ってる人はここで聞かなくてもすぐ習得できるからな 聞きたくなるのは癖のあるライブラリくらいだ というか>>477 はaを引数に取ってreturnすればいいのでは PCに「?」マークがいつも表示されていて、それが一日に数回「!」に変わることがあり、 その変化が起きた時にスマホへ即通知したいです。 UWSCで他の処理を行っているので、Pythonを使って通知を行いたいです。 >>488 上にも書いたけど、 これはただの例で実際にはこの関数はopencvのマウスコールバックメソッドの引数になるから無理 簡単に書くと mx = 0 def mouse(x): nonlocal mx if マウスが移動した: mx = x setmouse(mouse) こんな感じにセットしたらマウスが移動した時にmxにマウスのx座標が入るようになってる >>488 普通ならそれで良いがこの問題の本質は>>481 OpenCVのマウスコールバック関数は引数が決まっているから自分では決められない 普通はglobal使うけど思想的に変数のスコープをイタズラに広げたくないのは理解できる >>489 ????🤔?? ??🤔??? ?🤔???🤔?????🤔 ! >>489 聞き方の姿勢はくだすれPythonのが俺は適してると思うがまぁいいか いつも同じ場所に表示されるなら、場所指定で画像を切り出して比較する import pyautogui import numpy as np # 画面のスナップショットを取得 im = pyautogui.screenshot() # 画像の切り出し size = 32 left = 100 upper = 100 right = left + size lower = upper + size im_crop = im.crop(left, upper, right, lower) # グレースケールに変換し更にNumpy array型に変換 gray = np.asarray(im_crop.convert("L")) あとは画像の特定位置の値を見て?か!を判断する グレースケールからさらに二値化した方が確実かもしれない ライン通知は他に任せた 知らんけどラインてapi提供してんの? メール投げるかtwitterのが楽そう >>492 >>489 皆様ご回答頂きありがとうございます。 ネットで見つけたLINE通知のと組み合わせてなんとか完成できそうです。 >>495 ありがとうございます。 こちらも試してみたいと思います! 定形作業を簡単に置き換えるならやっぱbashが一番楽なのかな pythonの方ができることの幅は増えそうだけど bash, sed, awk, PowerShell これよりも複雑だと、テキスト処理・1-liner に優れている、Ruby まっくっくならばっしゅ ういんどーずならぱわーしぇるだろ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる