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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/10/17(土) 10:05:38.14ID:1RQ0Wdhu
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

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

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
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

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

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2020/11/26(木) 18:17:13.29ID:nrM3g88W
>>605
初心の話をしてるだよ、右も左もわからない状態で取捨選択できるような人間少ないだろう。
多少過激な物言いをすると直ぐに時系列を理解しないこーゆう愚者が現れ恥を晒す。
610デフォルトの名無しさん
垢版 |
2020/11/26(木) 18:22:28.42ID:T0UZuAda
>>600
オススメのサイトとかある?
2020/11/26(木) 18:24:27.19ID:ko8YYDT7
Pythonの入門書を選ぶのは結構難しいよな
とある事情で他人に勧める参考書を探しているのだけれども、
基本を押さえていて、リファレンス的になりすぎず、かといって変に応用だけやるみたいにもなっておらず、間違いがない本を探すのはかなり難しかった。
他言語の経験がある人なら公式チュートリアル読めで終わりなんだけどね
612デフォルトの名無しさん
垢版 |
2020/11/26(木) 18:41:18.80ID:fjpYUDuO
図書館にPythonの本は何冊かあるんだけど普通に10年前くらいのあるなぁ…
2015年出版とかの本は使えるのだろうか?
2020/11/26(木) 18:42:37.49ID:YYN7U/8V
>>611
だから図書館で複数纏めて借りたんだけどね
筆者毎に薦める開発環境も入り方も全く違うから
自分に合うのが1冊あれば他は返却するつもりだったし
合うのが無くてもそれぞれ読み合わせるつもりだった
2020/11/26(木) 19:11:36.57ID:l+ppMWJa
>>610
めちゃくちゃ叩かれそうだけど書く
paizaとqiitaを往復するのがいいと思う
paizaのスキルチェック受けながらわからないところを調べていく
pythonでなにか作りたいとかなければこれがベストなんじゃないかな
課題を与えてもうのはとても良いことだと個人的には思う
2020/11/26(木) 19:20:10.25ID:zyTAEVOK
>>611
なにを勉強するにも入門書ってあうあわない+良し悪しがあってむつかしいねぇ

>>613
複数まとめて借りたってちゃんと最初からかいてたっけっか?
2020/11/26(木) 19:24:22.04ID:YYN7U/8V
>>615
>>589で最初から言ってる
2020/11/26(木) 20:18:23.65ID:zyTAEVOK
>>613>>589だったのか!!!
なんか勘違いしてたわごめん

ねるぽ
2020/11/26(木) 20:25:58.77ID:Su7UQCea
>>609
だから自分で調べるなりここで聞けばいいだけだろ?
金出して教えを請うたりしたところで、大した違いはない
各種選択肢の中から結局自分で解決方法を選ぶことになるんだから

金出せば簡単にすむと思ってる輩には難しいのかもしれないけど、
自分でやろうとする気のないのは何やってもだめなんだよ
2020/11/26(木) 20:48:24.82ID:nrM3g88W
>>618
論点がズレてるから絡まなくてよい。
読書はよい、このように思考がバグってる奴の相手をしなくてすむからな。洗練された筆者と時空を超えて対話するツールである。
2020/11/26(木) 20:52:28.72ID:4zwvuqDK
>>619
賢者モード 乙
2020/11/26(木) 21:55:47.46ID:H5c28v3A
自身がバグっていないと証明することは不完全性定理により不可能なんだっけ

賢い俺らは自身と外界の両方から情報を得てアップデートしていこうな!
2020/11/26(木) 22:02:03.50ID:BC4iA6x5
>>619
高校生が背伸びして難しいことを言ってみたという感じかな?
623デフォルトの名無しさん
垢版 |
2020/11/26(木) 22:40:02.36ID:NeNbHCSj
>>614
paizaってスキルチェックなんかもあったんだ…知らなかったなぁ…ありがとナス!
2020/11/26(木) 22:56:41.34ID:nrM3g88W
>>622
いいえ、アラフォーです
2020/11/27(金) 13:46:54.91ID:m0c4MBXJ
>>619
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
> 洗練された筆者と時空を超えて対話するツールである。
( ( ( ( ( (゚∀゚) ) ) ) ) )ユンユンユーン
626588
垢版 |
2020/11/28(土) 12:23:46.13ID:bhBilOI2
この本コメントの書き方が載ってない… 信じられない…

