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

レス数が900を超えています。1000を超えると表示できなくなるよ。
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
当スレに★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 ###
2021/09/10(金) 04:40:44.86ID:uZ6rg4vc
>>781
>>782
遅くなり申し訳ありません。ありがとうございました。
2021/09/10(金) 08:23:56.80ID:oazR15lu
質問とは趣旨違いだがコマンドラインアプリでもGUIでめプログレスバーや%進捗表示はまず回避してどうしてもって言われたら超シンプルにしろって昔言われたな。
境界値の扱いでバグりやすい。
ただ本質的なバグではないのに99.9%で完了するとか100.1%まで行くとかのバグ指摘を受けやすい。
あと業務のこと分かってない情シスが仕事してるフリするために何かレビュー指摘しようとして手をつけやすい。
(1%刻みで出力するけど10の倍数だけ太字にして目立たせろとか)
2021/09/10(金) 08:26:12.15ID:oazR15lu
もっとも最悪なのは残り時間予測だけどな。
windowsですらあと5分ですって出してから30分かかったり30秒で済んだりするくらいだからよほど単純な処理じゃないと間違える。
テキストファイルのロードみたいな単純な処理でもメモリ圧迫するような挙動だとだんだん重くなるみたいなことあるし。
2021/09/10(金) 11:45:28.24ID:NVBgm1WL
今までに作ったclassの中で一番行数が多いのってどれぐらいですか?
350行程度のclassでもちょっとわけ分からんようになってきたよ
818デフォルトの名無しさん
垢版 |
2021/09/10(金) 16:59:22.38ID:1odBdOt6
それはこのクラスにはこの系統の処理を置くよ という役割分担が上手くなくて
読むときに負荷がかかってるからだと思うぬ
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
2021/09/10(金) 23:04:37.11ID:6R6RVOqf
>>819
国名はそれそれ、Austria, Croatia, Congoで処理したいということ?
もともとのデータはリストだったの?
2021/09/10(金) 23:35:10.00ID:VqIPySM9
AustriaとCroatia, Republic ofとCongo, Democratic Republic of theの3つに分けたい
元々のデータはブラウザから手動で引っ張ってきてコピペした文字列なのでリストではないです
2021/09/10(金) 23:52:18.65ID:LLuPU2aV
機械的に処理するルールを決めることがプログラミングだよ
とりあえずコンマで分けたあと小文字単語があれば前とくっつける、とやってみたいけど
それで全部うまくいくかね
2021/09/10(金) 23:58:48.69ID:HeVTXR4t
オーバースペックだけど
英名の住所は正規化するAPIやモジュールがあるから
それつかった方が楽だし応用効くよ
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です。
2021/09/11(土) 09:44:22.44ID:IblrjkB0
そのエラーメッセージで検索すれば?
2021/09/11(土) 10:00:36.84ID:Dj6rAQzj
>>826
モジュール関係でエラーが出た時は
それぞれ一回をsys.pathを出力させて、モジュールの参照先がどうなってるか調べる
(大方実行時に参照してるライブラリのパスが変わってる)
2021/09/11(土) 17:38:25.32ID:YCQOaCey
>>825
カンニングみたいなニュアンス
この場合は、国名を分離するのに国名リスト使ったらそりゃうまく行くが、国名は200数個に限られているからその辺にいくらでも正しいデータ源が転がっているからいいけれど、
データ源を揃えきれないだろう世界の県名とかだったら成り立たず、うまくいかないだろうからモヤモヤするよねって感じだと思う

