Pythonのお勉強 Part66

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
垢版 |
2021/11/15(月) 18:59:43.37ID:f2uNQEAt0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇 Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/05/02(月) 21:24:19.62ID:wJauN5Uz0
>>750
一票❤
2022/05/03(火) 02:00:07.03ID:P2nTfFou0
cssセレクターでspanタグに囲まれているかどうかを問わないってどうやって指定すんの?

最悪xpathでもいいけど
2022/05/03(火) 03:46:30.15ID:P2nTfFou0
テーブルのスクレイピングをしててtrをforループで回しながらその中のtdの中にあるbr入りのtextを取りたいけどそのtrのうちの一つだけtdの中が直接textじゃなくてspan > dになってて、そのdタグの中にtextがある

それでどんなコードを書くかで詰んでる
beautifusoup4
誰か分かる?
2022/05/03(火) 05:03:35.73ID:UnZpzFGu0
tr > td で、ループ処理する

そこで、もし、tr > td が、span > div を内包していたら、そこからテキストを取得する
2022/05/03(火) 09:18:26.12ID:IxHOa5QLH
俺はいつもテキスト取得からfind位置取得で切り出しだなあ
2022/05/03(火) 11:52:36.28ID:P2nTfFou0
ごめん分からなかったんでtryでcss selectorで'td b'検索してAttributeError出たらexceptで単に'td'で検索かけるようにしたわ

それで得られたTagオブジェクトに.get_text(',').strip(',')してようするに</br>で区切ってlistにした

例外処理の多用は良くないと聞いたような気がするけどまぁいいよね
2022/05/03(火) 12:09:25.14ID:PFPUtHlZ0
>>753
brを改行にしたいということなら手動で改行入れる必要がある(pタグとかも)
for x in soup.select('tr td'):
 for node in x.select('br'):
 node.insert_before('\n')
 print(x.text.strip())

brタグが入ったままのinnerHTMLが欲しいのなら
for x in soup.select('tr td:not(:has(span d)), tr td span d'):
  print(x.decode_contents())
2022/05/03(火) 12:18:27.54ID:2dvea2Ox0
テーブルはちゃんと規則通りに書かれてることが多いし、テーブルの中身にしか興味ないから、
いきなりpandasにしてもうまくいく

問題はずらずら書かれてるケースで、特徴的なタグを見つけようにもうまく行かない
人間があれこれ考えて駄目なんだから何かのモジュールで対応できる訳もない
専用にきっちり書いてもマイナーチェンジされるとメンテ必要になるし、
余分に出力される程度にしておいて人間の判断を入れる、に倒す
2022/05/03(火) 12:59:02.27ID:P2nTfFou0
>>757
なるほどdecode_contents()で内側のhtmlをstring型で取れるのか
そしてhasとかnotや,の使い方も学べた
これで文字列処理するのが簡単で良さそうだね

brは改行にしたいわけじゃなくて単にbr区切りで関係性の薄い情報が書かれていたから前後で分裂させたかっただけ

最初の例が難しいな
クラスオブジェクトがミュータブルだからnodeに対しての操作がxにも影響を及ぼしてる?
2022/05/03(火) 15:07:34.95ID:PFPUtHlZ0
>>759
ツリーを変更するメソッドは元のBeautifulSoupオブジェクト(soup)が直接変更される
xもsoupオブジェクトへの参照なので変更が反映される
反映したくなければ部分的にコピーするか新しくsoupオブジェクトを生成するか

↓インデントが間違ってたので修正
for x in soup.select('tr td'):
 for node in x.select('br'):
  node.insert_before('\n')
 print(x.text.strip())
761デフォルトの名無しさん (JP 0Hcf-PwpY)
垢版 |
2022/05/04(水) 10:23:15.33ID:pkoGSX5+H
質問です。

macOSを使っています・

pythonのバージョンを調べるために、
「python -v」
を入力すると
/Users/xxxxxxx/.pyenv/shims/python: line 8: /usr/local/opt/pyenv/bin/pyenv: No such file or directory
と表示されます。

