くだすれPython(超初心者用) その47【Ruby禁止】
■ このスレッドは過去ログ倉庫に格納されています
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
↓等のてきとうなソースコード用うpろだに貼ってきてください。
スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その46【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/ まあchromeやgmailまわりでwindowsに対してめちゃくちゃ文句言ってたのは知ってる。
使ってないは言い過ぎだろうけれど、中の人達は好きじゃないだろうね。 ローカルで実行する機械学習なんて高が知れているから重要視してないってのもある 初心者です。
python であるWebサイトのスクレイピングをしたいと思います。
そのサイトはアクセスする際に、
・クライアント証明(pfxファイル)
・その証明書のパスワード
・ユーザー名
・パスワード
が必要なのですが、requests で読み込むことができるでしょうか。
調べながら2〜3日やっているのですが、わけがわからなくなってきました・・・・ 2行目の証明書のパスワードは
ローカルな話だから
ローカルでパスワード無しのを造れば良い
他はrequestsでOK >>753
ありがとうございます。
> 2行目の証明書のパスワードは
> ローカルな話だから
> ローカルでパスワード無しのを造れば良い
すいません、理解が足りず一点質問させてください。
対象のサイトをブラウザで閲覧するとき、初回のアクセス時に 証明書(pfxファイル)を
指定してブラウザに読み込ませる(このときパスワードがいる)必要があったのですが、
・「requests でアクセスするときはこのパスワードが不要」
・または、「パスワードが不要な証明書を作り直せ良い」
のどちらになるでしょうか。
教えていただけると助かります。 >>749
デスクトップ・アプリケーションならWindows対応考えるだろうけど
ブラウザやライブラリレベルだとUnix/Linuxで動くことを前提に開発するのは当然で
Windowsの特殊な事情に対応するのはまた別のレイヤーの話だよね >>754
例えばIEとかEdgeとかなら
pfxをエクスポートするときに
パスワード有無の設定が選べる >>756
ありがとうございます。
了解しました。 >>756
パスワード無しpfxを直接requestsに渡せるの? ディープラーニングってどれくらいのマシンパワーが必要なんでしょうか?
自宅pcでやるのは無理ですか?アナコンダなど 目的とその学習量によるが
実用化しようとすると
計算資源が不足する場合はよく起こる 自分で1から全部作るなら問題ない
ソフトウェアというのは、その時点で開発者の想定したハードウェアにおいて人間から見て許容可能な時間で処理を完了するように作られるものだ
で、ディープラーニングというのは普通クラウドで超高性能のマシンを多数並べて動かすのが普通であり、
出来合いのツールやフレームワークはそういう環境を想定して作られている
すなわち、それを手元のPCで動かそうとすると許容できないほど遅くなる可能性が高いってこと
性能の技術的限界というよりは開発者の想定の問題なんだよ 実行させてる間に他の事したいんだったら
もう一台PCある方がマシ
既に一台だけ持っててテストだけしたいならそれでやって
速度足りないと思ったら新規に買うなり
AzureとかVPSとか適当に外部のCPU/GPUの力を借りる >>759
MNIST,CIFAR10ぐらいのチュートリアルレベルならノートPCでも行ける >>759
これ自分も気になる
ローカルでHello Worldレベルの機械学習の勉強をやってみたい
クラウドのサービスとか使わずにやってみたい >>763
アイドルの水着を脱がせたいのですが、これはどうでしょうか?
GTX10502GBはありますです >>764
一か月は見積もれ
>>765
はなしにならん ただ一人の水着脱がせる程度でも?
じゃあcolab使うしかないの? ひとりという単位で考えても仕様がない
学習量は識別精度のラインで決まる
画像認識なら判別できるかどうかとか >>767
学習完了したモデルがあって脱がせるだけなら十分だよ
学習からだったら厳しい 厳しいというか
エポックメイキングクラスの頭の良さじゃないと無理ゲーw こんな場所で聞く前にやってみればいい
メモリ不足になるか永遠に終わらないなら出来ないって事だから >>765
そんなしょぼいリソースで脱がせられるわけ無いだろ。
肘の高さまで積めば脱ぐぞ。 コラは脳内でやりなさいな
自作コラがデジタル遺産になっちゃった時のことを想像してみなよ www >>774
アナログエログッズ遺産wの話はよくきくなー 何にでもパレオを着せちゃうアプリなりWebサなり作ったらおもしろいかなぁ・・・? (´n`) モダンなpythonのweb開発ってこんなんで合ってるか?
・fastapi
・uvicorn
・poetry
もっと強そうなのやってるってやついたら教えて >>791
ない
Integerの0と1で代用
てかデータベース板聞く内容 >>792
やっぱそうか…でもSQLalchemyかましたら普通にTrue Falseでいける? >>793
SQLAlchemyを使う前提ならSQLiteの型はあまり考慮しなくていい
Python側でTrue/Falseを使えばデータベース側はバックエンドに応じて適切に処置される >>794
サンクス
そうなんすね、こういうときにORMが力を発揮するんやね、今までなんのためにあるかようわからんかったけど ワードプレス案件とかあったとしても、コミュ力無いと無理だな SQL の文法に論理的 AND とか OR はあるのに
bit の AND / OR が無いのは不思議 テーブルにビットフラグ入れる馬鹿を喜ばせるような機能を入れてはならない すみません。質問させていただきます。遷移して100件ほど取得後outputリストに入れて、pandasで確認してみたところ各100行ほどのデータが1つしか表示されず
item_urls = []
output = []
for _ in range(1):
res = get_html(url)
soup = bs(res.content, "html.parser")
item_urls += ["https://www.adkeiolm.com" +item.find("a").get("href")for item in items]
url = "https://www.adkeiolmw.com" + soup.find(class_="pager-next kjduaksi-as").find("a").get("href")
print(url)
time.sleep(5)
output.append({
"title":item.find(class_="items-box-name sevne-3").text,
"price":item.find(class_="items-box-price sevne-4").text,
"url": "https://www..com" + item.find("a").get("href"),
"pictuers":item.find("img").get("kiad-src")
})
下のこの内包表記を使ったコードでは各100件ほど取得できているのですがタイトル1つに100件が入ってしまっていて100行にしたいのですが、1行に全て入ってしまっています。このデータを1つずつにするにはどうすれば良いのでしょうか?
output.append({
"title":[(item.find(class_="items-box-name sevne-3").text)for item in items],
"price":[(item.find(class_="items-box-price sevne-4").text)for item in items],
"url" :["https://www.adkeiolm.com" +item.find("a").get("href")for item in items],
"pictuers":[item.find("img").get("kiad-src")for item in items]
})
内包表記の使い方が間違っていたり、質問が分かりにくいと思いますが教えていただければ幸いです。宜しくお願い致します。 >>802
内包表記が間違ってるんじゃなくてpandasのDataFrameへの突っ込み方が間違ってる
やるならこうかな
titles = []
prices = []
urls = []
pictures = []
と列に対応するリストを作った上で
titles.append(…)
prices.append(…)
urls.append(…)
pictures.append(…)
とそれぞれリストに追加して
df.DataFrame({
‘title’: titles,
‘price’: prices,
‘url’: urls,
‘picture’: pictures,
})
とやる
遅くていいならdf.append()やdf.assign()を使えばできるけど、上に示した方法のが速い ミスった
分かってると思うけど df.DataFrame は間違いで正しくは pd.DataFrame >>803
別々にすることが出来ました。別々になったものを合わせて表示することもできるのでしょうか?
列ではなく行の表示にかわっていたり分からないことが多いので
pandasのこともっと調べてみようと思います。助かりました。ありがとうございます。 pandasは可読性悪いし、スケールもしないってことはもっと知られてもよいと思うよ。
便利だとは思うけど。 たまにスクレイピングの質問の後に
馬鹿には無理の書き込みがあるけど
複雑なものを作るわけでもないスクレイピングやpandasなんてやってれば
馬鹿でもできるようになるだろ。 ffmpeg.exeを実行ファイルと別のフォルダに置きたい
pyinstallでexe化して人に渡すプログラムなんだけど、実行ファイル内でffmpeg.exeはここです というように指定できないのでしょうか ここにありますって別フォルダを指定すればいいのではないでしょうか Pythonで桁を揃えて出力したいのですが
C言語の(%桁数)みたいなのってありますか
C
printf("%3d",val);
Python docs.python.org/ja/3/library/string.html#formatspec >>> val = 13.456
>>> f'{13.456:3.2f}'
'13.46'
>>> val = 13
>>> f'{13:3d}'
' 13' >>816
せっかくvalに入れたのに何故使わない・・・ >>816 >>815
出来ました、ありがとうございます >>807
スケールもしないとは具体的にどういうことをいうのか教えてください。 >>811
third party 製のライブラリを置くフォルダを作れば?
むしろ、実行ファイルと同じフォルダへ置くと、
もし、そのフォルダへパスを通す客がいた場合に、
ffmpeg.exe もグローバルに見つかってしまうから、
客が元から、ffmpeg.exeのフォルダへパスを通していた場合に、
パスの順序によっては、実行されるffmpeg.exeのバージョンが変わってしまう
Ruby ならコマンドプロンプトで、where ruby
と入力すると、C:\Ruby25-x64\bin\ruby.exe
このbin には、rspec など、多くのグローバルなコマンドが置いてある
where rspec
C:\Ruby25-x64\bin\rspec
C:\Ruby25-x64\bin\rspec.bat
一方、include, lib などは、そのパスに含まれないフォルダにある。
C:\Ruby25-x64\include
C:\Ruby25-x64\lib 質問させてください。環境はVSCode、python3.8です。
はじめての Django アプリ作成、その 3¶
https://docs.djangoproject.com/ja/3.0/intro/tutorial03/
をやっているのですが、途中で出てくる
latest_question_list = Question.objects.order_by('-pub_date')[:5]
という部分の「objects」とは何なのでしょうか?
チュートリアルには説明がなく、定義へ移動も使えないため、調査が行き詰っています。
どうやらDB関連であることは分かったのですが、
詳しい説明があるページなどはないでしょうか? >>820
とりあえず生ファイルで1GB ~ 10GBの容量を df で読み込んでみればわかる。 >>822
チュートリアルその2を飛ばしたのか?
まぁその気持ちはわかる スケールさせたい場合はpandasよりもdaskのがいいらしい
大規模処理はPySparkしか使ったことないので詳細は分からない
速度が速いbaexというのもあるらしいが、こちらも未だ未検証
まだまだ勉強する事が多い testString = "testabctesttestaaatest"
みたいな文字列があった場合、末尾のtestだけ削除して
testString = "testabctesttestaaa"
に置き換えるにはどうしたら良いですか? >>830
testString = testString[0:-4] >>830
testString = re.sub(r'test$', '', testString) tkinterで開始ボタンと停止ボタンを作り、
開始ボタン押下でスレッドで処理開始、停止ボタン押下でスレッドを終了ということをやりたいです
ググった結果、グローバル変数でフラグ管理をしてスレッドを終了させるという手法を見つけたのですが
while True:
処理A
処理B
処理C
...
こういった感じでスレッドが長めのwhileループをしており、
フラグ判定でスレッドを終了させるにはそこら中に判定文を仕込む必要がありそうであまりスマートに見えません
初のプログラム言語で何か見落としていそうなのですが、良い方法はないでしょうか 最後に終了フラグ立ってるかどうかだけ調べる処理書いとけばいいんじゃねーの 途中で安定的に止めるには、途中でフラグ見るしかなかろ。シグナル送るにしても、結局チェック要るんだから
あるいは
def call_func(call):
__check stop_flg()
__if call=1:
____処理内容関数1()
__elif call=2:
____処理内容関数2()
みたいな
俺は途中で止めるときはkillしたあとプロセスとqueue空にする過激派だからmultiprocess使う >>834
> 初のプログラム言語で何か見落としていそうなのですが、良い方法はないでしょうか
ないです
現状では、優先度 (priority)やスレッドグループがなく、スレッドの破壊 (destroy)、中断 (stop)、一時停止 (suspend)、復帰 (resume)、割り込み (interrupt) は行えません。
https://docs.python.org/ja/3/library/threading.html#threading.TIMEOUT_MAX subprocessって以前は破壊コマンドあったんだっけ?
いまはos.killするしかないのか AAA,BBB,CCC
1,テスト,テスト
のようなウェブ上にある CSV を
csvfile = urllib.request.urlopen('<url>').read().decode('utf_8_sig')
reader = csv.reader(csvfile)
for row in reader:
print(row)
みたいな感じで読むと、1文字ずつ取り出されてしまうようなんですが、
どういったところを疑えばよさそうですか?
CSV が1文字ずつ改行されているということもないですし、
ネットで探してもこんなことで困っているようなケースは見当たらないようですが… >>839
csvfileって書いてるところがstrだからでしょ
for row in csv.reader(csv_string.splitlines()):
みたいにすればいいと思うよ >>840-841
いけました!!!ありがとうございます!!!!! >>839
csv.reader()の引数はイテレータである必要があり__next__()を呼び出して処理する
csvfileは文字列で__next__()を呼び出すと1文字ずつ返すからそうなってしまう
多分やりたいのは1行ずつ処理してほしいんだろうから
urllib.request.urlopen('<url>').read().decode('utf_8_sig').splitlines()
とかで行のリストにしてみたらいいかと # なんとなくread()するのがもったいないかんじもするので
with urllib.request.urlopen('<url>') as f: # byte stream
__tf = io.TextIOWrapper(f, newline='', encoding='utf-8')
__reader = csv.reader(tf) # text stream
__for row in reader:
____print(row) なるほど、csv.reader(open(ファイル名,"r"))での動作はそういうことか。 Ruby では、CSV.foreach で、1行ずつ処理できる
require 'csv'
file_path = "input.csv"
CSV.foreach( file_path ) do |row| # 1行ずつ処理
puts "#{ row[ 0 ] } : #{ row[ 1 ] }"
end
出力
あ : いう
a : bc >>846
844のコードで何が書いてあるかさえ理解できないの?
ほんとにrubyしかわからないんだな。毎日毎日別言語のスレに見当違いのrubyのコード書いて、無職でrubyでちょっとしたコードが書けることが唯一の誇りなのかな…? でもなあ>>843みたいに既に回答されてる内容をさも意味があるかのようにただ繰り返すだけのやつよりはまだいいと思うぞ >>848
リロードしてなくて被っただけ
アンカー見たらわかると思うんだが
>>847
ルビ厨の相手するなよ… ■ このスレッドは過去ログ倉庫に格納されています