元のお題は自動処理するにはもともと筋悪だと思うけどね、バラになっちゃったやつを人間がチェックして結合するのが一番時間かからなくて確実そう
830デフォルトの名無しさん
垢版 |
2021/09/11(土) 18:26:28.45ID:A67k4NSD
>>828
ありがとうございます
確かに直接実行した時とbashから呼び出した時でパスが違っています…
何か違う環境として実行されているということなのか…
831デフォルトの名無しさん
垢版 |
2021/09/11(土) 18:31:53.67ID:A67k4NSD
bashから実行した時はなぜかpythonパッケージのパスが2.7になっているようです
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
833デフォルトの名無しさん
垢版 |
2021/09/11(土) 19:02:25.20ID:A67k4NSD
>>832
ありがとうございます
python3指定で実行するようにしたら成功しました!
2021/09/12(日) 02:01:20.44ID:ysmJ7kfO
linuxなんかだと、pip3とかできないの?
835デフォルトの名無しさん
垢版 |
2021/09/12(日) 11:08:57.22ID:PNU8wIel
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw
2021/09/15(水) 19:05:12.55ID:0q0CE+HI
スクレイピングすると地獄へ落ちるって本当ですか?
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
スクレイピングすると地獄へ落ちるって本当ですか?
2021/09/16(木) 00:25:58.50ID:i5BIJ4kk
君の人生はもう地獄行きが確定してそうだから不安がるなよ
839デフォルトの名無しさん
垢版 |
2021/09/16(木) 09:38:24.19ID:I3VTO38j
5ちゃんに一日1000回書き込むと極楽浄土が約束されます
2021/09/16(木) 12:46:14.58ID:AVL/loTg
sphinxのスレってwebpg板にもweb製作板にもここにも無いのか
2021/09/16(木) 12:56:20.01ID:ebDt5W+H
1)abc
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
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')]
2021/09/16(木) 14:22:48.45ID:AVL/loTg
と思ったらそのサイトの下のほうに
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
2021/09/16(木) 18:14:47.89ID:TQVwbqUl
nm でそのlibをスキャンしてみたら?
libiconvはどこにつながっている?
847デフォルトの名無しさん
垢版 |
2021/09/16(木) 18:59:56.78ID:13aXyCX3
>>846
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)
と出ます。回避方法等ご教示くださいませ。
2021/09/16(木) 23:18:50.22ID:wbqs1W10
マイナーなライブラリについて質問しても答えてくれる人いないよ
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
850デフォルトの名無しさん
垢版 |
2021/09/16(木) 23:31:37.25ID:KHTFd4df
>>849
ファイル名は違うものですが・・・マイナーなものは難しそうですね。
ご助言ありがとうございました。
851デフォルトの名無しさん
垢版 |
2021/09/17(金) 08:59:56.61ID:UtF7UwZj
>>848
dependencyは満たしているか?
852デフォルトの名無しさん
垢版 |
2021/09/18(土) 01:57:16.35ID:lb+sAgRD
スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
2021/09/18(土) 02:04:45.09ID:75qnM2AM
>>852
自治体とコインランドリーに許可を取れ
ちゃんと筋を通せば金になるかもしれんぞ
854デフォルトの名無しさん
垢版 |
2021/09/18(土) 08:28:17.55ID:bA/qQPAi
>コインランドリーの稼働データを集計して空いてる確率が高い時間帯

台風の最中は空いてそうだ
2021/09/18(土) 08:29:01.24ID:BxqtlgPJ
正攻法は>>853だけど裏技的にやるんだったらMVNOのSIM契約してipとかUAを変えながらスクレイピング。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
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
こういうことがしたいのです
2021/09/18(土) 09:33:30.24ID:jUwIv+ht
e.txtがすでに存在していたらどうするん?
2021/09/18(土) 09:34:02.57ID:jUwIv+ht
3.txtの間違い
2021/09/18(土) 09:44:49.40ID:lb+sAgRD
>>853-856
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
2021/09/18(土) 09:46:54.79ID:BxqtlgPJ
.netだとtempのファイル名を持ってくるメソッドがあったな。
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
2021/09/18(土) 09:56:28.76ID:dDlDUvsj
対象フォルダにtmpフォルダ作ってそこにリネームして入れていけばいいんじゃ
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を付加したファイルを、目的のファイル名にリネームしてる
864デフォルトの名無しさん
垢版 |
2021/09/18(土) 10:04:11.39ID:bA/qQPAi
>>857
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
865デフォルトの名無しさん
垢版 |
2021/09/18(土) 10:44:49.91ID:2a7FPWkS
>>863
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
2021/09/18(土) 12:17:29.33ID:9Dfq3hh+
>>865
ちなみに、existsするのがフォルダだった場合処理できないよ
2.txtみたいな名前のフォルダ・・・
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 を調べている
868デフォルトの名無しさん
垢版 |
2021/09/18(土) 13:56:07.34ID:LBCfu3j9
どの本にも〜とか言う割に本は挙げないのな
2021/09/18(土) 15:25:34.95ID:ZDaB5e5K
selenium(ChromeDriver)で
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
2021/09/18(土) 15:34:01.38ID:aJjTmiOO
改めて locator を与えればいいんじゃね?
2021/09/18(土) 15:58:23.33ID:9lUPAjpA
ある条件を満たした時にプログラムを再起動したくて
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
2021/09/18(土) 16:03:37.86ID:ZDaB5e5K
>>870
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()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
2021/09/18(土) 16:17:13.98ID:9lUPAjpA
自己解決しました
>>871>>873の質問は撤回します
2021/09/18(土) 17:09:13.84ID:jUwIv+ht
どう解決したのか書くのが礼儀やで
876デフォルトの名無しさん
垢版 |
2021/09/18(土) 18:13:33.17ID:J85RgKD5
頭のおかしい人に以下のようなことを言われました