それで
「type python」
を入力すると
python is /Users/xxxxxxx/.pyenv/shims/python
と表示されますので、pythonは在ります。

なぜ、「python -v」が
No such file or directory
になるのでしょうか?

どうすれば良いのでしょうか?
2022/05/04(水) 10:46:01.03ID:8Q1g3mAXD
/usr/local/opt/pyenv/bin/pyenv
がないから
2022/05/04(水) 11:12:58.06ID:GAB8HZoP0
2^17179869183って計算できる?
2022/05/04(水) 11:39:04.52ID:KgzdHtkKa
>>763
マルチすんな、ハゲ
2022/05/04(水) 14:53:35.01ID:272uYDtq
エンドポイントを考えるとき
(1)http://hogehoge.com/items

(2)http://hogehoge.com/items/
末尾のスラッシュ有り無しどちらでもいいと思ってた

けどパスパラメータにパス(例/path/my/dir)を与えたい(こんなケースあるのかは知らないが)場合
(2)は
http://hogehoge.com/items//path/my/dir
(1)は
http://hogehoge.com/items/path/my/dir
パースできたとしても視認性落ちる

なので(2)の"/items/"が正しいとすると
http://hogehoge.com
のみのurlであってもスラッシュで閉じた方がいいのか
webフレームワーク側とかでスラッシュ有りに統一してた場合に野暮になりそうな気が
2022/05/04(水) 15:49:59.91ID:h7+OiRil0
>>765考え方がおかしい
普通urlに部分パスを追加する時はパラメータが/で始まるならルートからの絶対パス、そうでなければカレントの相対パスって意図になる
../path~みたいな親を遡る相対パスが与えられた場合も考慮すると文字列の追加に留まらずパスを正規化せざるを得ない
視認性とかの問題ではない
2022/05/04(水) 16:30:47.72ID:272uYDtq
>>766
部分パスがちょっとわからないからあれだけど
ルーティングによるのでは?と思う

例えばクエリパラメータで
http://hogehoge.com/items?path=/path/my/dir
とした場合は
http://hogehoge.com/items/?path=/path/my/dir
でも問題ないけどパスパラメータ>>765だと
どっち?ってならないかな(もちろんドキュメントに準じればいいだけだが。)
そういうことではなくて?
2022/05/04(水) 20:50:47.03ID:mmwxiGlBM
柏野雄太は名を挙げたね
2022/05/04(水) 23:36:56.20ID:AJMM67e40
>>761
漏れは、Windows 10, WSL2, Ubuntu 18.04 に、
日本人が作った、多言語バージョンマネージャーのanyenv で、
ruby, node.js を入れているけど、

ruby -v
ruby 2.6.6

node -v
v14.18.1

which ruby
/home/ユーザー名/.anyenv/envs/rbenv/shims/ruby

which node
/home/ユーザー名/.anyenv/envs/nodenv/shims/node

anyenv と同様のツールに、asdf もある
2022/05/04(水) 23:39:37.70ID:8rho1RVna
2**21 = 2**3 * 2**9 * 2**9
2022/05/05(木) 02:32:35.30ID:FeY8iOM40
高度IT人材、富士通は最大年収3500万円へ

AI人材の獲得に超本気 NECが新人事制度を9人に適用、富士通は最大年収3500万円へ

【年収3500万円も】富士通、「ジョブ型」人事制度を導入 幹部社員から 高度IT人材

来年度から副業解禁 人材多様化へ―大同生命次期社長

第一生命HD、副業解禁 約1万5000人対象

第一生命HD、副業解禁 1万5000人対象―大手生保初

IHI、国内8000人の副業解禁 重厚長大企業も転機

IHI、社外兼業を解禁 社内副業もルール化
2022/05/05(木) 13:57:31.01ID:oa9SITA90
sorted(list, key=lambda x: x.val)

sorted(list, key=attrgetter('val'))
と書いた方が見やすいけど、importが要るのがなあ
2022/05/05(木) 20:34:57.56ID:Bc4kCDNA
行が増えるのが嫌って感じではないなら
普通にlambda x: x.valの部分を置き換えてしまえばいいのでは

