Pythonのお勉強 Part60

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/04/30(火) 08:34:23.34ID:sH/UeeJ6
★当スレにRubyのソースコード類を書くことを禁ず★
☆Ruby等、Pythonではないプログラミング言語での回答類を書くのも禁止
☆「Ruby では」「Rubyでは」をNGワード登録推奨

◆エラーを解決したいときはエラー表示と
 環境(Pythonのバージョン・OS・IDEの種類とバージョン)をシッカリ書く

◆Pythonのソースコードを5ちゃんにコピペするとインデントが崩れるので
  ↓にあげてるような、ソースコード用サイトに貼ってきてくだしあ
    (スクリーンショットを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のお勉強 Part59
http://mevius.5ch.net/test/read.cgi/tech/1552194662/

次スレの建立は>>985が挑戦する
2019/05/02(木) 23:31:24.22ID:Kaz17+fm
>>56 自動運転系の仕事が沢山あるだろ。
2019/05/03(金) 08:09:33.41ID:pt9KmcCZ
python初心者ですが、
Excelからpythonへ文字列を渡し、ある処理の後に文字列をExcelに戻すことを考えています。
pythonへ渡すこと自体はできました。
---vba start---
dim str as string
str = "C"
dim result as string
result = shell("python opyopy.py"+str) 'WScript.Shellも試したよ
debug.print result
--- vba end ---
加工した文字列をexcelに戻す部分が調べても基礎が無いためか、動作するプログラムが作成できません。
数値しか返ってこない。
sysの場合、pythonは正常値0、それ以外は異常値として返すそうですが、
そもそも文字列を返すことはできるんでしょうか?
2019/05/03(金) 08:13:51.92ID:wEPfv8zd
>>60
"基礎が無いためか、動作するプログラムが作成できません。"

基礎からやれよ急がば回れ!
2019/05/03(金) 08:13:59.11ID:98hF1oLD
標準出力を使えばできるがお勧めしない
ExcelとやりとりしたいならCSVファイルを介するのが鉄板
2019/05/03(金) 08:24:30.29ID:pt9KmcCZ
>>61
もう一度、基礎からやり直してきます。

>>62
csv!!これなら、データを一括処理かつexcelとデータやりとりできます。

ありがとうございます!
2019/05/03(金) 08:56:40.53ID:jsJUV3Wl
>>63 一括処理するんならわざわざVBAなんか使わない方が楽だよね。

OpenPyXL Python から直接Excelシートの操作
又は
xlwings VBAマクロとしてPython を呼ぶ。VBAそのものをPython に置き換えたような使い方。遅い。(PyXLL も有るが有料)
他にもいろんな方法があるけど。

CSV 垂れ流しだと整形の手間が入る。
2019/05/03(金) 09:26:40.10ID:g3uSKodP
>>58
実績があれば学歴がなくても仕事は来るよ
学歴なしで実績を積むのがものすごく大変だけど
2019/05/03(金) 09:35:52.78ID:pt9KmcCZ
>>64
実はホストコンピュータへoleインターフェイス経由でデータ取得するvbaを組んでいます。
そのため、excelを前提にテキストデータのやりとりを考えていました。
(周囲が無識者なので、excel形式だと何かと他担当とのやりとりが楽なのです)

正直、wxpythonよりpyinstallerでアプリ化して、各担当がそれぞれデータ出力できるものをpythonで考えています。

ライブラリ教えていただきありがとうございます。
2019/05/03(金) 09:53:34.14ID:jsJUV3Wl
>>66 どんな社内システムがわからないから的外れかもしれないけど、自分ならサーバを立ててそこで全ての処理をして画面表示してみせる。
必要ならEXCEL 或いはCSV でダウンロードさせる。
これならクライアント側に特別なプログラムはいらないし、いちいちpyinstaller でexeを作る必要もない。
スマホやiPad でも利用出来る。
2019/05/03(金) 09:59:04.39ID:gAc7ekL8
クライアントにPython配るのは絶対やりたくないな
保守が悪夢
2019/05/03(金) 10:42:27.10ID:ymx7jYTc
python使ってどれくらい経ちますか?
2019/05/03(金) 13:04:47.51ID:uFwkPHb4
>>69
3年
2019/05/03(金) 13:06:34.72ID:uFwkPHb4
>>68
ソース丸見えだから?
2019/05/03(金) 13:10:43.99ID:pt9KmcCZ
>>67
お堅い環境なので、手続きが大変なのです。(そこまでやりたくない)
RPA連呼する、それを導入すればなんでもできると考える職場なので・・・。
お察しください。

>>68
exeの皮を被ったpythonさん・・・
最低限の面倒は見るけど、横暴故、極力保守しないように仕向けてます。
(逃げの姿勢じゃないんだからね!)

>>69
python自体は1か月ぐらいかな。このGWで一気に追い上げたような感じですね。
なお、職業プログラマじゃなくて、一般事務のおっさんである。
2019/05/03(金) 13:41:12.41ID:L8bdg7Rt
>>71 それもあるが、クライアントの環境によっては動かなくなったり、お守りが大変だからだろ。
いくらpyinstaller でガードしてもママっこOSのわがままには勝てないことがある。

>>72 わからないでも無いが、事務屋のおっさんには荷が重いかもしれないね。
RPAサーバーを業者が触らせないのかもしれないが、ただHTTPサーバの一部を使わせろと言うだけだからそんなに難しい話じゃ無いと思うけどな。 自分がメリットデメリットを理解できれば説得できるはず。
社内を説得できれば業者は従うはず。

将来を考えたらサーバー型にすべき。
事務屋としてはVBAの延長でPython を考えたいんだろうけど、
Excel VBA Windows は、Microsoft 純正でそこに多少の凸凹の行き違いがあっても短期間に責任を持って収集してくれるが、
Python との相性問題が出ても知らんぷりだから全部の責任を自分が被らないといけなくなるんだよ。
そんな危険は犯したく無いのがシステム屋。
また、pyinstaller でバージョンを固定しても将来のWindows のバージョンで動く保証はどこにもなく永遠に保守をし続けないといけなくなる。

社内を説得するための材料としてはモノタロウのケースを勉強してみたら?

自分はPython は今年に入ってから触り始めたけど、コンピュータは半世紀やってきたからシステムの問題には自信を持って言える。

ステップバイステップでやっていくのも1つの手段。 しかし将来像を頭に描いているかどうかで全体が大きく変わってくるよ。
2019/05/03(金) 13:51:18.51ID:L8bdg7Rt
試しに、自分のマシンでサーバーを立ち上げて社内LAN に繋がってるPCに使わせて見るという実験も良いかもしれない。
自分の勉強にもなるし。 Python で簡単にサーバーを立ち上げられるよ。
これだと社内全体を説得する必要はないし、LAN拠点毎に1つだけサーバーを立ち上げておけば良いし。
2019/05/03(金) 13:58:08.66ID:uFwkPHb4
>>73
文章長い人はPython向きじゃないな
2019/05/03(金) 14:24:44.06ID:Ul59Rvin
将来を考えたら google sheet 一択だろう
2019/05/03(金) 15:16:43.62ID:0Tydj9mo
一度運用に載せたら素人でも保守拡張できる程度に
最初に作り込まないと後が悲惨
78デフォルトの名無しさん
垢版 |
2019/05/03(金) 15:24:29.56ID:2qTilC2k
何をやりたいのかよくわからんが、

(1)クライアントPCから処理対象のexcelファイルをサーバのinputフォルダに置く
(2)サーバはinputフォルダを監視し、新しいファイルが来たらworkフォルダに移動して処理する
(3)サーバは必要であればoutputフォルダに処理結果のexcelファイルを置く

みたいな作りにしておいた方が後々苦労しなくて済むような気がする。
サーバはPandasライブラリ等を使えばexcelファイルを操作できるし。
79デフォルトの名無しさん
垢版 |
2019/05/03(金) 15:30:48.32ID:3Vz/qKoh
oleならwin32com.clientでええやん
VBAいらんで
2019/05/03(金) 16:55:17.14ID:pt9KmcCZ
>>73 >>74
貴重なご意見ありがとうございます。
また、モノタロウ?と思って調べてみました。こんなサイトもあるんですね。

http.server、ローカル環境が簡単に構築できそう。勉強になります。

>>79
はい、チェックはしています。試してないけど。

さて、単純な業務ツールをいろいろ作っている身として、あまり複雑なことはやりたくない。
抱えるのも辛いけど、属人化が一番嫌だから。
さっさと時代遅れの機械なんてさっさと無くして、サーバーを新規に構築してほしいですね。
予算が無いとか言いつつ、くらだん備品類で予算消化とか、他に金かける部分あるだろ!と思う今日この頃でした。
予算決定プロセス上仕方がないが。

お粗末さまでした。
2019/05/03(金) 17:45:15.23ID:iE5UbyHC
初心者だけど、rubyよりpythonの方がいいのかな?
2019/05/03(金) 17:55:35.15ID:hGfYoPM2
一番のカスはrubyとselfに過剰反応する奴
スルーシロヤ
83デフォルトの名無しさん
垢版 |
2019/05/03(金) 18:02:16.50ID:taX/i1G/

こいつカス
2019/05/03(金) 18:03:59.95ID:hGfYoPM2
誤爆した
2019/05/03(金) 18:21:26.99ID:1vSUmwo4
>>81
あなたが集団の同質性を重んじる典型的な日本人タイプなら、国内ではRubyの方が居心地がいいと思う
Pythonは高学歴同士が各々の専門知識を振りかざしてマウントを取り合う文化があるから一匹狼タイプ向け
2019/05/03(金) 18:23:27.75ID:5yeb5qFn
>>81
初学者にとってどちらが良いかは
・本人の目的
・将来性
・言語としての癖
を考えて決めれば良いと思うよ

言語としての機能はよく似てるけど立ち位置は随分と違う
今のところRubyはWeb系に強くPythonは分析や機械学習に強い
将来性についてはPythonかな、Web系は競合する言語が多い
言語として癖がないのはPythonで、Rubyは自由度が大きく拡張性も高い分、考えることが一つ多い
2019/05/03(金) 18:35:19.04ID:iE5UbyHC
>>85,86
サンクス。俺はCとJavaをかじった程度だけどCは古いしJavaはコンパイラが商用有料化するみたいなので簡単そうなRubyやPythonに興味が出てきたってわけ。
言語がいっぱいありすぎてどれにすればいいのか迷う
2019/05/03(金) 18:40:23.88ID:ymx7jYTc
>>85
わろた
2019/05/03(金) 18:48:44.44ID:L8bdg7Rt
流石にもうRubyやperlは忘れて良いだろ。 日本だけ少し永らえてたが既に世界からは忘れ去られようとしてる。
Python3 になってからはRubyの出番はない。

「The 2018 Top Programming Languages - IEEE Spectrum Ranking」
https://news.mynavi.jp/article/20180806-674740/
1. python
13. ruby
2019/05/03(金) 18:59:28.47ID:Mu7G7jjV
perl忘れたら、make出来なくなるよ
2019/05/03(金) 19:11:56.24ID:L8bdg7Rt
今生きてるのまで死ねとは言っていない。
新たに勉強する言語としては忘れて良いんじゃないのという意味。
2019/05/04(土) 00:31:01.80ID:eVWbARiE
一時期Ruby好きでメインで使ってたけど、もう二度と書くことはないだろうなって思う
2019/05/04(土) 02:54:05.63ID:rM1STB6K
朝鮮人なんてリアル社会人なら口に出せない筈の差別用語
社会常識をわきまえないネトウヨ的脳内PGがいるようだ
2019/05/04(土) 02:54:52.85ID:KBbEKpYD
PythonでWindowsのGUIが自動化出来るなんて話をよく聞くんだが
作者が行方不明のUWSCみたいに使えるんかこれ
代替に使えるんなら覚えてみるかな
2019/05/04(土) 05:37:33.76ID:u+QazaKa
>>94 PyAutoGui かな。

PyAutoGuiで繰り返し作業をPythonにやらせよう
https://qiita.com/hirohiro77/items/78e26a59c2e45a0fe4e3
できること

マウスの操作(移動/ボタン/スクロール)
キーボードの操作(テキスト入力/キー操作)
アラートウインドウの制御(通常のアプリケーションウインドウは操作無理)
イメージマッチング(bmp/jpg/pngで設定可能) ※opencv_python , pillow , Imageモジュールがあるとあいまい検索が可能
ピクセルカラー取得(特定座標または範囲の色を取得)
スクリーンショットの取得(全域/範囲)

画像認識型の自動化なので、seleniumライブラリなど別ライブラリと組み合わせを推奨。
単独だと、画像操作で何とかなるものに限る

Python + Selenium で Chrome の自動操作を一通り
https://qiita.com/memakura/items/20a02161fa7e18d8a693
ウェブの自動テストやスクレイピングで使われる技術です。
2019/05/04(土) 05:42:29.55ID:u+QazaKa
メールの自動化とかExcel の自動化とか色んなことができる。
2019/05/04(土) 07:29:54.64ID:u+QazaKa
>>80 もう一つ、Flask もチラ見しておくと良い。

簡単にブラウザベースでアプリが作れる。
自分が作ったアプリのパッケージ内にPythonが同梱されるのでユーザーにPython をインストールさせたりする手間はない。 pyinstallerも要らない。
実行させるとブラウザが立ち上がり、ブラウザの一つのタブとして実行される。

将来的にはサーバー上で実行させることもできる。
DB管理ツールの PgAdminはこれで作られている。
2019/05/04(土) 09:08:07.47ID:LJwIVFh6
ツイッターAPI使ったら
一瞬で規制された
2019/05/04(土) 13:57:18.11ID:eVWbARiE
>>98
sleep入れないと

apiごとに何分間に何回まで呼び出せるとか制限が違うから、調べて使わんといかんよ
2019/05/04(土) 14:32:39.46ID:vUC0We58
>>99
今の問題はsleepじゃないかも
去年くらいからAPIを叩くbotが軒並み繋がらなくなった
101デフォルトの名無しさん
垢版 |
2019/05/04(土) 14:42:55.81ID:tOD9kuur
python関連のツールって
バグだらけで使うのに苦労する
まじ殺意覚える

なんとか作ってもバージョンUPで
全てパー

pythonなんてイラネ
けど他に選択肢がない!
2019/05/04(土) 14:52:56.44ID:eVWbARiE
>>100
何に使ってるか分からんけど、自分はちゃんと使えてるよ

他人のアカウントで動くようなbotを提供するなら、10アカウントを超える場合は
有料の契約しないといけなかったかも
月3万円〜くらいらしい
2019/05/04(土) 14:53:23.92ID:k+B84EwL
3分間隔位でツイートしてるけどちゃんと繋がってるよ
2019/05/04(土) 15:00:08.38ID:eVIwB2YR
python の問題じゃないじゃんw
105デフォルトの名無しさん
垢版 |
2019/05/04(土) 15:22:01.33ID:Zf+/9VtM
>>101
具体的にどのツール?
2019/05/04(土) 16:01:26.35ID:YEgXwYHa
>>101
ざまあみろ
ゆっくり死んでいってね
2019/05/04(土) 21:12:27.28ID:ivT98XDJ
自分はアカウント作って手動でテストってツイートしたら即アク禁されたわ
NGワードだったのかねぇ
2019/05/05(日) 00:09:37.04ID:x93NAlVl
>>107
アク禁がどういう状況なのか分からんが、もしかしてOAuthに失敗してない?
あと、利用申請するときに利用目的とか書かされるけど適当に書きすぎてるとか?
2019/05/05(日) 00:35:50.38ID:NdndInZE
>>108
いやツイッター使ったことなかったんで
とりあえずアカウント作って一般ユーザーとしてテストってツイートしただけ
APIとか触る以前の問題
2019/05/05(日) 00:57:18.91ID:x93NAlVl
>>109
じゃぁ年齢制限にひっかかってない?
生年月日適当に設定して13歳以下とかになったりすると凍結される
あと、変なアカウントフォローしまくっても凍結される
2019/05/05(日) 01:11:53.54ID:NdndInZE
>>110
生年月日はフェイクだけど1980年にしてたから年齢制限ではないね
アカウントは作ったばっかりでフォロー等全くしてない
要は、出来立てのアカウントで内容の薄いツイートをしたことで何らかのフィルタにかかったんだと思ってる
2019/05/05(日) 02:47:13.57ID:tUOFrefg
>>111 そんなことは考えづらいな。
2019/05/05(日) 02:48:47.28ID:tUOFrefg
ブラックリストに載ってるVPN でも使ったんじゃないの?
2019/05/05(日) 02:52:32.65ID:eMsI3+wX
ここTwitter APIのフォーラムじゃないんで、調査についてはよそでやってくれると助かるよ
2019/05/05(日) 02:58:02.52ID:NdndInZE
そうそう
2019/05/05(日) 03:00:28.39ID:L5goONob
そうそう
117デフォルトの名無しさん
垢版 |
2019/05/05(日) 11:50:05.62ID:jDJFaPfq
WindowsでJupyter notebookというのを
使っています。
デバッグのときに、
ステップ実行とか関数内にはいってステップ実行
をするにはどうしたらいいでしょうか?
2019/05/05(日) 12:04:49.61ID:LZXMZ4hr
>>117
シフトエンター
2019/05/05(日) 12:05:09.17ID:TKrOuc6u
>>117
Jupyterはあくまでアドホック分析のツール
ステップインデバッグが必要になるようなことをするならVSCodeを使え
2019/05/05(日) 12:16:33.87ID:LZXMZ4hr
>>117
ごめんでデバッグは違う
121デフォルトの名無しさん
垢版 |
2019/05/05(日) 13:06:09.53ID:jDJFaPfq
>>118
>>119
>>120
ありがとうございます。
VScodeを使ってみます。
2019/05/05(日) 15:25:31.18ID:Lg7yPSQn
windowsにanaconda入れてpython使用中です
import msvcrtでputwchを使ってるんですけど、全角半角混在文字列を表示したとき、現在のカーソル位置をgetする関数ありませんか?
今は表示した文字のコードからカーソル位置を計算してますが、ちょっと面倒なので。
123デフォルトの名無しさん
垢版 |
2019/05/05(日) 16:15:39.31ID:vTdWYBgo
AllocConsole か ncurses
124デフォルトの名無しさん
垢版 |
2019/05/05(日) 18:39:16.67ID:pLuxMQOp
初めまして。win10でアナコンダ(最新)入れてスクレイピングを勉強し始めました。
本を読みながら作業をしているのですが、詰まるところがありお聞きしたいです。

コードは

(UHF=8にしてます)
import requests
import bs4
import csv
rs = requests.get('URL(仮)')
rs.raise_for_status()
sp = bs4.BeautifulSoup(rs.text.encode(rs.encoding), 'html.parser')
rcd = []

for elm in sp.select_one('#id(仮)'):
rcd.append(elm.string)

f = open('date.csv','a', newline='')
wrtr = csv.writer(f,delimiter=',')
wrtr.writerow(rcd)
f.close()

になります。
質問ですが
@ for elm in sp.select_one('#id'): の部分にfor elm in sp.select_one('#id').string: とするとエラー(AttributeError)になる。
しらべてみると二個以上ある場合?に .string は使えないとのことですが
どのようにしたらよいのか?
Acsvに落とし込むと文字化けする。上でuhf-8に指定しておりコーディングもしている。このようなときはどうすればよいのか?

教えてください。
2019/05/05(日) 18:50:49.81ID:Lg7yPSQn
自己解決
unicodedataをimportして
east_asian_width() を使う方が簡単ですね
失礼しました
126デフォルトの名無しさん
垢版 |
2019/05/05(日) 19:24:14.33ID:L5goONob
macのterminalでpython3をデフォルトにするにはどうしたらいいですか?
python3のファイルを$pythonで開きたい
2019/05/05(日) 19:25:47.99ID:L5goONob
python3はインストールされてます
2019/05/05(日) 19:35:04.86ID:L5goONob
自己解決失礼しました
2019/05/06(月) 05:18:25.39ID:wr9bFPpT
>>124
Ruby でスクレイピングしてるから、Python はあまり知らないけど、

>for elm in sp.select_one('#id').string:
sp.select_one('#id') に直接、.string は付かないのじゃないの?

複数の要素をループして、各要素にしてから、つなげれば?

for elm in sp.select_one('#id(仮)'):
elm.string

>f = open('date.csv','a', newline='')
ここでオプションで、UTF-8 か、sjis を指定できないの?
2019/05/06(月) 07:42:10.95ID:h2+b5pdE
select_oneをselectに
openの引数にencoding='utf-8'をつける
131デフォルトの名無しさん
垢版 |
2019/05/06(月) 08:48:46.09ID:llnuASGm
>>129 130
ありがとうございます。
ループ処理したらできました。こういうのはpythonのお作法なのでしょうか?
なんで直接つかないのでしょうか・・

>>130
id→classを選択することになりますよね。
select文でもid名で指定することができるのでしょうか?
2019/05/06(月) 09:28:43.88ID:h2+b5pdE
>>131
for文で繰り返したい場合、文字列ではなくて文字列を含むオブジェクトの集合だから、この書き方になる
つまり
[obj1,obj2,obj3]は繰り返せるし
文字列を取り出すのにobj1.string, obj2.string, obj3.stringもそれぞれ正しい
でも
[obj1,obj2,obj3].stringはなんのこっちゃ?となる

2つ目の質問に対しては、selectを使うならまずCSSセレクタを理解しないと上手く取り出せないよ
やりたいことはselectではなくてfind, find_allが適切かも知れない
2019/05/06(月) 09:33:36.17ID:h2+b5pdE
ちなみに上の説明は分かりやすくするためにlist使って説明したけど、実際にはイテレータでlistではないから注意
134デフォルトの名無しさん
垢版 |
2019/05/06(月) 11:01:31.13ID:kGkQS8+O
>>132
findのあとに.stringってつけれました?

[obj1,obj2,obj3].stringと同じになりませんか?私も個別に処理してたのでfindとstringの方法を知りたいです。
書き方の例を教えてほしいです
135129
垢版 |
2019/05/06(月) 11:07:41.34ID:wr9bFPpT
id で検索すると、該当する要素は、0〜1。
class で検索すると、該当する要素は、0以上

jQuery では、どちらも配列を返すように統一されている。
0 の場合でも、空配列を返す

でも、Ruby など他の言語では、
0〜1 なら、find_one、
0以上なら、find_all とか、

異なる関数名を使うものがあるので、やっかい
136129
垢版 |
2019/05/06(月) 11:19:36.99ID:wr9bFPpT
>>134
基本的には「インスタンス.メソッド」の形だろ。
だから、そのインスタンスに、そのメソッドが存在しなければ、エラーになる

obj1.string がOK なら、obj1 には、string メソッドがある

一方、[obj1,obj2,obj3].string がエラーなら、[ ] には、string メソッドがない。
[ ] は、iterator か?

[ ].string とは、[ ] の中に入っている各要素に、.string が付いているのではない!
[ ] そのものに、.string を付けているから、エラーになる
137デフォルトの名無しさん
垢版 |
2019/05/06(月) 13:00:20.83ID:llnuASGm
>>136
何度もありがとうございます。
いろいろと調べてみたのですがiteratorとして使うものではないと思います

その上で
for elm in sp.select('.class名'):
に.stringを付けるとすれば
for elm in sp.select[('.class名').string]:

にしたらいいんですか?
この記載で各要素に.stringってつけれるのでしょうか?
138デフォルトの名無しさん
垢版 |
2019/05/06(月) 13:15:04.22ID:4WCBwXBu
>>137
各要素の.stringを参照するならループ内でいちいち参照する
for elm in sp.select():
____elm_string = elm.string

か、内包表記で 各要素.string が並んだリスト(的なもの)をforで回す
for elm in (e.string for e in sp.select()):
139デフォルトの名無しさん
垢版 |
2019/05/06(月) 13:29:44.01ID:a8gxR/Is
pythonista3専用のスレってある?
2019/05/06(月) 14:17:32.29ID:vCRdl9br
select_one()、find()、find_all()がそれぞれ何を返すかリファレンスで確認しなよ
返したオブジェクトにstring属性が有れば直接.string付けて使える。
(見つからなかった場合の処理は必要だけど)
集合を返すならfor等で回すのはPython関係なく当然じゃないの?
2019/05/06(月) 16:59:03.48ID:QkNnPrv/
>>139
pythonista総合スレ【IOSで勉強できる】
https://mevius.2ch.net/test/read.cgi/tech/1540724553/
142デフォルトの名無しさん
垢版 |
2019/05/06(月) 17:43:42.76ID:kr7+hcA9
Linterによるチェックや
単体テスト等を自動的に設定してくれるCLIツールか何か無いですか?
手動で入れるのめんどくさいです。
143デフォルトの名無しさん
垢版 |
2019/05/06(月) 22:06:12.16ID:a8gxR/Is
>>141
ありがとう
2019/05/07(火) 01:18:37.83ID:OdT0SJzW
>>137 構文補完をしてくれるツールを使えば、string が使えるか使えないかなんて教えてくれるだろ。
2019/05/07(火) 21:32:05.66ID:GlTxCTc/
Python2の旧スタイルクラスで、"クラス名".__dict__["クラス変数名文字列"]=XXで代入していたのを
新スタイルクラスに置き換えたら、__dict__がproxyDictで読み取り専用になった影響で例外になってしまった・・

クラス変数(インスタンス変数じゃないよ!)にインデクサで代入するのって、どうやるのがセオリー?
146デフォルトの名無しさん
垢版 |
2019/05/08(水) 13:16:42.77ID:tjSWQfYU
setattr
2019/05/08(水) 16:20:18.54ID:qIqlQi6s
日経225平均のリアルタイム値が簡単なスクレイピングで読めるサイトありませんか?
googleもyahooも20分遅れで、リアルタイムのサイトはいくつかあったけどページ内に値は書き込まれていないみたいです。
https://nikkei225jp.com/cme/
とか。
2019/05/08(水) 18:00:43.80ID:ex2lag03
>>147 株をやるんだろ。 証券会社の値はほぼリアルタイムだよ。
どこかの株を10万円でも買えば?
2019/05/08(水) 18:06:42.31ID:ex2lag03
>>147 ごめん、そのサイト見たけど、値がコピペ出来るんだからどうとでもなりそうだけどな。
コピペできないサイトは面倒だろうけど。
2019/05/08(水) 18:41:57.94ID:Ih5N/ssV
yahooもリアルタイムでしょ
151デフォルトの名無しさん
垢版 |
2019/05/08(水) 18:51:36.82ID:fmEHJviF
>>147
まさかjsでリアルタイム更新なのにbeautiful soupでやろうとかしてないよな…?
https://qiita.com/Azunyan1111/items/b161b998790b1db2ff7a#google-chromeの生成するcssセレクターで出来ない場合動的に変化する場合
2019/05/08(水) 19:56:08.81ID:h6vLlN0g
100年はえー
2019/05/09(木) 00:18:25.32ID:zHXNWfjV
>>151
のサイトに、内容が良くまとまっている!

そのサイトが、API, RSS Feed を公開しているなら、それを使う

スクレイピングは、Ruby, Nokogiri で出来る

5ch のように、空のHTML を送ってきた後、
サーバーから、JavaScript(JS) で動的に内容を取得している場合は、

Selenium WebDriver を使って、JS を動かしてから、内容を取得する。
つまり、人間が操作するのと同じように、ブラウザを自動操作する

JSが動く前では、取得したい要素が、まだ存在していないから

ただし、頻繁にスクレイピングするのは、
営業妨害とかアクセス禁止にされて、逮捕されるかも!
2019/05/09(木) 08:55:08.80ID:NqkDudFv
Rがトップ20位圏外へ、Pythonの採用が進む - 5月開発言語ランキング
2019/05/09 06:05 後藤大地
https://news.mynavi.jp/article/20190509-820376/

TIOBE Softwareから2019年5月のTIOBE Programming Community Index (PCI)が公開された。
TIOBE PCIは、複数の検索エンジンの検索結果から、対象となるプログラミング言語が
どれだけ話題になっているかをインデックス化したもの。2019年5月におけるインデックスは
次のとおり。

5月TIOBE Programming Community Index / 円グラフ
https://news.mynavi.jp/article/20190509-820376/images/001.jpg

データマイニングや人工知能のニーズが高まっていることから、統計に関わるプログラ
ミング言語は人気が高い状況が続いている。TIOBE Softwareはこの状況においてRが20位
圏外に落ちることは驚きに値すると指摘している。この理由として、該当分野でPythonの
採用が進んだことで、Rの必要性が下がっていったことを挙げている。

Pythonは長期にわたって増加傾向を続けている。TIOBE Softwareが指摘しているように
データ処理の分野においてもPythonが使われるシーンが増えている。今後も同様の傾向が
続くと見られており、今後もPythonが利用されるシーンは増え続けることが予想される。
2019/05/09(木) 11:29:32.10ID:uxObhpR3
2019年02月04日に更新
Java屋さんの私がPythonをはじめる理由
https://qiita.com/HyunwookPark/items/68d029dd33807fc69ca4
156デフォルトの名無しさん
垢版 |
2019/05/09(木) 16:39:06.26ID:ZpL7167K
https://ideone.com/F983Gv

memmapを作って中身のデータを置換、末尾のデータを削除するサンプルを作って動かしてみたのですが
末尾のデータを削除したあとのサイズが、削除する前のものと同じになっています。

これは、こういうものなのでしょうか。それともどこか間違っているのでしょうか
2019/05/09(木) 21:53:08.20ID:4pb4y6e7
>>155
VSCodeに言及してないのはなぜ?
2019/05/10(金) 10:32:38.92ID:TvwQV5La
>>157 PyCharm の方が良いからだろ。

話は変わるが、レンタルサーバはJavaが動かないのが多いな。 それで perl php ruby などのスクリプト言語が使われてきたけど、これからは日本でもPythonの比率が高まっていくだろう。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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