>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない

具体的な書籍名を教えてください


>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない

どこでそんなルールが決まっているのでしょうか?
2021/09/18(土) 18:30:17.02ID:6JilEPez
マルチポストすんな
2021/09/18(土) 18:53:11.55ID:b0edjBZj
>>876
お前頭悪そうだな
2021/09/18(土) 18:54:45.08ID:+/kaLHzE
>>876
> どこでそんなルールが決まっているのでしょうか?
決まってないよ
ただ普通の頭持ってたらマルチポストが回答者に失礼だと言うことはわかるはず
2021/09/19(日) 04:35:52.74ID:rCAdh0cW
>>876
Rubyガイジに頭悪いと指摘されるとか相当だぞ
肉塊の方が賢いまであるなw
2021/09/19(日) 05:44:05.93ID:yvbuOcQZ
肉塊って何?
2021/09/19(日) 06:35:05.82ID:XiUCEd2G
>>872
カスタム待機条件を作って elem.is_enabled() を返すのは?
2021/09/19(日) 15:05:50.16ID:snblcpQq
>>882
なるほど、カスタム待機条件というのがあったか。
これでエレメント引数にした待機できた。ありがとう
2021/09/22(水) 08:26:17.31ID:ykk+hhl9
Python3.9.7で、テキストボックスに右クリックメニューをつけたいのですがうまくいきません

input1 = tk.Entry(root,textvariable = x1_str, width = 5)

def show_right_click_menu(e):
____w = e.widget
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command=lambda: None if 0 else w.delete(w.index("sel.first"),w.index("sel.last")))
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)

選択していない状態で削除を実行すると下記エラーがコンソールにでます
_tkinter.TclError: selection isn't in widget .!entry

エラーが表示されないようする方法をご教示いただけませんか
エラーが表示されるだけで問題なく動いていますが気持ち悪いので
2021/09/22(水) 16:50:16.15ID:wN494UoL
pythonで、いわゆるDBのコネクションプールのような、限られた複数資源をプールにして使い回す基本的な仕組みって何かありますか?
DBで使うわけではないので汎用的なものを想定してます
たとえば資源として5つのインスタンスがあり、要求側はそれのいずれかが空いていれば排他的に1つのインスタンスを獲得し、すべて獲得済みの場合は任意の時間待機させる、というイメージです
要求側は必要な処理が終わればインスタンスをプールに返します
キューを使ってできそうな気がしますがもう少し実装しやすいものとかありますかね?
2021/09/22(水) 20:35:20.60ID:N9zBagLQ
>>885
しったかで書く
PyPIで多数ヒットするけど逆にこれってのはないからインターフェイスの好みで選択
どうせ中身はQueueかdeque
DB接続でいうとドライバやミドルウェアにだいたい専用のが付いてくる
2021/09/22(水) 23:15:37.85ID:rplKfx8l
>>886
ヒントありがとう
PyPIで見たら確かにだいたいqueueで実装されてた。ソース参考にして実装してみます
2021/09/23(木) 01:31:50.40ID:ERg2ncYO
Pythonも最近ではそんな真面目な用途でも使われそうな感じになってきてるのか。
おじさんびっくりだわ。
889デフォルトの名無しさん
垢版 |
2021/09/23(木) 02:31:58.77ID:GanDJT5R
独学プログラマーを読んで勉強始めた方いますか?
Amazonレビュー見ると意味不明なURLや冗長な表現など初心者を惑わせる表記があるようで
初心者向けとは言えないような印象を受けますが、通しで読むとちゃんと初心者向けになってるのでしょうか?
890デフォルトの名無しさん
垢版 |
2021/09/23(木) 09:05:11.72ID:aonnyzzk
self taught programmerは英語版をパラパラと眺めた程度だけど、悪い本じゃないと思う
どの教材にも欠点はあるから、多少のことは気にせずにさっさと取り掛かったほうが良いと思う
初心者が自分にとって完璧な教材を見つけるのは無理

他の本のほうが良さそうなら他のでもいいし、無料のweb教材でもいいし
2021/09/23(木) 09:37:27.55ID:aonnyzzk
ちなみに『独学プログラマー』は「自力でプログラムを覚えて仕事を始めるまで」が一番大きなテーマであって
pythonのことを手取り足取り教える目的で書かれたものではない

単純にpythonの基本を学びたいだけなら、もう少し狭い内容を扱った他の本が良いかもしれない
892デフォルトの名無しさん
垢版 |
2021/09/23(木) 11:14:45.24ID:zah9lHsX
そもそも独学出来るようなプログラマーならそんな本読まなくても出来るからな
2021/09/23(木) 12:55:36.27ID:aonnyzzk
>そもそも独学出来るようなプログラマーならそんな本読まなくても出来るからな