import pandas as pd
class X:
 def __init__(self,val):
  self.x=11
  self.val=val

_getattr=lambda n:lambda x:getattr(x,n)

ary=[X(6),X(3),X(2),X(7)]
print([ n.val for n in ary ])
ary=sorted(ary, key=_getattr('val'))
print([ n.val for n in ary ])

#[6, 3, 2, 7]
#[2, 3, 6, 7]
2022/05/05(木) 20:40:43.19ID:oa9SITA90
lambdaは強力です
lambdaを使うとこんなこともできる

的な記事はよく見るけど、結局lambda以外の方法の方が綺麗で、
lambdaは苦し紛れ感がある
2022/05/05(木) 21:05:02.85ID:Rtfrs1Kx0
lambdaでちょっと書くだけでもPythonicじゃなくなる
無いものと扱った方がシンプル
基本どこでもdefは書けるから困らんし
2022/05/05(木) 21:18:45.73ID:oa9SITA90
mapとかfilterも使わずに済ませた方がいいことが多い
折角パワフルそうなものがあるのに、と勿体ない気もするけど、
存在を忘れた方がいいかもしれない
2022/05/05(木) 23:03:05.31ID:Nv9wUOG5H
ある計算の結果をarr[0]から順番にarr[i]に入れていきます。
計算結果が重複していたら入れません。
iは数千万以上まで行きます。
計算を進めていくと、重複判定にものすごく時間がかかってきます。
高速でできるPythonモジュールみたいなのはありますか?
2022/05/05(木) 23:04:55.42ID:cat7h5UO0
数千万を超えるデータ数なら、DB使うのが楽だろう
2022/05/05(木) 23:09:30.99ID:/WvxkOMY0
とりあえずsetに入れてやってみて
だめならよく考えないと
2022/05/05(木) 23:12:35.56ID:oa9SITA90
いちいち判定せずに重複してても全部入れて、
重複判定は最後にまとめてやる
2022/05/05(木) 23:13:57.78ID:4AFuDqVB0
巨大データだと
まずはメモリの使用状況を調べないと
メモリを使い切ってスワッピングを始めると
言語に関係なく遅くなる
2022/05/05(木) 23:16:40.62ID:oa9SITA90
numpy.unique が使えれば、C言語の速度で計算できる
2022/05/06(金) 00:29:31.47ID:n4Ao/ndQH
>>782
これにします
ありがとうございました
2022/05/06(金) 10:21:27.64ID:iI+uCnhja
 ,Aさん, ,  ,Bさん,  ,  ,
 ,開始,終了,備考,開始,終了,備考,
5/1,7:00,16:00, ,8:00,17:00,
5/2,8:00,17:00, ,  ,  ,有休
見たいな三次元データってpandasじゃ無理?
2022/05/06(金) 10:51:11.55ID:psJUmtHU0
>>784
内部だけでもこんなかんじに変換はできない?
どなた,開始,終了,備考,
Aさん,5/1,7:00,16:00,
Bさん,5/1,8:00,17:00,
Aさん,5/2,8:00,17:00,有休
2022/05/06(金) 11:04:53.45ID:+8HHAnO10
有給はたぶんBさん
2022/05/06(金) 11:10:23.65ID:62y4JUOg0
開始 = 勤務データ[人][日付].開始
みたいにアクセスしたいよな
2022/05/06(金) 11:20:32.56ID:62y4JUOg0
その場合、開始, 終了, 備考をインスタンス変数に持つオブジェクトの2次元配列にする
pandasからは遠ざかる
多分、問題がpandasに向いてない

excelからの読み込みと書き出しはpandasでやって、
内部的には取り回しのいい形式に変換する
2022/05/06(金) 11:44:44.97ID:vkuiuJbo0
>>784
同じ名前のcolumn持てないかもだけどマルチインデックス使ったらできないかな
2022/05/06(金) 14:27:37.32ID:0ltf0AP4a
>>787が理想ですね