まあ#で書くって知ってはいるけど
2020/11/28(土) 18:52:16.51ID:duaGF17R
>>611
他の言語に比べると入門書の質が悪すぎると思う
2020/11/28(土) 21:20:00.04ID:wikslLsj
>>627
わかる
質の低い入門書が量産されるのは
公式ドキュメントの質が低いから
2020/11/28(土) 21:25:27.00ID:7MYLw5P/
マジか…Pythonは初心者にも分かりやすいって聞いて始めたんだけど…
630デフォルトの名無しさん
垢版 |
2020/11/28(土) 21:27:25.17ID:73Gx5wYa
純粋の母数の問題じゃねえか?
スタージョンの法則で90%はゴミ、
ただし業界のピラミッドがでかけりゃデカいほどクズ本は巷に溢れる
Haskell本の少なさを見てみろ

ネコも杓子もpython入門書を書いてる、
圧倒的なまでに量産されてる、
それが原因だ
2020/11/28(土) 21:28:57.39ID:Qx/oNDgY
プログラミング自体の初心者が多いので、
畢竟、入門書もプログラミング自体の基礎から始める必要があるんじゃないかねぇ
2020/11/28(土) 21:32:14.00ID:mMC1knSV
>>629
わかりやすいぞ
これほどわかりやすい言語は他にない
C・Java・JavaScript・Ruby・Go…これらの言語に挫折してきた俺がPythonだけは覚えられたからな
2020/11/28(土) 22:26:16.41ID:FGpMIdZG
「みんなのPython」など、多くの本の質が低下した

なぜ、文法が減ったかと言うと、
Jupyter Notebook, Pandas など、ライブラリの説明が増えたから

一方、Ruby では「たのしいRuby」1冊で、十分に文法が説明されている
634633
垢版 |
2020/11/28(土) 22:36:37.55ID:FGpMIdZG
YouTube で有名な雑食系エンジニア・KENTA は、
初心者が進む道を、サーバー側言語のRuby → Go を王道としてる

この2つ以外は、出てこない

最初に、Python, PHP を学べとは、絶対に言わない。
将来的に、Pythonをやりたいからと言って、Pythonから始めてはいけないって言ってる

つまり小学生が将来、大学へ行きたいからと言って、
いきなり大学の試験勉強から始めてはいけない

小学生は、小学生の勉強から始めなければならない。
次に中学生になれば、中学生の勉強をする。
そして高校生の勉強をする

つまり、勉強の順番が大切
2020/11/28(土) 22:55:57.26ID:9//L8RlG
>>630
母数警察です👮🚓
母数は分母のことではありません
統計用語としてのparametersの訳です
詳しくはwikipediaなどを引いてみてください
2020/11/28(土) 23:25:18.30ID:bhBilOI2
>>634
ま た お 前 か
2020/11/29(日) 03:06:12.24ID:9kWt1Kcb
でたルビおじw
2020/11/29(日) 10:04:01.50ID:GnQH3nQR
Python で デスクトップアプリwwww
とか言われてるの見て、違うんかなと思ってたけど、最近OKINI の MyPaint ってソフトのGITHUB みたらほぼ Python で書かれてたわ
ちゃんと快適に動作するんやね
PyQt とか、PyGTK とか、 Native Library をゴリゴリによんでるっぽいが、それが楽なのは良いよね
639デフォルトの名無しさん
垢版 |
2020/11/29(日) 14:49:24.35ID:EaJiwQmK
>>623
paizaスキルチェックは答えを公開してはいけない規約のせいで良いコードが見れない。
paizaスキルチェックはスキルを伸ばし終えた人が就職のためにやるものだと思う。

スキルを伸ばしたいならCheckiOで冒険するのがベストだゾ
https://checkio.org/

checkioでは問題を解いた後、Best Solutionsで他の人が書いたコードで高評価が多かったものが見れる。
そういうのを読んでいけばスキルが向上していくと思うわ。
640デフォルトの名無しさん
垢版 |
2020/11/29(日) 15:42:13.31ID:nZSW4pQM
じゃあ最初からいいモノだけを見せて純粋培養すればもっと効率よくなるじゃん
自分で解くだけ時間の無駄じゃん
2020/11/29(日) 16:31:12.91ID:krdYa2S6
インプットとアウトプットは別物だからなぁ
2020/11/29(日) 17:49:42.57ID:yRBxHDUY
AtCoderでいいかな
643デフォルトの名無しさん
垢版 |
2020/11/29(日) 17:59:19.66ID:QDwVKtUj
>>610
<5分で始めるクリップボードにコピーしたテキストを検索>
退屈なことはPythonにやらせよう編