これはその通りで、基礎的なことは全部ネットに無料で落ちているので、わざわざ本を買う必要はない。
本で学ぶのが好き、って人もいるだろうから全否定するつもりはないけど。
2021/09/23(木) 13:12:18.93ID:3iEJN86R
spring bootは本買わないと無理あのntt data様が出してる奴
2021/09/23(木) 15:24:28.97ID:Hq81xlZ0
>>888
LAMP(Linux,Apache,MySQL or MariaDB,PHP or Perl)のPがPythonに移行されつつある
DBの方もPostgreSQLに変わりつつある
2021/09/23(木) 15:26:56.89ID:xxtNZLaL
LAPP?
2021/09/23(木) 15:40:45.97ID:w4tdfW/t
ApacheもNginxに移行
2021/09/23(木) 15:50:02.39ID:Ru7FlOs1
Apache も Nginx に移行してるから LNPP かな?
2021/09/23(木) 15:55:26.37ID:Sp5Iyysf
いまさらPostgresが主流になるような感じはしないがな。
DBMS全体でPostgresのシェアは上がってきているがMySQLも同様にシェアを拡大している。
そもそも普及率が倍くらい違うし。
2021/09/23(木) 16:00:23.97ID:Hq81xlZ0
MySQLはOracle→MySQLに意図的にOracleが動いてるみたいね
2021/09/23(木) 16:18:46.38ID:Ru7FlOs1
まあ倍半分違う(対数スケールなので注意してね)からそうそう主流が入れ替わることはないと思うけど PostgreSQL と MongoDB が頑張ってるな
https://news.mynavi.jp/article/20200403-1009423/images/002l.jpg
2021/09/23(木) 16:20:47.11ID:/gKnAjHi
postgreSQLは最近覚えたけどそこまでメリットは感じない
pythonから叩くにあたってmysqlから面倒くさい部分は増えた
2021/09/23(木) 17:48:30.88ID:LWGez+JK
pip listでsympyが確認できるのに

>>> import sympy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sympy'

となるのはなぜですか?
2021/09/23(木) 18:00:58.85ID:3iEJN86R
インタープリターに入らずにpip install sympyだって前ここで誰かが言ってた気がする
2021/09/23(木) 18:05:30.32ID:cmFu96z6
実行したpipはver2系だったってのは(俺が)割とよくやるミス
2021/09/23(木) 18:08:54.09ID:Hq81xlZ0
>>902
PostgreSQL用ドライバ必要だからな
2021/09/23(木) 18:23:39.46ID:QMUWvoXV
>>905
同じく
そのためのpip3だけどね
2021/09/23(木) 19:48:46.26ID:ERg2ncYO
MySQLは単純かつ高速に動かしたい時は鉄板
2021/09/23(木) 20:52:10.59ID:LWGez+JK
>>904
>>905
pipでもpip3でももうインストールされていますみたいなメッセージが出ます
2021/09/23(木) 22:25:39.27ID:Ok65a0lv
>>884
自己解決しました
def show_right_click_menu(e):
____w = e.widget
____def show_right_click_menu_delete():
________nonlocal w
________try:
____________w.delete(w.index("sel.first"),w.index("sel.last"))
________except:
____________pass
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command= show_right_click_menu_delete)
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)

tkinterがよく分からない
次は、undo redo をなんとかしたい
2021/09/24(金) 00:17:26.60ID:wqDlteq1
>>867
レス遅れてしまい申し訳ありません
時間つくっていくつか書籍を立ち読みしてみましたが
訴えられる前提でスクレイピングする本は当たり前のようにありませんでした
テストサーバでプログラム作ってから、相手に連絡した上で動作させるのが最低限のマナーで
あとはもう自分で創意工夫して逮捕防ぐしか無いですね
2021/09/24(金) 08:20:48.10ID:KibxKmAg
>>730
このpython3.8だとproxy繋がるけど3.9だとダメになる問題は自分自身で解決しますた。
https://github.com/psf/requests/issues/5740
こことかそのリンク先に書いてある。
社内環境でセキュリティのためproxyでHTTPS通信を復号化してるんだけどそんな特定条件で起こるらしい。
.condarcのhttpsのproxyをサンプルを真似してhttps://hogehogeって書いてたけどhttpに修正したら繋がるようになった。
2021/09/24(金) 08:36:42.56ID:EhTNSQ6t
ニシキヘビともんごイカか
LNPyM
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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