>>789
http://makotomurakami.com/blog/2020/04/10/4908/
これですね。面白そうなので勉強してみます!
2022/05/06(金) 14:38:00.42ID:0QoRB4YX0
>>786
とうでもいい冷静な指摘ワロ
792761 (ワンミングク MMdb-NEd7)
垢版 |
2022/05/06(金) 15:37:34.62ID:U4lMD6QTM
>>762
レスありがとうございます。

質問の意図は、エラーメッセージの意味ではなく、
なぜ、「pythonがあるのに、バージョンが表示されないのですか」ということです。


あと、1ケ月前にはちゃんとバージョンが表示されていたのに、
どういう原因でこうなった(「/usr/local/opt/pyenv/bin/pyenvがない」)のか、
考えらる原因も教えていただけませんでしょうか?

よろしくお願いいたします。
2022/05/06(金) 15:49:38.97ID:psJUmtHU0
>>792
>>762 が端的にあってるとおもうけど

過去にMacPortsか独自でpyenvを導入したはずが今は消したかで無くなってる
原因は分かるわけないw
再導入すればOK

どうせ動かんし先に /Users/xxxxxxx/.pyenv は消しとくのが無難
pyenv公式にはHomebrewでいれろとあるからどうするかは考えて
794792 (ワンミングク MMdb-NEd7)
垢版 |
2022/05/06(金) 16:41:48.16ID:U4lMD6QTM
>>793
レスありがとうございます。

やってみます。
2022/05/06(金) 17:42:55.06ID:NlkHDn7u
DBにしろpandasにしろ時間管理だとこんな感じにするかな
pandasの使い方これで合ってたかは忘れたけど
https://colab.research.google.com/drive/1W6g9HLYOliL3i9Dc-t6lfnw4oxsTPh4K

today=datetime.now().replace(hour=0, minute=0, second=0, microsecond=0)
df=pd.DataFrame([
{"名前":"Aさん","開始":"2022-05-04 07:00:00","終了":"2022-05-04 16:00:00","description":""},
{"名前":"Bさん","開始":None,"終了":None,"description":"有給"},
{"名前":"Aさん","開始":"2022-05-05 07:00:00","終了":"2022-05-05 16:00:00","description":""},
{"名前":"Bさん","開始":"2022-05-05 07:00:00","終了":"2022-05-05 17:00:00","description":""},
{"名前":"Aさん","開始":"2022-05-06 07:00:00","終了":"2022-05-06 17:00:00","description":""},
{"名前":"Cさん","開始":"2022-05-06 10:00:00","終了":"2022-05-06 12:00:00","description":"早退"},
{"名前":"Bさん","開始":"2022-05-06 08:00:00","終了":"2022-05-06 19:30:00","description":""},
{"名前":"Dさん","開始":f"{today:%Y}-{today:%m}-{today:%d} 08:00:00","終了":f"{today:%Y}-{today:%m}-{today:%d} 21:00:00","description":""},
])
df["開始"]=pd.to_datetime(df["開始"])
df["終了"]=pd.to_datetime(df["終了"])

#Bさんのみ
#df[df["名前"]=="Bさん"]

#2022年5月6日のAさんの出勤時刻
df[df["名前"]=="Aさん"][df["開始"].dt.date==datetime(2022,5,6).date()].iloc[0]["開始"]

#2022年5月5日以降のみ
#df[df["開始"]>datetime(2022,5,5)]

#2022年5月6日、9時から11時に出勤する人のみ
#df[(df["開始"]>datetime(2022,5,6,9,0)) & (df["開始"]<datetime(2022,5,6,11,0))]

