当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
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
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その54
■ このスレッドは過去ログ倉庫に格納されています
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
780デフォルトの名無しさん
2021/09/07(火) 20:23:56.12ID:SoS5+Qbw781デフォルトの名無しさん
2021/09/07(火) 20:25:59.15ID:yP3cXAjd pip list
782デフォルトの名無しさん
2021/09/07(火) 20:26:41.96ID:o/q1by9H >>780
節子、それやりたいならpip listや
節子、それやりたいならpip listや
783デフォルトの名無しさん
2021/09/07(火) 20:33:41.53ID:YcIWO4/P Elixir は片方向リストで、immutable だから、
先頭への追加ではコピーされないけど、
末尾へ追加するとコピーされる
つまり、先頭のみ最適化される
だから未だに、文字列を追加していく方法が分からない
先頭への追加ではコピーされないけど、
末尾へ追加するとコピーされる
つまり、先頭のみ最適化される
だから未だに、文字列を追加していく方法が分からない
784デフォルトの名無しさん
2021/09/07(火) 20:37:37.38ID:eKv4jfBm785デフォルトの名無しさん
2021/09/07(火) 21:31:13.42ID:8Blsw2sW CPythonでは最適化が入っていてO(n)になるんだけど使うなとPEP8に書いてある
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
For example, do not rely on CPython's efficient implementation of in-place string concatenation
or statements in the form a += b or a = a + b. This optimization is fragile even in CPython
(it only works for some types) and isn't present at all in implementations that don't use refcounting.
In performance sensitive parts of the library, the ''.join() form should be used instead.
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
For example, do not rely on CPython's efficient implementation of in-place string concatenation
or statements in the form a += b or a = a + b. This optimization is fragile even in CPython
(it only works for some types) and isn't present at all in implementations that don't use refcounting.
In performance sensitive parts of the library, the ''.join() form should be used instead.
786デフォルトの名無しさん
2021/09/07(火) 23:20:45.23ID:Cp1uuQsT >>779
それってJavaの処理系がさぼっているだけだよねね
それってJavaの処理系がさぼっているだけだよねね
787デフォルトの名無しさん
2021/09/08(水) 00:39:17.00ID:jISXv5nw789デフォルトの名無しさん
2021/09/08(水) 15:56:50.49ID:45GUJlB8 重いcondaら
790デフォルトの名無しさん
2021/09/08(水) 16:50:53.30ID:B2IhbCSc 勉強するだけならcondaが便利
でも他システムと繋げにくい
でも他システムと繋げにくい
791デフォルトの名無しさん
2021/09/08(水) 17:27:10.26ID:tJQkvu8J formatで
0.1未満なら "5.2%"
0.1以上〜1.0未満なら "5.1%"
みたいに、全体の桁数は固定で値によって少数点以下を調整してくれるような簡易な方法ってないですか?(%だけでなく、fなんかでも)
formatだと丸められるので、単純に
if x >= 0.1 とかはできないので、一旦formatかけてからlenで桁が溢れてないかチェックしてるんですが、もうちょっとスマートな方法が無いものかと。
0.1未満なら "5.2%"
0.1以上〜1.0未満なら "5.1%"
みたいに、全体の桁数は固定で値によって少数点以下を調整してくれるような簡易な方法ってないですか?(%だけでなく、fなんかでも)
formatだと丸められるので、単純に
if x >= 0.1 とかはできないので、一旦formatかけてからlenで桁が溢れてないかチェックしてるんですが、もうちょっとスマートな方法が無いものかと。
792デフォルトの名無しさん
2021/09/08(水) 17:42:49.27ID:s8bChe9P 単に関数作っとけばいいんでないの?
793デフォルトの名無しさん
2021/09/08(水) 17:50:12.13ID:QqH5BAVe 何回か読み直したが
難解過ぎて俺には文章の意味がわからなかったよorz
難解過ぎて俺には文章の意味がわからなかったよorz
794デフォルトの名無しさん
2021/09/08(水) 17:51:41.60ID:45GUJlB8 ruby 使ってると馬鹿になりゅよ
795デフォルトの名無しさん
2021/09/08(水) 17:53:59.73ID:s8bChe9P >0.1未満なら "5.2%"
>0.1以上〜1.0未満なら "5.1%"
ここが逆になってるんだろ?
小数点以下が0.1以上の場合は全て0.2に統一って事じゃ無いの?
そうでないとしたら俺も理解不能だわ。
>0.1以上〜1.0未満なら "5.1%"
ここが逆になってるんだろ?
小数点以下が0.1以上の場合は全て0.2に統一って事じゃ無いの?
そうでないとしたら俺も理解不能だわ。
796デフォルトの名無しさん
2021/09/08(水) 18:59:48.32ID:XUjypBYd condaはバックアップ取ったりcloneできるのが便利。
797デフォルトの名無しさん
2021/09/08(水) 19:32:05.85ID:aHZlxj+w master.py上に実行したいスクリプトtestxx.py(xxは数字)がたくさんあります。
os.systemで引数を渡してtestxx.pyを実行しているのですが、testxx.pyからの戻り値を受け取る場合はどうしたら良いのでしょうか。標準出力の値なら取れるみたいな記述を見ましたが、実行中にprintを多様しているため、任意の戻り値のみを取得したいです。
os.systemで引数を渡してtestxx.pyを実行しているのですが、testxx.pyからの戻り値を受け取る場合はどうしたら良いのでしょうか。標準出力の値なら取れるみたいな記述を見ましたが、実行中にprintを多様しているため、任意の戻り値のみを取得したいです。
798791
2021/09/08(水) 20:04:49.50ID:tJQkvu8J 分かりにくくてすみませぬ
{x:5.2%} {x:5.1%} というformatで
xが0.1=10%、1.0=100% なので、
10%未満なら9.99% まで少数点2桁、
10%以上100%未満なら99.9% まで 少数点1桁
で表示してほしい、という意味です。
全体桁固定で少数点だけ変動するようなformatの表記、あるいはやり方は無いかなという質問です
{x:5.2%} {x:5.1%} というformatで
xが0.1=10%、1.0=100% なので、
10%未満なら9.99% まで少数点2桁、
10%以上100%未満なら99.9% まで 少数点1桁
で表示してほしい、という意味です。
全体桁固定で少数点だけ変動するようなformatの表記、あるいはやり方は無いかなという質問です
799デフォルトの名無しさん
2021/09/08(水) 20:42:07.84ID:s/O0A+9w こんなんで
x = 12.125
f'{x:.2f}'[:4]
x = 12.125
f'{x:.2f}'[:4]
800デフォルトの名無しさん
2021/09/09(木) 01:16:22.36ID:YDItKt7x numpyのメソッドzerosやonesなどは引数をタプルで指定することになっていますが、リストで指定しても実行できています。
特に問題ないように見えるのですが、タプルで指定した方がいい理由などあるのでしょうか?
特に問題ないように見えるのですが、タプルで指定した方がいい理由などあるのでしょうか?
801デフォルトの名無しさん
2021/09/09(木) 02:10:35.73ID:1BTdIMLT タプルは普遍だけれども、リストはそうでないから成長することを想定して必要以上の領域が確保されちゃうぶん効率が悪いとかあるんじゃね?知らんけど
802デフォルトの名無しさん
2021/09/09(木) 02:34:23.48ID:OKDvztcs sequenceの操作しかしてないから実際はlistでもOKないんじゃない?
onesの説明には
> Parameters: shape: int or sequence of ints
とあるしzeros側のメンテ漏れとか
onesの説明には
> Parameters: shape: int or sequence of ints
とあるしzeros側のメンテ漏れとか
803デフォルトの名無しさん
2021/09/09(木) 08:14:59.88ID:Ubp0J8aB >>799
%だと末尾に%が付くので…
%だと末尾に%が付くので…
804デフォルトの名無しさん
2021/09/09(木) 08:44:11.31ID:1BTdIMLT805デフォルトの名無しさん
2021/09/09(木) 14:16:43.72ID:3sOE3L2f806デフォルトの名無しさん
2021/09/09(木) 14:54:22.16ID:MjE68I3R807デフォルトの名無しさん
2021/09/09(木) 16:50:44.90ID:Ur+lRPYu これで良くない?
str_formatted = f"{val:.2%}"[:4] +"%"
str_formatted = f"{val:.2%}"[:4] +"%"
808デフォルトの名無しさん
2021/09/09(木) 16:58:17.08ID:MjE68I3R809デフォルトの名無しさん
2021/09/09(木) 17:03:24.41ID:s2e04Gy+ >>808
> 10%未満なら9.99% まで少数点2桁、
> 10%以上100%未満なら99.9% まで 少数点1桁
って言ってるのにわざわざ150%とか出してきてドヤるのは頭になんか障害でもあるのか?
> 10%未満なら9.99% まで少数点2桁、
> 10%以上100%未満なら99.9% まで 少数点1桁
って言ってるのにわざわざ150%とか出してきてドヤるのは頭になんか障害でもあるのか?
810デフォルトの名無しさん
2021/09/09(木) 17:16:30.91ID:MjE68I3R811デフォルトの名無しさん
2021/09/09(木) 17:32:52.06ID:3PF/LFW4 その>>798から引用してるんだけど…
マジでお前が読めよw
マジでお前が読めよw
812デフォルトの名無しさん
2021/09/09(木) 17:35:57.82ID:MjE68I3R813デフォルトの名無しさん
2021/09/09(木) 18:13:06.28ID:Ur+lRPYu 100%の値を渡した時に表示がおかしくなる書き方した俺が悪かった、すまん
境界値テストをちゃんとやってなかった証拠だな、マジでごめん
(実務でも似たような事やらかすからマジで反省しとる……)
境界値テストをちゃんとやってなかった証拠だな、マジでごめん
(実務でも似たような事やらかすからマジで反省しとる……)
814デフォルトの名無しさん
2021/09/10(金) 04:40:44.86ID:uZ6rg4vc815デフォルトの名無しさん
2021/09/10(金) 08:23:56.80ID:oazR15lu 質問とは趣旨違いだがコマンドラインアプリでもGUIでめプログレスバーや%進捗表示はまず回避してどうしてもって言われたら超シンプルにしろって昔言われたな。
境界値の扱いでバグりやすい。
ただ本質的なバグではないのに99.9%で完了するとか100.1%まで行くとかのバグ指摘を受けやすい。
あと業務のこと分かってない情シスが仕事してるフリするために何かレビュー指摘しようとして手をつけやすい。
(1%刻みで出力するけど10の倍数だけ太字にして目立たせろとか)
境界値の扱いでバグりやすい。
ただ本質的なバグではないのに99.9%で完了するとか100.1%まで行くとかのバグ指摘を受けやすい。
あと業務のこと分かってない情シスが仕事してるフリするために何かレビュー指摘しようとして手をつけやすい。
(1%刻みで出力するけど10の倍数だけ太字にして目立たせろとか)
816デフォルトの名無しさん
2021/09/10(金) 08:26:12.15ID:oazR15lu もっとも最悪なのは残り時間予測だけどな。
windowsですらあと5分ですって出してから30分かかったり30秒で済んだりするくらいだからよほど単純な処理じゃないと間違える。
テキストファイルのロードみたいな単純な処理でもメモリ圧迫するような挙動だとだんだん重くなるみたいなことあるし。
windowsですらあと5分ですって出してから30分かかったり30秒で済んだりするくらいだからよほど単純な処理じゃないと間違える。
テキストファイルのロードみたいな単純な処理でもメモリ圧迫するような挙動だとだんだん重くなるみたいなことあるし。
817デフォルトの名無しさん
2021/09/10(金) 11:45:28.24ID:NVBgm1WL 今までに作ったclassの中で一番行数が多いのってどれぐらいですか?
350行程度のclassでもちょっとわけ分からんようになってきたよ
350行程度のclassでもちょっとわけ分からんようになってきたよ
818デフォルトの名無しさん
2021/09/10(金) 16:59:22.38ID:1odBdOt6 それはこのクラスにはこの系統の処理を置くよ という役割分担が上手くなくて
読むときに負荷がかかってるからだと思うぬ
読むときに負荷がかかってるからだと思うぬ
819デフォルトの名無しさん
2021/09/10(金) 22:42:11.14ID:VqIPySM9 Austria, Croatia, Republic of, Congo, Democratic Republic of the
上記のような文字列があってそれをリストと化したいんだけどカンマでsplitしたりすると
'Croatia, Republic of', 'Congo, Democratic Republic of the'ではなく
'Croatia', 'Republic of', 'Congo', 'Democratic Republic of the'になるけど解決方法がわからないので教えてください。c
上記のような文字列があってそれをリストと化したいんだけどカンマでsplitしたりすると
'Croatia, Republic of', 'Congo, Democratic Republic of the'ではなく
'Croatia', 'Republic of', 'Congo', 'Democratic Republic of the'になるけど解決方法がわからないので教えてください。c
820デフォルトの名無しさん
2021/09/10(金) 23:04:37.11ID:6R6RVOqf821デフォルトの名無しさん
2021/09/10(金) 23:35:10.00ID:VqIPySM9 AustriaとCroatia, Republic ofとCongo, Democratic Republic of theの3つに分けたい
元々のデータはブラウザから手動で引っ張ってきてコピペした文字列なのでリストではないです
元々のデータはブラウザから手動で引っ張ってきてコピペした文字列なのでリストではないです
822デフォルトの名無しさん
2021/09/10(金) 23:52:18.65ID:LLuPU2aV 機械的に処理するルールを決めることがプログラミングだよ
とりあえずコンマで分けたあと小文字単語があれば前とくっつける、とやってみたいけど
それで全部うまくいくかね
とりあえずコンマで分けたあと小文字単語があれば前とくっつける、とやってみたいけど
それで全部うまくいくかね
823デフォルトの名無しさん
2021/09/10(金) 23:58:48.69ID:HeVTXR4t オーバースペックだけど
英名の住所は正規化するAPIやモジュールがあるから
それつかった方が楽だし応用効くよ
英名の住所は正規化するAPIやモジュールがあるから
それつかった方が楽だし応用効くよ
824デフォルトの名無しさん
2021/09/11(土) 00:22:54.56ID:ZpRElCEp 国名とそれ以外を分ける必要があるけど
別途国名のリストを拾ってきて、要素を検索しつつ仕分けすればできそう
まぁ、国名リストって時点でアンチョコ使ってるみたいですっきりしないのはおいといて…
別途国名のリストを拾ってきて、要素を検索しつつ仕分けすればできそう
まぁ、国名リストって時点でアンチョコ使ってるみたいですっきりしないのはおいといて…
825デフォルトの名無しさん
2021/09/11(土) 06:02:28.90ID:Ka5OzmL8 あんちょこって何?
826デフォルトの名無しさん
2021/09/11(土) 08:06:33.32ID:A67k4NSD pythonスクリプトを直接python test.pyって実行すると動くんですが、
bashからtest.pyを起動しようとすると「No module named websocket」と表示され失敗します。
sys.path.appendすると今度は「No module named selectors」と表示されます。
どなたか対処法をご存知でないでしょうか?
環境はCloud9のAmazon Linux 2です。
bashからtest.pyを起動しようとすると「No module named websocket」と表示され失敗します。
sys.path.appendすると今度は「No module named selectors」と表示されます。
どなたか対処法をご存知でないでしょうか?
環境はCloud9のAmazon Linux 2です。
827デフォルトの名無しさん
2021/09/11(土) 09:44:22.44ID:IblrjkB0 そのエラーメッセージで検索すれば?
828デフォルトの名無しさん
2021/09/11(土) 10:00:36.84ID:Dj6rAQzj829デフォルトの名無しさん
2021/09/11(土) 17:38:25.32ID:YCQOaCey >>825
カンニングみたいなニュアンス
この場合は、国名を分離するのに国名リスト使ったらそりゃうまく行くが、国名は200数個に限られているからその辺にいくらでも正しいデータ源が転がっているからいいけれど、
データ源を揃えきれないだろう世界の県名とかだったら成り立たず、うまくいかないだろうからモヤモヤするよねって感じだと思う
元のお題は自動処理するにはもともと筋悪だと思うけどね、バラになっちゃったやつを人間がチェックして結合するのが一番時間かからなくて確実そう
カンニングみたいなニュアンス
この場合は、国名を分離するのに国名リスト使ったらそりゃうまく行くが、国名は200数個に限られているからその辺にいくらでも正しいデータ源が転がっているからいいけれど、
データ源を揃えきれないだろう世界の県名とかだったら成り立たず、うまくいかないだろうからモヤモヤするよねって感じだと思う
元のお題は自動処理するにはもともと筋悪だと思うけどね、バラになっちゃったやつを人間がチェックして結合するのが一番時間かからなくて確実そう
830デフォルトの名無しさん
2021/09/11(土) 18:26:28.45ID:A67k4NSD831デフォルトの名無しさん
2021/09/11(土) 18:31:53.67ID:A67k4NSD bashから実行した時はなぜかpythonパッケージのパスが2.7になっているようです
832デフォルトの名無しさん
2021/09/11(土) 18:59:07.20ID:Dj6rAQzj >>831
LinuxとかMac環境で実行しようとしてるなら
python test.py ⇒Python2で実行する
python3 test.py ⇒Pyhthon3で実行する
っていう動きになる
とりあえずpython3 --version
を使って、そもそもpythonの3系が入ってるかを見た方が良い
入ってたら必要なライブラリをpython3 pip install〜で入れればOK
LinuxとかMac環境で実行しようとしてるなら
python test.py ⇒Python2で実行する
python3 test.py ⇒Pyhthon3で実行する
っていう動きになる
とりあえずpython3 --version
を使って、そもそもpythonの3系が入ってるかを見た方が良い
入ってたら必要なライブラリをpython3 pip install〜で入れればOK
833デフォルトの名無しさん
2021/09/11(土) 19:02:25.20ID:A67k4NSD834デフォルトの名無しさん
2021/09/12(日) 02:01:20.44ID:ysmJ7kfO linuxなんかだと、pip3とかできないの?
835デフォルトの名無しさん
2021/09/12(日) 11:08:57.22ID:PNU8wIel > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
836デフォルトの名無しさん
2021/09/15(水) 19:05:12.55ID:0q0CE+HI スクレイピングすると地獄へ落ちるって本当ですか?
837デフォルトの名無しさん
2021/09/15(水) 20:38:57.55ID:IoiHiFbB 392 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:01:39.47 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
9 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:02:48.45 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
294 名前: デフォルトの名無しさん (ワッチョイ e57f-dGLa) [sage] 投稿日: 2021/09/15(水) 19:07:23.60 ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
スクレイピングすると地獄へ落ちるって本当ですか?
9 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:02:48.45 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
294 名前: デフォルトの名無しさん (ワッチョイ e57f-dGLa) [sage] 投稿日: 2021/09/15(水) 19:07:23.60 ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
838デフォルトの名無しさん
2021/09/16(木) 00:25:58.50ID:i5BIJ4kk 君の人生はもう地獄行きが確定してそうだから不安がるなよ
839デフォルトの名無しさん
2021/09/16(木) 09:38:24.19ID:I3VTO38j 5ちゃんに一日1000回書き込むと極楽浄土が約束されます
840デフォルトの名無しさん
2021/09/16(木) 12:46:14.58ID:AVL/loTg sphinxのスレってwebpg板にもweb製作板にもここにも無いのか
841デフォルトの名無しさん
2021/09/16(木) 12:56:20.01ID:ebDt5W+H 1)abc
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
842デフォルトの名無しさん
2021/09/16(木) 14:15:16.89ID:AVL/loTg re.findallでやってる例がググられた
843デフォルトの名無しさん
2021/09/16(木) 14:18:35.84ID:Q5AMtJ/i re.findall(r'(.+\))(.*)', '1)abc')
[('1)', 'abc')]
[('1)', 'abc')]
844デフォルトの名無しさん
2021/09/16(木) 14:22:48.45ID:AVL/loTg と思ったらそのサイトの下のほうに
python3.7からre.split()で行けると
a="alpha,beta,gamma"
import re
re.split("(?<=,)",a)
python3.7からre.split()で行けると
a="alpha,beta,gamma"
import re
re.split("(?<=,)",a)
845デフォルトの名無しさん
2021/09/16(木) 17:59:54.65ID:13aXyCX3 CentOS7(armv7l)
python3.6
/usr/localにgcc10.1.0インストールして/usr/lib/libstdc++.so.6を6.0.19→6.0.28に張り替えてある
pandasのバージョン下げたりしてみたけどimportの段階で駄目でした
誰か原因分かりますか?
$ LD_PRELOAD=/usr/local/lib/libstdc++.so.6 pipenv run python3 test.py
成功
$ pipenv run python3 test.py
失敗
…
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/local/lib/libstdc++.so.6: undefined symbol: libiconv
<test.py>
import pandas as pd
url = 'ヤフーファイナンスのurl'
print(pd.read_html(url))
$ ls -l /usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
python3.6
/usr/localにgcc10.1.0インストールして/usr/lib/libstdc++.so.6を6.0.19→6.0.28に張り替えてある
pandasのバージョン下げたりしてみたけどimportの段階で駄目でした
誰か原因分かりますか?
$ LD_PRELOAD=/usr/local/lib/libstdc++.so.6 pipenv run python3 test.py
成功
$ pipenv run python3 test.py
失敗
…
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/local/lib/libstdc++.so.6: undefined symbol: libiconv
<test.py>
import pandas as pd
url = 'ヤフーファイナンスのurl'
print(pd.read_html(url))
$ ls -l /usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
846デフォルトの名無しさん
2021/09/16(木) 18:14:47.89ID:TQVwbqUl nm でそのlibをスキャンしてみたら?
libiconvはどこにつながっている?
libiconvはどこにつながっている?
847デフォルトの名無しさん
2021/09/16(木) 18:59:56.78ID:13aXyCX3 >>846
libiconvはUで確かに未定義でした
libiconvはUで確かに未定義でした
848デフォルトの名無しさん
2021/09/16(木) 23:14:17.32ID:KHTFd4df pyton3上で地図に棒グラフを立てたいと思い、cesiumpyにたどり着きました。
インストール後、import cesiumpyを実行したことろ、
AttributeError: partially initialized module 'cesiumpy' has no attribute 'data' (most likely due to a circular import)
と出ます。回避方法等ご教示くださいませ。
インストール後、import cesiumpyを実行したことろ、
AttributeError: partially initialized module 'cesiumpy' has no attribute 'data' (most likely due to a circular import)
と出ます。回避方法等ご教示くださいませ。
849デフォルトの名無しさん
2021/09/16(木) 23:18:50.22ID:wbqs1W10 マイナーなライブラリについて質問しても答えてくれる人いないよ
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
850デフォルトの名無しさん
2021/09/16(木) 23:31:37.25ID:KHTFd4df851デフォルトの名無しさん
2021/09/17(金) 08:59:56.61ID:UtF7UwZj >>848
dependencyは満たしているか?
dependencyは満たしているか?
852デフォルトの名無しさん
2021/09/18(土) 01:57:16.35ID:lb+sAgRD スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
853デフォルトの名無しさん
2021/09/18(土) 02:04:45.09ID:75qnM2AM854デフォルトの名無しさん
2021/09/18(土) 08:28:17.55ID:bA/qQPAi >コインランドリーの稼働データを集計して空いてる確率が高い時間帯
台風の最中は空いてそうだ
台風の最中は空いてそうだ
855デフォルトの名無しさん
2021/09/18(土) 08:29:01.24ID:BxqtlgPJ 正攻法は>>853だけど裏技的にやるんだったらMVNOのSIM契約してipとかUAを変えながらスクレイピング。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
856デフォルトの名無しさん
2021/09/18(土) 08:41:27.45ID:+7IeVSKz >>852
図書館の例があるから無許可はもう何しても危ないよねっていうのが共通認識だと思うよ
図書館の例があるから無許可はもう何しても危ないよねっていうのが共通認識だと思うよ
857デフォルトの名無しさん
2021/09/18(土) 09:09:44.75ID:2a7FPWkS フォルダ内のファイルをenumerate()で一括連番リネームします
リネーム後の名前が既存かもしれないとき
1回目のループでexistsならパスとリネームを記録,大丈夫ならリネーム
2回目のループで記録したパスをリネーム
これで重複回避して全件リネームできますか?
手元ではできてる気がするんだけど,例外パターンがあるような気がする
(windowsのロングパスとか編集不可属性とか並び順の話は置いといてください)
--
元 : 新
000.txt → 1.txt
00.txt → 2.txt
1.txt → 3.txt
3.txt → 4.txt
こういうことがしたいのです
リネーム後の名前が既存かもしれないとき
1回目のループでexistsならパスとリネームを記録,大丈夫ならリネーム
2回目のループで記録したパスをリネーム
これで重複回避して全件リネームできますか?
手元ではできてる気がするんだけど,例外パターンがあるような気がする
(windowsのロングパスとか編集不可属性とか並び順の話は置いといてください)
--
元 : 新
000.txt → 1.txt
00.txt → 2.txt
1.txt → 3.txt
3.txt → 4.txt
こういうことがしたいのです
858デフォルトの名無しさん
2021/09/18(土) 09:33:30.24ID:jUwIv+ht e.txtがすでに存在していたらどうするん?
859デフォルトの名無しさん
2021/09/18(土) 09:34:02.57ID:jUwIv+ht 3.txtの間違い
860デフォルトの名無しさん
2021/09/18(土) 09:44:49.40ID:lb+sAgRD >>853-856
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
861デフォルトの名無しさん
2021/09/18(土) 09:46:54.79ID:BxqtlgPJ .netだとtempのファイル名を持ってくるメソッドがあったな。
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
862デフォルトの名無しさん
2021/09/18(土) 09:56:28.76ID:dDlDUvsj 対象フォルダにtmpフォルダ作ってそこにリネームして入れていけばいいんじゃ
863デフォルトの名無しさん
2021/09/18(土) 09:56:58.79ID:9Dfq3hh+ >>857
その方法だと下の3行のリネームも無理じゃね
0.txt→ 1.txt
1.txt→ 2.txt
2.txt→ 3.txt
俺は、1回目でリネームできないときは
uuid.uuid4().hex を付加してリネームして
2回目で、uuid.uuid4().hexを付加したファイルを、目的のファイル名にリネームしてる
その方法だと下の3行のリネームも無理じゃね
0.txt→ 1.txt
1.txt→ 2.txt
2.txt→ 3.txt
俺は、1回目でリネームできないときは
uuid.uuid4().hex を付加してリネームして
2回目で、uuid.uuid4().hexを付加したファイルを、目的のファイル名にリネームしてる
864デフォルトの名無しさん
2021/09/18(土) 10:04:11.39ID:bA/qQPAi >>857
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
865デフォルトの名無しさん
2021/09/18(土) 10:44:49.91ID:2a7FPWkS >>863
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
866デフォルトの名無しさん
2021/09/18(土) 12:17:29.33ID:9Dfq3hh+867デフォルトの名無しさん
2021/09/18(土) 13:21:25.11ID:IiEq2a0h >>852
素人は、本番サーバーでテストしてはいけない。
素人のアプリは、バグで無限ループして、何万回もアクセスするから
必ずダウンロードして、自分のPC 内でテストしないといけない
それと本番サーバーに、100回とか繰り返しアクセスする場合は、
必ず、相手のrobots.txt を遵守すること!
または、相手と契約して、API を使うこと
基本、スクレイピングは営業妨害との戦い。
どの本にも、そう書いてある。
スクレイピングを推奨する本はない
必ず、robots.txt 遵守か、許可を得る、または契約すべき
山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
この動画では、Laravel で、マイナビ転職をスクレイピングしている。
27:40 から、robots.txt を調べている
素人は、本番サーバーでテストしてはいけない。
素人のアプリは、バグで無限ループして、何万回もアクセスするから
必ずダウンロードして、自分のPC 内でテストしないといけない
それと本番サーバーに、100回とか繰り返しアクセスする場合は、
必ず、相手のrobots.txt を遵守すること!
または、相手と契約して、API を使うこと
基本、スクレイピングは営業妨害との戦い。
どの本にも、そう書いてある。
スクレイピングを推奨する本はない
必ず、robots.txt 遵守か、許可を得る、または契約すべき
山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
この動画では、Laravel で、マイナビ転職をスクレイピングしている。
27:40 から、robots.txt を調べている
868デフォルトの名無しさん
2021/09/18(土) 13:56:07.34ID:LBCfu3j9 どの本にも〜とか言う割に本は挙げないのな
869デフォルトの名無しさん
2021/09/18(土) 15:25:34.95ID:ZDaB5e5K selenium(ChromeDriver)で
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
870デフォルトの名無しさん
2021/09/18(土) 15:34:01.38ID:aJjTmiOO 改めて locator を与えればいいんじゃね?
871デフォルトの名無しさん
2021/09/18(土) 15:58:23.33ID:9lUPAjpA ある条件を満たした時にプログラムを再起動したくて
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
872デフォルトの名無しさん
2021/09/18(土) 16:03:37.86ID:ZDaB5e5K >>870
WebElementオブジェクトからlocarorって取得可能?
今回のbuttonが、findで一意に特定できないエレメントだから、Waitの例でネットによく書いてあるBy.xxxの書き方だと、複数のbuttonがWaitの対象になってしまうんだよね
特定の1つのエレメントだけをwaitの対象にしたいのだが
WebElementオブジェクトからlocarorって取得可能?
今回のbuttonが、findで一意に特定できないエレメントだから、Waitの例でネットによく書いてあるBy.xxxの書き方だと、複数のbuttonがWaitの対象になってしまうんだよね
特定の1つのエレメントだけをwaitの対象にしたいのだが
873871
2021/09/18(土) 16:03:39.53ID:9lUPAjpA >>871の補足です
subprocess.call(__file__, shell=True)
で、一度再起動した後で、
sys.exit()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
subprocess.call(__file__, shell=True)
で、一度再起動した後で、
sys.exit()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
874デフォルトの名無しさん
2021/09/18(土) 16:17:13.98ID:9lUPAjpA875デフォルトの名無しさん
2021/09/18(土) 17:09:13.84ID:jUwIv+ht どう解決したのか書くのが礼儀やで
876デフォルトの名無しさん
2021/09/18(土) 18:13:33.17ID:J85RgKD5 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
877デフォルトの名無しさん
2021/09/18(土) 18:30:17.02ID:6JilEPez マルチポストすんな
878デフォルトの名無しさん
2021/09/18(土) 18:53:11.55ID:b0edjBZj >>876
お前頭悪そうだな
お前頭悪そうだな
879デフォルトの名無しさん
2021/09/18(土) 18:54:45.08ID:+/kaLHzE■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 【雑談】暇人集会所part18
