くだすれPython(超初心者用) その40
■ このスレッドは過去ログ倉庫に格納されています
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答を書くことも禁ず
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その39
http://mevius.5ch.net/test/read.cgi/tech/1535064635/
◆PythonのHome Page
http://www.python.org/
◆まとめwiki
ttp://python.rdy.jp/
◆ソースコードをそのまま5ちゃんにコピペするとインデントが崩れるので
こういうところ↓にはってきてください
ttp://ideone.com/ Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−− from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=options)
browser.implicitly_wait(1)
url = "http://yahoo.jp"
browser.get(url)
file = open("source.html","w")
file.write(browser)
file.close()
上手く書き出せません。どうしたらいいでしょうか?
恐らく型が違うのだと思いますが、それでも無理矢理書き出す方法はありますか? TwitterのAPIの取得って審査厳しいの?
取った人おる? >>84
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
browser = webdriver.Chrome(chrome_options=options)
browser.implicitly_wait(1)
url = "http://yahoo.jp"
browser.get(url)
hoge = browser.page_source
file = open("source.html","w")
file.write(hoge)
file.close() >>86
レスありがとうございます。
とても助かりました。
また、これについて何とかそのままの状態でもエラーを発生させなかったり、
エラーを勝手に保存することでプログラムを止めないで次に薦める方法はありますか?
Perlをよく使うのですが、Perlの場合型が違った場合でもその型?のメモリ番地?を保存してくれそこから容易に調べることが出来ます。
また、実用上プログラムが止まらないので助かることも多いです
同じような使い方が出来ますでしょうか? 参考までに、Ruby のnokogiri を使って、スクレイピングしてみた。
head > title を取得した
require "selenium-webdriver"
require "nokogiri"
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless')
options.add_argument('--disable-gpu')
driver = Selenium::WebDriver.for :chrome, options: options
driver.navigate.to "https://www.yahoo.co.jp/"
doc = Nokogiri::HTML( driver.page_source )
element = doc.at_css( "head > title" )
puts element.text #=> Yahoo! JAPAN
driver.quit >>87
>エラーを勝手に保存することでプログラムを止めないで次に
2系なら try except とゆう構文でエラー時エラーの種類と内容を書き出しつつ先へ進めさせることができるが
3系だとexceptのあとにエラーの種類を指定しないとおこられるようになったので
実質無理げー 例外の握り潰しか?
Ruby では、rescue で例外を捕捉しても、
何も処理せず、またはログを記録して、そのまま次の処理へ進む
例外の握り潰しは、やってはいけないのが常識だけど、面倒くさいならそうすれば?
ただし、仕事では禁止! >>1の冒頭に書いてもこれだからな。キチガイは始末におえない。
もうスレタイに書くしか。 >>85
7月にとったときは特に難しくはなかったよ、ただテストツイート一回でなぜかアク禁食らって一度取り直したけどw そっかー
残念!
仕事というか株の売買プログラムとかPerlで作ってるけど
再現性の低い通信エラーとか色々な理由で止まる方が困るからとりあえず動くのが大切
で、エラーが仮に出たとしても最後の所でしっかりとチェックして不正があれば全ての実行を取り消したり通知するようにしてるからミスが起こらない
プログラマとしてはダメなのかも知れないけど、自分で運用まで全て理解してやってると、とりあえず動いてくれる方が助かることも多いんだわ
頻度の少ないエラーとか全て潰してたら何年もかかるしね・・・
Pythonってとりあえず動かして、ちょっと修正してとかプログラムというよりもスクリプト的な使い方も多そうだから
エラーをスキップするような方法もあったら便利そうだけどかなり厳しい言語なんだな 漏れは、Ruby で、selenium webdriver を使うけど、
5ch, Showroom とか、しょっちゅうエラーが起きる
通信回線が混んでいると、1分掛かっても、全部を読み込めていないから、
外部プログラム(selenium)からアタッチできない
数十個のJavaScript を読み込むだろ。
延々と、アタッチできない状態が続く たぶん、向こうのサイトが、すべてのJavaScript を読み込んで、
idle 状態になっていないと、外部プログラム(selenium)からアタッチできない
アタッチ要求を出しても、ずっと待たされる >>93
うんこはperlに(・∀・)カエレ!!
そしてもう二度とでてくんな >>88
修正
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 30 # 要素の検索の timeout
driver.navigate.to "https://www.yahoo.co.jp/"
sleep 10
doc = Nokogiri::HTML( driver.page_source )
通信回線の込み具合は、どうにもならない
要素の検索のタイムアウトを設定したり、スリープして待つとか、
異なるサイトなら、タスクランナーで並列化するとか >>91
真正基地外はスレタイ変えたくらいじゃ書き込み続けるだろ
基地害だから 96も1に違反してるじゃんw
それに他の言語からやって来たのならそれで出来ることを聞くのは普通じゃね? >>99
どこが違反なんだよ
名前すら出すなとは書いてないぞ >>1 Rubyガイジは煽りの相手をせずに淡々と書き込んでてワロタ Rubyのスレで淡々とやれよな…
こんな根性のやつらばっかりだから廃れるんだよ。
よそ様に迷惑かけるなんて日本人とは思えない。 >>100
Ruby書いてるのは論外だが自分のコメと1のコメを良く読んでみると分かるかと >>93
ゆるゆるで中でエラー出してても黙って動いて
訳の分からない結果が出力されるよりは
ちゃんとエラーとか例外吐いて止まってくれる言語の方が有難いとプロは考える >>87
ある箇所で発生する例外が確実に無害であると確信できるなら、全ての例外をexcept:で受けたあと、sys.exc_info()を呼んで戻り値をリストに保存する。
第三要素がtraceback型のインスタンスになっているので、tracebackモジュールの関数で適当にテキスト化してログファイルにでも書き出せばいい。 >>24
本環境にインタプリタ一つでやってる
pipで別のバージョン要求されても無視オプション
ただでさえ深い所にあるsite-packages/に差分増えるとか嫌すぎる
Pythonも3.6/に入ってたから、3.7に移行するともっとカオスになりそう
ということで全て~/site-packages/に移した
ずっとこれで行くと思う
問答無用モードのpipで入れても起動するときにバージョンで弾く奴も居るけど、__init__.pyあたりに判定コードがあるので消す
本当にバージョン依存のある正当な要求でも、例外起きた所に飛んで弄ればなんとかなる
(サイレントバグは知らん)
2.7で更新止まってる奴の改修もそんな面倒ではない
めっちゃ個人用だけど、ライブラリイジイジするのも勉強になる 無視オプションしても変なフォルダ増えてる事があるから安全ではないかな…
バックアップは取っとこう
本当はクローンしてきてコードのインポート回り見てから、必要でない物をsetup.pyやMakefile,requirementsから消すべきか
ピュアPythonならコピペだけど、こっちでバイナリ作るパッケは面倒 数百行のしょぼいコードでもパッケ管理リスト埋めるのも嫌だ、潔癖症だろうか
公式docでしばしばレシピ引用してるActiveStateよいよね、今は全然Activeじゃないけど…
こういう気軽にブラウジングしながらスニペット手に入るサイトって他に無いだろうかね?
ロゼッタコードも良いとこ
短いから、エディタと並べて解釈しながら自分流に書き直してライセンス汚染を防いでる気になってる
だ、大丈夫だろう多分… >>107
どっちかではなく、使い勝手次第でどちらもあると良くない?
デバッグの時はそれでないと困る ここには同意する
しかし再現性の乏しいエラーで止まるとそのたびにリセットが必要になるとか実用上困る
かといって100%確実に動作するまで利用できないのは不便
例えばだけど自作で液晶のIRリモコン作ったんだけど、下手にバグで止まるとそのたびにリセットが必要になり面倒
しかし、バグを無視してくれるなら2回押すだけで何事もなかったように動作してくれるとかね
特に再現性の乏しいバグだとデバグのコストの方が大きくなる気がする
プロ兼経営者はこのようには考えないの?
>>108
ありがとう >>111
VSCode の拡張機能に、Python スニペットは無いの? >>112
バグったまんまのリモコン、承知の上でバグ握りつぶして出荷とかバレたら倒産沙汰だろ >>117
大量にあるならデバグしっかりしろって話
問題として挙げてるのは通常だと発生しないレベルの話ね 大学でやっている教科書以外に、
今は「わかるpython」勉強中 〜Python[リスト]〜
a=[10,22,40,45]
a[0]
10
a[3]
45
a=[10,22,30,45]
a[1]=555
a
[10,555,30,45]
#リストの長さを求める
a=[1,2,3,4,5,6,7]
len[a]
7
b=[0,2,4,6]
len[b]
4 そもそもウンコスクリプトで書いてるのにでたらめもへったくれもない
ウンコスクリプト自体がでたらめだからな >>118
>通常だと発生しない
この判断が謎基準あるいはお前基準だろ
とりあえずおまえは自家消費以上のことはすんな
ネットで成果を公開とか迷惑ンゴ >>124
なんでウンコスクリプトのスレをわざわざ見に来てんの?馬鹿なの? >>125
ごめん
プロ兼経営者がどのように考えているか、それが知りたいんだわ
あと、ソースは昔から公開してるけど使う使わないは個人の自由
使いたい人が判断したらいい
ただ、ちょっと古い家電とかリモコン製造中止で、買い替え+工賃で30万とか普通にあるけどな >>127
再現性の乏しいバグってのが何を指しているのかわからん。バグはバグ。
発生率が高かろうが低かろうが、処理続行してもいいのは想定内かつ安全な例外だけだよ。
自分にとって想定外なんてのは他人にとっては想定内で、単に自分に技術がないだけと思うべし。
本当にどうしようもないエラーの場合は、プログラムは落として、プログラム外からインテグリティチェックをかけてから再起動するような設計にすること。これは例外で握りつぶしてはいけない。
本当にどうしようもないエラーってのは、回路に蛾がはさまって短絡したとかそういうのね。 超初心者だからスプリクトの1行ごとにコメントと改行を入れてるんだけど
実行速度が遅くなったりしますか?
200行程度じゃ変わんないですか? 数百メガバイトのソースコードなら何秒かかかるかも
ただしバイトコードにコンパイルする時の話で、バイトコードコンパイル後はコメントやらは消えてるから影響しない プログラムが動いてる間は毎回コメントも認識されるんだと思ってた
最初重いだけなら思う存分コメントがかけます
ありがとう! Ruby はインタープリタだけど、
一旦ソースコードが中間言語にコンパイルされて、仮想マシンRubyVM で実行される
だから、コンパイル時の構文解析時に、普通のコメントなどは除去する
でも、アプリ実行中にアクセス可能な、特別なコメントの書き方もあるかもしれない。
テスト用コメントなんかはそう
コメント内に、特別な記法で書いておいて、テスト可能なようにしている 複数行コメントする方法で
'''
コメント
コメント
'''
で囲む方法があるけど、これは消えないですよね?
使わない方がいいって事ですか? 消えるってコンパイル時にって事?
コメントは全部削除される
ってかコメントに対してパフォーマンスなんて求めるもんじゃない >>136
使って
コメントなんて いっぱいしておかないと。
今は至れり尽くせりにしたつもりが
1年後には言葉足らずとなり
過去の自分を呪うぞ コメントのせいで容量が100倍に膨れ上がったりすればコンパイルがほんのちょっと遅くなるかもしれないけど
ソース1行に対してコメント100行書くほどの文章力がない 仮想通貨に使われる技術「ブロックチェーン」をベースにした宗教「0xΩ」の存在が発表されました。
0xΩは宗教活動をブロックチェーンを通じて行うというもので、創設者は「最高権威」という立ち位置になく、
また信仰内容は信者が変更できるという、一般的な宗教とは異なる仕組みが取られています。
https://gigazine.net/news/20180604-blockchain-crypto-cult/ 晒すソースのコメントは英語で書けよ
PEP8からのお願いな jupiter notebook をmyPCに入れようとしたけど、
空いているソフトがありませんとインストールエラーが出て使えなかったから
仕方なくPycharmでやってる。 jupiternotebookをインストールする空ファイルに、
日本語が入っているとできないので、ローマ字だけでないとできないようだから注意な。
これ豆。 >>136
コメントではなく文字列だからね。ちなみに代入や出力しない文字列のみを
モジュールやクラス、メソッドの先頭に書くとドキュメンテーションにもなる
これは-OOオプションやPYTHONOPTIMIZE環境変数を相当にする事で除去される ■ワイヤレス給電ができる道路で、送電線が消え(ワイヤレス給電のコイル部分が送電線の役割も果たす)
バス、タクシー、トラック運転手やamazon、郵便配送員が自動運転化され、
ガソリンスタンドがなくなり、工場作業員(EVはモーターとバッテリーをくっつけるだけでできるので、
格段に生産工程がシンプルにできる)も自動化され、コンビニ店員もデジタル決済化で消え、
いまわしい存在が道路や街の景色から消えれば、
どれほど輝いて街の景色が見えるだろうか。
「すべては、道路をワイヤレス給電できるかどうかにかかっている」
卒論では、送電線とコイル一体化型の
道路のワイヤレス給電システム実現に向けた研究を行う可能性が高い。 ひさびさに古いpython使おうとしたらpipが実行出来なくなってた
溜めてたソース全部捨てて一から描き治すか >>147
ヘ⌒ヽフ
( ・ω・) dd
/ ~つと) >>149
pip install pip --upgrade pythonってswitch文みたいなのって無いの? switchは構文糖衣だし
実際それほど便利じゃないし
本気で数字で分けるだけなら
函数テーブル使った方がマシでっせ d = dict(状態=やること関数)
d["状態"].() scapyのsniff使ってるとメモリ使用量が上がり続けていくんだけどこれは仕様ですか? random.uniform(a, b) の説明には
a<=N<=b の範囲の乱数Nを返すとなっていますが
実際にやってみると a<=N<b のようです
いったいどちらが正しいのでしょうか? 実数だからaかbとイコールになる確率ってほぼ0じゃね
a側に等号が含まれるのはどうやって調べたの? >>162
a<N<bの誤りでした
int(random.uniform(0,1)*10) などとしてループを回すと0〜9の値しか出ないので質問しました
10が出る確率はかなり低いでしょうが、ごく稀にでも10が出る場合があるのなら
不具合の原因になるかもしれないので確かめたかった ここまで読んだところによると十中八九不具合の原因になるのはお前 >>163
理論上はa,bと等しい値がもあり得るけど、pythonは倍精度浮動小数点数を採用している
その例なら10が出る確率は1/2^64=1.8e-19だから無視できるレベル マジで
-??urllib(アップロードされた2017-06-02 07:03:37、偽装urllib3)
やった覚えがある
野良zipもpipしちゃったしどうしよう ブログで紹介されてるのをpipするなら安全ですか?
それとも毎回 xxxx virusでググるべきですか? 本気で心配ならソースを全部読んで理解するしかない
ブログの紹介は全く関係無い 無視できるレベルωでも
仕様で=まであり得るなら
ちゃんとその場合の対処もしとけ
マーフィーの法則 >>175は頭に隕石が落ちてきたときの対策なんかもしてるの? むちゃめちゃめちゃくちゃクラスの説明がわかりやすいサイトはありませんか? classかー
あれは自分で書かないと覚えられないと思う C やったことあるひとなら
class は struct FILE
self は FILE *
で大体通じる
class も self も PyObject * な訳だが ■ このスレッドは過去ログ倉庫に格納されています