#現在仕事中の人のみ
#df[(df["開始"]>today) & (df["終了"]>_to_zone(_jst))] )
2022/05/06(金) 18:05:03.14ID:62y4JUOg0
実際のデータはコードに書かれてる訳ではなくてcsvなりexcelな訳で
そこのフォーマットは変えられないのでコンバータが要る
2022/05/06(金) 22:16:25.65ID:TUkwoEaL0
データはヒアドキュメントで書きなよ
2022/05/07(土) 06:13:21.22ID:qvxD3Am1a
返信ありがとうございます。
>>785の形式にopenpyxlかvbaで変換して>>795の方が楽っぽいですね!
2022/05/08(日) 12:47:43.25ID:ijaKGYnfd
WSL2のUbuntuにpythonインストールして使ってるけど、この場合jupyter notebook使えるの?
2022/05/08(日) 12:55:49.87ID:WZ+9GTH10
ubuntu内で完結する訳もなくて、
入力元や出力先がwindowsなら、windowsで動かす方が面倒が少ないのでは
2022/05/08(日) 13:13:17.78ID:nIKs1wjM0
WebブラウザがWindowsであればよくない?
モジュールや連携するバックエンド考えるとLinuxのが面倒がない
2022/05/08(日) 13:29:26.40ID:VLhFHO7C0
OSは何にする?この手の話題はスレ違い
2022/05/08(日) 13:32:59.13ID:sGLUGFq3M
python使うのにベストなOSを語ってるのにスレ違いってことはなくね?
2022/05/08(日) 13:38:21.02ID:WZ+9GTH10
mac使ってる人はmacで
windows使ってる人はwindowsで
ターゲットはlinuxだけど開発マシンがwindowsの人がWSLで

用もないのにWSL使いたがるのはイキってるだけの可能性が高い
2022/05/08(日) 16:12:32.16ID:uqTA7j1LH
Dropoutって過学習を遅らせてるだけ?
結局過学習してる気がするんだけど気のせいだろうか
806デフォルトの名無しさん (ワッチョイ 8f33-vIa5)
垢版 |
2022/05/08(日) 16:17:09.92ID:OXaJwWW50
アプリとそのデプロイする先OSとの相性はあるけどな
2022/05/08(日) 16:20:21.03ID:WZ+9GTH10
人間の脳も忘れるんだから、AIも忘れさせた方がより脳を模倣できるというアイディア
やってみると実際にスコアが上がる
何がどうなって良くなってるかは誰も知らない
2022/05/08(日) 18:21:52.67ID:aevSewlE0
wslでイキってます(^_^;)
と言いたいところだけど、なんだかんだPowerShellだ
visual stdio codeでwslにもPython入れてる
809デフォルトの名無しさん (ワッチョイ 2301-cfd4)
垢版 |
2022/05/08(日) 20:16:51.25ID:uHv997gA0
studio
2022/05/08(日) 20:26:40.39ID:WZ+9GTH10
#include <studio.h>
811デフォルトの名無しさん (ワッチョイ 2301-U1YL)
垢版 |
2022/05/09(月) 01:27:47.74ID:n2JVbrax0
WSL程度じゃイキれないからな。
Ubuntuじゃないと。
2022/05/09(月) 06:23:57.39ID:Ucje4jsd0
power shellから
wsl --install
と入れるだけでubuntuが入るんだから、WSLとはubuntuだと思っていい
2022/05/09(月) 08:22:28.54ID:/GycElY9M
ドロップアウトは局所解引きやすいときにかなり有効なきがする
2022/05/09(月) 08:38:23.71ID:IUyk/1Pzr
バッチ少ないときにも有効な気がする
あくまで感覚的にだけど
2022/05/09(月) 08:51:46.62ID:Y9cmTEXw0
初学者だけどDocker使うためにWSLに慣れてたほうがいいんじゃないの?
2022/05/09(月) 09:26:54.72ID:N4riRdyu0
初学者の95%は3ヶ月続かないから平気
2022/05/09(月) 09:35:03.70ID:li9qwqod0
exe名が汚すぎて吐きそうになる

C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.1264.0_x64__qbz5n2kfra8p0\python3.10.exe
2022/05/09(月) 09:38:35.23ID:N4riRdyu0
酷さも極めると芸術ね
2022/05/09(月) 09:52:26.17ID:Ucje4jsd0
pythonとpython3で区別してたのは元からだし、
より細かく3.10にしてるだけ
820デフォルトの名無しさん (アウアウウー Sa1f-vIa5)
垢版 |
2022/05/09(月) 10:23:12.21ID:4q54ATjra
Windowsアプリの方?
2022/05/09(月) 10:51:57.17ID:rXvc8Ra30
そりゃ、すべての環境構築が、Docker, Kubernetes になったから、
分散処理のHadoop が滅んだ