#! python
import webbrowser, sys, pyperclip
if len(sys.argv) > 1:
# この下の1行は半角スペース4個分あけてから書く(半角スペースを開けなかった時のエラーメッセージは"IndentationError: expected an indented block")
keyword = ' '.join(sys.argv[1:])
else:
# この下の1行は半角スペース4個分あけてから書く
keyword = pyperclip.paste()
# ttpsをhttpsに変更して使ってね
webbrowser.open("ttps://www.deepl.com/translator#xx/ja/" + keyword)
webbrowser.open("ttps://stackoverflow.com/search?q=" + keyword)
webbrowser.open("ttps://qiita.com/search?q=" + keyword + "&sort=like")
webbrowser.open("ttps://teratail.com/search?q=" + keyword)
webbrowser.open("ttps://www.google.com/search?q=" + keyword)
# ttps://duckduckgo.com/bang_lite.html

# Automate the Boring Stuff with Python > Chapter 11 – Web Scraping > Step 3: Handle the Clipboard Content and Launch the Browser
# ttps://automatetheboringstuff.com/chapter11/
# RUNNING PROGRAMS
# ttps://automatetheboringstuff.com/2e/appendixb/
# 翻訳版:退屈なことはPythonにやらせよう ――ノンプログラマーにもできる自動化処理プログラミング Al Sweigart 著、相川 愛三 訳
644デフォルトの名無しさん
垢版 |
2020/11/30(月) 12:39:15.63ID:79yVLdeW
Tweepyで3-leggedOAuth認証とAccessToken,AccessTokenSecretの取得方法教えて
2020/11/30(月) 14:02:35.50ID:wCS2S4dQ
押忍
iniファイルの読み出しに付いて教えてほしいです

URLをブラウザからコピーするとURLエンコードされた状態でコピーされます
これをそのままiniファイルに貼り付けると、configparserで読み出すときにエラーになってしまいます

[example]
url = https://example.com/%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
ini['example']['url']
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 1255, in __getitem__
return self._parser.get(self._name, key)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 799, in get
return self._interpolation.before_get(self, section, option, value,
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 395, in before_get
self._interpolate_some(parser, option, L, value, section, defaults, 1)
File "C:\Users\Mercury\AppData\Local\Programs\Python\Python38\lib\configparser.py", line 442, in _interpolate_some
raise InterpolationSyntaxError(
configparser.InterpolationSyntaxError: '%' must be followed by '%' or '(', found: '%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A/abcdefg/'


今は仕方なく適当なサイトでURLデコードして貼り付けてますが、結構な手間です
手間かけずに巧くやる方法はないでしょうか

ちなみにデコードすると以下になります
https://example.com/あいうえお/abcdefg/
2020/11/30(月) 14:06:29.94ID:mKaKPR0T
>>645
つurllib.parse.unquote()
647デフォルトの名無しさん
垢版 |
2020/11/30(月) 16:21:12.97ID:lAYyI3JE
>>645
config = configparser.ConfigParser(interpolation=None)

https://stackoverflow.com/questions/14340366/configparser-and-string-with/62592195#62592195
https://docs.python.org/ja/3/library/configparser.html#interpolation-of-values
2020/11/30(月) 18:40:04.84ID:wCS2S4dQ
>>647
うぉぉぉ出来たぁぁぁぁ
こんどケツ貸すヨ
2020/12/03(木) 22:55:54.00ID:KIgHVg2T
とあるサイトでrequests.postでうまく投稿ができない

ポストすると
投稿成功のときは”投稿に成功しました”
投稿内容が不正だったときは”投稿内容を確認してください”
というhtmlが返ってくる
pythonのrequestsから投稿するとこの”投稿内容を確認してください”が返ってくる

ブラウザ側でも試したところクッキーを消したときにだけ同じ投稿ミスになることは確定だが
”投稿に失敗しました”ではなく”投稿内容を確認してください”というエラー表示に糸口がありそうな気がする
s = requests.Session()でs.post()とやってみたけどやはりポスト内容が反映されていない
headersつけたりもしたけど同じ
ブラウザからajaxでの投稿には成功
パラメータを.encode("utf-8")したり
dataにjson.dumpsでやってもだめだった

他のサイトでは大抵sessionの問題だけで普通にrequests.postでできるけど
そのサイトではなぜか上で書いたようにいろいろやってもことごとく投稿ミスする
曖昧な情報しかだせないけど、他に考えられる要因があれば教えてください
どうせcookie周りの問題だと思うけどsession.cookiesで確認した内容と
ブラウザで確認したcookieにそう変わり無かったしお手上げ状態
2020/12/03(木) 23:23:43.14ID:XMGdMuHX
>>649
フォームでノンス入ってんじゃないの?
2020/12/03(木) 23:39:07.22ID:Glofd6fS
>>649
1. Chrome -> デベロッパーツール -> ネットワークタブを開いて成功するリクエストを投げる
2. ネットワークタブから該当のPOSTリクエストをCopy as cURLでコピる
3. ターミナルにペーストしてcURL使ってPOSTリクエストを投げる
(5chみたいに重複ではじかれる仕組みがあるならリクエスト内容を変えること)

まずはこれで切り分け
cURLでもリクエストが成功するなら
その内容を徐々に削っていけば最小限必要なものが何か分かる

でそれをpythonに実装する
2020/12/03(木) 23:44:55.74ID:KIgHVg2T
>>650-651
パラメータは成功したものをそのコンソールでコピペしてるからタイプミスはないとして
そのパラメータも簡単で、idとnameとcommentとnonce(3文字の数字)だけだった
(リダイレクトもないタイプだったのでpreserve logする必要もなかった)
そのnonceに対応する値もパラメータには無かった
簡略して書くと文字通りこんな感じのパラメータをポストしてるだけだった
prm = {"id":"id","name":"name","comment":"comment","nonce":"123"}
(もちろん重複エラーを出されないようにポストするときにはポスト内容を変えて何回もテストしてる)
数字認証にもタイムアウトがあると思って、ブラウザでサイト開いて数字をメモしてpython側で投稿テストした

書いてて思ったけど、もしかするとその数字認証の数字発行のタイミングとセッションに関係性があるのかもしれない
(発行された数値から作られたcookieを使う必要?)ので
それで試してみるd
2020/12/04(金) 00:11:56.59ID:V5csDP6P
>>652
Copy as cURLでCookie含むヘッダーも全部コピってくれる
パラメータだけじゃなく一連のHTTPのリクエスト/レスポンスを見るようにしないと原因わからないよ
2020/12/04(金) 00:55:14.15ID:mbGy2PTH
>>653
すまn書き忘れたがそれでコピーしたヘッダーとかポストパラメータを整えて
まずajaxで投稿成功したものを、pythonにて(header設定の有無など)投稿テストしてる


とりあえず解決した
(python側のセッションと依存関係のない)ブラウザで開いた問題のサイトを開いて得た認証数字とcookieを使って
python側のrequestsでそのcookieを設定しつつその認証数字をpostしたところ
投稿に成功した
どうやらcookieと数字認証を紐づけしてセッションとして扱うという
そのサイトの仕様だったっぽい
ありやした
2020/12/04(金) 03:07:55.96ID:2+VKdPy1
opencvのセットアップ本当にめんどくさくてワロタwww
散々漁った挙げ句ビルドツール揃えてgtkフラグ立てて自分でビルドしろとかなんじゃそりゃwwww
2020/12/04(金) 08:25:51.51ID:hUNPjPlE
>>655
pip install opencv-python
でできない?
2020/12/04(金) 09:52:22.67ID:AvYQsRML
cmakeとかlibなんちゃらみたいなのが入ってないとpipで入らない
2020/12/04(金) 11:36:09.84ID:J43e5p8N
3.5サポート終了か

3.6終了されるとヤバいんだよなあ
深層学習の色んなモジュールで安定してるのが全部ダメになる
2020/12/04(金) 12:12:28.38ID:QkN7upSm
>>655
これ走らせるだけだぞ
https://git.io/JIYVn
2020/12/04(金) 18:19:21.77ID:huRYsfdX
Pythonは3.3のyield fromで完成した
それ以降はどうでもいい機能追加ばかりで言語の簡潔さが損なわれる一方だ
2020/12/04(金) 18:36:46.19ID:cMvL3wzj
>>660
お前f-string使うの禁止な
2020/12/04(金) 18:41:31.28ID:AvYQsRML
>>660
type hints使うなよな
2020/12/04(金) 18:57:25.08ID:0C1YXDY5
趣味レベルでしかプログラミングしないから遅延評価?とかジェネレーター?って使ったことないわ
使いみちがイマイチ思い浮かばないんだけど何に使ってんの?
2020/12/04(金) 21:48:57.69ID:vKhGRfH5
>>663
ジェネレーターはメモリ節約以外で使わんなぁ
2020/12/05(土) 03:39:12.78ID:qj4AFT3z
遅延評価って、lazy getter みたいなのかと思ったら、yield のことか
2020/12/05(土) 06:15:08.82ID:FCSL7Haz
ジェネレータは動作テストなんかで簡易的なステップ実行をさせる時に便利
コマンドラインでnext()を打つたびに一個ずつデータが返ってくるから
2020/12/05(土) 10:13:37.67ID:gZAhFzLL
デバッガでステップ実行中すればいいだろ
わざわざコード書くのかw
668デフォルトの名無しさん
垢版 |
2020/12/05(土) 12:40:24.70ID:Na39OKS5
ブログ書いてたら彼女と無料で海外留学という名のデートに行けた話【影響力やばい】
https://www.youtube.com/watch?v=Y8Q1z3Mi7BQ
若いうちから人を雇ったり、任せるクセをつけるべき理由とは?
https://www.youtube.com/watch?v=6yAvDQxhldI
【対談】インフルエンサーマーケティングに300万円突っ込んでみた結果...
https://www.youtube.com/watch?v=AMjWD0F8PLQ
収入を上げたければ、自分の影分身を作るべし
https://www.youtube.com/watch?v=V3Kc-lUxH88
勉強のために10日間で21個のアプリを作った話【初心者時のプログラミング学習】
https://www.youtube.com/watch?v=JkN5kmR9dgk
学校では教えてくれないことの中にはお宝が眠っている
https://www.youtube.com/watch?v=oq92u9nJ7FY
ブロガーからステップアップしていくために必要なスキル
https://www.youtube.com/watch?v=F6qsOyRIaQE
2020/12/05(土) 13:28:53.84ID:ZDhFj9p4
今オブジェクト指向勉強してるんですが
同一クラスの中で関数の継承って出来ないんですか?
抽象化した関数を1つ定義してそこから継承して微妙に役割の違う関数をいくつか生やしたいんですが

class Hoge():
def abstract():
def concrete1(abstract):
def concrete2(abstract):
2020/12/05(土) 13:34:53.57ID:v7lcL9sk
できない
関数の継承っていうのがよくわからない
2020/12/05(土) 13:42:39.17ID:ZDhFj9p4
なるほど
それでは大本の処理は同じで細部だけが異なる関数を定義したい場合ってどう書けば良いんですか?
関数ごとに抽象クラス継承した新しいクラス定義するしか無いんですかね?
2020/12/05(土) 13:45:09.96ID:En2ZUb0e
>>669
そういう時は関数を受け取る関数を1つ定義して
微妙に違う部分を引数として渡すことが多い
2020/12/05(土) 13:46:47.29ID:3OUqO/Qz
Ruby では、lazy を付ければ無限配列も扱える

最初に、無限配列を実体化しない。
必要な所までしか演算しない

p ( 1..Float::INFINITY ).lazy.select{ |n| n.even? }.first( 3 )

出力
[2, 4, 6]
2020/12/05(土) 14:28:45.82ID:IToZisS4
結局実装はイテレーター使うようなもんだろ。。そんなクソ機能どうでもええわ
2020/12/05(土) 15:04:02.90ID:2CGyf7zj
>>672横レスだが
簡潔にして要点をおさえてるすばらしいレスage
2020/12/05(土) 16:42:25.74ID:En2ZUb0e
>>674
そんなどうでもいいクソ機能はPythonにもあるんですけど・・・
677デフォルトの名無しさん
垢版 |
2020/12/05(土) 17:20:49.97ID:gZAhFzLL
>>674横レスだが
簡潔にして要点をおさえてるすばらしいレスage
2020/12/05(土) 18:10:26.12ID:2n9rdHeb
関数を受け取ってちょっと処理をつけ足したり変更したりした
新しい関数を返すのって、それデコレータって機能の出番じゃないかな
勉強始めたけどちょっと難しくて一時挫折中の機能だわ
2020/12/06(日) 11:47:20.63ID:Ki7zJHSL
>>678
デコレータは既存の関数を包む形で別の機能を追加するものなので意図がちょっと違う
メソッド横断的に共通して利用する機能を実装するときに使うのが一般的

@log(level=ERROR)
def foobar():

>>672はデザインパターンで言うテンプレートメソッドを高階関数で実装するやり方
2020/12/06(日) 12:52:46.51ID:jZtFYDuX
筋がいいか分からんがメソッド名で引数調整するとか?

def func_core(self,format)
# 処理

def func_csv(self,*args,**kwargs)
kwargs['format']='csv'
self.func_core(*args,**kwargs)
2020/12/06(日) 18:07:14.38ID:boBfQzjD
# get image pixel count using opencv
imgCV = cv2.imread(file_name)
height, width, channel = imgCV.shape

height, width, channel = imgCV.shape
AttributeError: 'NoneType' object has no attribute 'shape'

となるんですが、なんでだろう?
前はこのコードで動いていたように思うのですが・・・
2020/12/06(日) 18:12:46.84ID:mEKOV6LG
>>681
まず1嫁
683デフォルトの名無しさん
垢版 |
2020/12/06(日) 19:14:40.59ID:SvaTNPrC
画像読み込みに失敗してる
たから、imgCVにNoneが入っている
684デフォルトの名無しさん
垢版 |
2020/12/06(日) 22:17:30.03ID:cg3234iv
python 3.7.9
win10
bs4
requests

データ収集中に発生した問題につきお答えいただければ幸いです

<span class =“calcHEADas1”>40</span>

上のようなspanという要素に囲まれた40というテキストがあります。そして下に書かれたものを実行すると空文字が返ってきてしまいました。確かに40というテキストはあるのになぜ空文字が返ってくるのでしょうか。同じ境遇の方いらっしゃいましたら是非知恵を貸していただきたいです。

s = soup.select_one('span[class="calcHEADas1"]')
print(span.text)
2020/12/06(日) 22:36:23.87ID:mEKOV6LG
>>684
よくみてみそ
「"」と「“」と「”」は違う
2020/12/06(日) 22:44:06.26ID:Ki7zJHSL
>>684
spanの後ろにスペース入れて[class=…]としてるから
spanより下位の要素でクラス名が’calcHEADas1’のものを探しにいってる

span要素のクラス名ならスペースを入れちゃだめ
CSSのルール
687デフォルトの名無しさん
垢版 |
2020/12/06(日) 22:49:17.73ID:cg3234iv
>>685
>>686

お二人方のご指摘通りでした。
恥ずかしい限りです…! 3年くらい勉強してまいります!!
勇気が出ました
2020/12/07(月) 07:04:38.96ID:IkSRrVfT
解決報告乙
がんがれー
2020/12/07(月) 13:08:18.23ID:LDzktyL7
全角文字が混じっているだろ。
半角英数字以外はダメ!

Ruby では、

require 'nokogiri'

doc = Nokogiri::HTML(<<EOT)
<span>xyz</span>
<span class="abc">あいう</span>
EOT

elements = doc.css( 'span[class="abc"]' )
puts elements.first.content #=> あいう
2020/12/07(月) 16:08:47.46ID:ezb7MAV6
>>689
死ねキチガイ
2020/12/07(月) 17:17:34.51ID:eJ2ObSAu
>>689
ニシキヘビに食われればいいんだ
2020/12/07(月) 19:06:04.12ID:kUJZ7+dL
今loggingとtqdmで表示がぐちゃぐちゃになるから困ってて
調べたらカスタムハンドラー使えって出てきたんだけど
logging.confでcustom handlerを実装する方法ってあるのかな?

https://stackoverflow.com/questions/5346661/
2020/12/08(火) 12:58:50.73ID:QO/1LqBg
ファイルパスのデータ列のデリミタは何が適切ですか?
カンマはファイル名に入力出来るからダメだし
コロンはドライブ名称にくっついてるからダメだし

ひとまず半角アスタリスクとかクエスチョンマークで妥協してますけどこれでいいんですかね?

パス1*パス2*...*パスn
のような感じです今
694デフォルトの名無しさん
垢版 |
2020/12/08(火) 13:10:57.97ID:qUjj4bQw
ワイルドカードと被るやん
セミコロンでよくね?
2020/12/08(火) 14:02:18.54ID:lZ/QPFbs
unix系ではほんとの文字がファイル名に使えてしまうし
プラットフォーム依存したくないのなら何らかのエスケープした上で適当なデリミタ使えばいいんじゃね?
2020/12/08(火) 14:33:43.81ID:CDSUfSjl
>>693
JSONやCSVなど適当なシリアライズフォーマットを選んで配列をシリアライズしましょう
単純な用途にオレオレフォーマットを再発明しても誰も得しないよ
2020/12/08(火) 14:39:55.69ID:Xg+JZs6m
普通に、CSV で、カンマ区切りで良い

要素内に、列区切り文字(カンマ)・行区切り文字(改行)・クォート文字(")があれば、
クォート文字で囲まれるだけ

あ,"a,b"
いう, xy

ファイルに、: ; * などを使うと、バグる。
ハイフン・アンダーバーだけにしておくべき
698デフォルトの名無しさん
垢版 |
2020/12/08(火) 14:53:31.44ID:O6ovwbXJ
タブ区切りのTSVでいいんじゃないか
そもそも一行に繋げて書く意味あるのか
そしてここは5chなんで正式なデリミタは<>だ
2020/12/08(火) 18:55:43.08ID:lpLUbgnY
>>693
普通にCSVでカンマかTSV(タブ区切り)でええやろ
別にファイル名にカンマが混じっててもエスケープするなり

むしろアスタリスクとか変なもん混ぜると後でくそっそ面倒だぞ
(アスタリスクなんて正規表現のワイルドカードと被るから、絶対に揉める)
2020/12/09(水) 00:11:56.51ID:f0tiUfmU
質問です

統合開発環境を使うのと、
テキストエディタ+コマンドプロンプトで作業するのとでは
どちらが良いでしょうか?
2020/12/09(水) 00:36:04.09ID:XzWvmoKM
>>700
目的、好み、能力などでどちらがよいかは人それぞれ

ただコマンドプロンプトという書き方をしてるところを見ると
IDEを使ったほうがよさそうに思える
2020/12/09(水) 01:10:02.17ID:/cMUVFNS
Python入門者ってわけじゃないならPyCharmが開発しやすい
とりあえずやってみたいって感じならAnacondaでJypyterNotebook
VSCodeでやりたいならVSCode
2020/12/09(水) 01:26:35.17ID:jODQKuwy
I Don't Like Notebooks (by Joel Grus)
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/
2020/12/09(水) 08:10:15.18ID:psoc2su5
プログラミング完全初心者で、初めて学ぶ言語がpythonです。pycharmを使って勉強しています。
指定された任意の時間で動作するプログラム(アラームのようなもの)を作っており、自分のPCでは期待通り動く状態まで持っていくことが出来ました。
これをネット上で公開して不特定多数の人に使ってみてもらいたいと思うのですが、ここから先何を勉強・用意すれば良いのかアドバイス頂けると幸いです。
今一番わからないのは「pythonで書いたプログラムをどうやってweb上で動かすのか」という点です。

その他のポイントとしては
・プロのエンジニアを目指しているわけではないが、ニッチな需要に応える簡素なサービスを作ってみたい
・xserverを使ってwordpressでブログを公開しているが、同じサーバーにこのプログラムを置けるのか?
・FlaskとかDjangoを使うべきなのか

以上、よろしくおねがいします。
2020/12/09(水) 08:30:00.61ID:aEFgnzx2
693
皆さんありがとう
そっかタブとかもあるのかあ・・
2020/12/09(水) 12:26:26.93ID:7lJYNuqP
>>704
ウェブサーバの知識が必要かな
王道なのはapacheかnginxだけど、pythonだけなら
python -m http.server
でウェブサーバになるから、そこに肉付けしていけばいい
2020/12/09(水) 12:41:15.63ID:rIU0lDlE
中華からの謎の大量アクセスで一撃で落ちるけどな
2020/12/09(水) 12:51:57.91ID:/MUc+cdS
>>704
鯖マシンにPythonをインスコするor最初からPython動くよっていってるレンタル鯖をかりる

やればぁー
置ける 704の設定次第
使えばぁー
2020/12/09(水) 15:06:10.60ID:y7KEYUhD
ベンチャーでは、AWS, Ruby on Rails が多い

AWS Lambda, Batch などのサーバーレスとか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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