それで、AWS Solution Architect の米国年収が、
Ruby on Rails の1,300万円を超えて、1,400万円になった。
今は円安で、1,800万円まで高騰した

猫も杓子も、AWS Associate 3冠・機械学習 Specialty だろ
2022/05/09(月) 12:37:56.15ID:bt9zJdkn0
ファイル名じゃなくexe名っていうところが気持ち悪くて吐きそう
2022/05/09(月) 12:58:30.05ID:qGH53jdv0
マイナーバージョンまで実行ファイル名に含まれてるのは少数派ではあるかも。
気になって調べてみたら、自分の環境だとautomake系とRuby系はマイナーバージョンまでファイル名になってた。
ライブラリ名だとごく普通だから違和感はなかったな
2022/05/09(月) 14:45:09.87ID:poYUryAv0
エイリアスをかければすむ問題じゃないの?
2022/05/09(月) 14:52:47.85ID:Ucje4jsd0
実際に起動するのは C:\Windows\py.exe
826デフォルトの名無しさん (JP 0H3f-31Mv)
垢版 |
2022/05/09(月) 22:53:05.55ID:DpCjOuw1H
#############################################################
https://assets.st-note.com/production/uploads/images/60037741/picture_pc_19893dcbf6564b05921e2191868e6fb1.png

全米国株1分足データ10年分を900円で差し上げます。計8173銘柄。時間外取引のデータ込み。お買い得です。システムトレードや検証にどうぞ。
https://note.com/data_shop/n/nad05814e941e
#############################################################
2022/05/09(月) 22:54:26.88ID:j3JOoLOZ0
>>826
日本株はないですか?
2022/05/09(月) 23:20:59.46ID:KjDUkCYM
from sample import mod1, mod2

def mod1():
_return "def mod1でmod1を上書き?"

print(mod1())
print(sample.mod1())

from ○ import ○,○のように明示的にモジュールを指定したいとき
import先のモジュール名と関数名がかぶるとき命名に困る
一体どうしたら・・
対策としてdef _mod1()とかにしてるけどなんかモヤモヤ
2022/05/09(月) 23:27:02.50ID:dKybY/I70
>>799 だけど、少し調べたら
%jupyter notebook --no-browser
で起動するとURLが表示されて、このURLをWindows上のウェブブラウザで開く方法があった
2022/05/09(月) 23:46:05.83ID:VeYZqxsU0
>>828
インポートする時にas使って名称変えればええやん
from .moduleY import spam as ham
2022/05/10(火) 00:00:51.04ID:mBrnJsuS0
sample.mod1 でええがな
2022/05/10(火) 00:15:18.39ID:Ti0nXdEQ
>>830
それはもちろん
ただルーティングとかのときにswaggerで表示される名前を見やすくシンプルにしたいのでかぶるモジュール名もシンプルで
これ以上名前変えてもなぁというのと単に見た目的(asは複数無理?)なので保留
>>831
import sample
sample.mod1
てこと?元も子もないような


とういうか改めてswaggerUIの方をみたらハイフンは省かれて表示されてたのでもう先頭に(_)でいいや
ルーティング以外のとこはおそらく自分の命名のやり方を改善できる可能性が高そうなので
2022/05/10(火) 00:16:05.16ID:Ti0nXdEQ
ハイフンじゃなくてアンダーバーだった
2022/05/10(火) 01:40:07.98ID:lEEJR5Cu0
元も子もなくない
from sample import mod1

import sample as __sample
mod1 = __sample.mod1
と自分で書いたのと同等、そう考えれば避けたくならん?
sample.mod1 に慣れるのがシンプル解
2022/05/10(火) 03:09:57.64ID:Ti0nXdEQ
問題はそこではなくて
命名かぶりそう、っていうのと
かつmod1,mod2,,,を明示したい、という見た目の話ですね
そもそもfrom sample import mod1やめて
import sampleの
sample.mod1でいいじゃん、てなると
そりゃそうでしょ、としか
2022/05/10(火) 08:46:15.39ID:mBrnJsuS0
命名が適切ならば被らない
被ってしまうのは命名が間違ってるか省略し過ぎ
違うものが同じ名前になるのは判りやすい書き方とは言えない
837デフォルトの名無しさん (ワッチョイ f3fc-7Spq)
垢版 |
2022/05/10(火) 09:25:11.75ID:7ou9dI0M0
 Python + selenium にて、Twitterに投稿したいと思っています。
 絵文字以外の文字列を投稿するところまでは完成していますので、
 絵文字をどのように送ればよいかについてアドバイス(実際のサンプルコード)を
 頂きたいです
2022/05/10(火) 11:10:12.46ID:V8fc4wuO0
import emoji
2022/05/10(火) 11:18:59.07ID:mBrnJsuS0
youtubeのチャットを字幕化して動画に重ねて表示させたりしてるけど、
絵文字部分もそれ使えばいいのか
2022/05/10(火) 11:59:58.50ID:Ti0nXdEQ
>>836
さらっとクラスやら全否定してないかそれ
中身が同じってことではないでしょ
2022/05/10(火) 12:15:14.26ID:lN9ZufrH0
<tr>
<td>a</td>
<td>b</td>
</tr>
<tr>
<td>a1</td>
<td>b2</td>
</tr>
<tr>
<td>a3</td>
<td>b3</td>
</tr>
こんなタグがあってaとa1とa3をスクレイピングしたいんですが、どうすればそこだけ抜き取る事が出来ますか?
スライスですかね?
2022/05/10(火) 12:15:14.30ID:mBrnJsuS0
オーバーライドまで面倒見るなら同じ名前でいい
2022/05/10(火) 12:16:28.26ID:mBrnJsuS0
emojizeはなんか対応してない文字あるな
辞書が古いのかな
2022/05/10(火) 12:23:46.06ID:keCf+vVN0
>>841
.select('tr > td:first-child')]
2022/05/10(火) 13:22:27.15
from bs4 import BeautifulSoup as _soup
html="<table><tr><td>a</td><td>b</td></tr><tr><td>a1</td><td>b2</td></tr><tr><td>a3</td><td>b3</td></tr></table>"
bs = _soup(html, "html.parser")
print([ td.text for td in bs.select("tr > td:nth-of-type(1)") ])
#['a', 'a1', 'a3']
>>841
2022/05/10(火) 13:26:34.17ID:lN9ZufrH0
>>844
>>845
ありがとうございます
2022/05/10(火) 17:45:38.50ID:4Lkf5W240
pip install soupsieve

soup.select('td:-soup-contains("a")'
)


すみませんなんでもないです...
2022/05/10(火) 18:52:03.76ID:gcxSlYEt0
・塩野義製薬が週休3日制導入へ 来年4月、副業も解禁
・塩野義製薬が「週休3日」選択可能に 給与は『週休2日の8割』副業や学び直しを支援
・【フォーカス】サタケ/週休3日制 通年導入めざし夏季のみ試行中 交代制で水曜を休日に
・旅館なのに週休3日!?陣屋・若女将の常識を覆した組織改革
・“時代錯誤”から残業ゼロ、週休3日に! 鳥取の不動産会社が
 レガシー企業からDX先進企業になれたワケ
・ネクスウェイ、週休4日制・1日3時間勤務選択できる勤務体系を導入
・日本初「週休4日制度」で、優秀な人材を採用するしくみとは? ?
 ナレッジソサエティ久田社長に聞いてみた
849デフォルトの名無しさん (ワッチョイ 9f5f-HNGk)
垢版 |
2022/05/13(金) 14:34:43.72ID:W2vdm6pB0
当方プログラム初心者ですがpythonの**.pyファイルを**.exeにしたい場合どのようにするのでしょうか。
色々ググって全く分からず困っています。
Python27時台に作成されたソースです。ヒントでもよいのでアドバイス頂けると
助かります。
よろしくお願いいたします。
2022/05/13(金) 14:44:41.43ID:Lv0l6mLO0
py2exe
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。