Pythonのお勉強 Part68

■ このスレッドは過去ログ倉庫に格納されています
2022/09/15(木) 18:52:26.67ID:VqLViKoX0
!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://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki ttp://python.rdy.jp/

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

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

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ​
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2022/09/30(金) 02:07:16.16ID:f+ZVHjVVa
>>160
似たような大きさの数字ならその発想もいいけどね
現実はコスパの悪い任意精度の演算が必要になることが多いのでは
2022/09/30(金) 03:11:26.40ID:FkDRVgM50
>>160
つ fractions
2022/09/30(金) 04:56:46.10ID:HxNT59pn0
だから誤差の話するならIEEE754読めよ
2022/09/30(金) 04:57:30.60ID:CfDFJOy00
>>160
昔GCD付きの分数クラス作ったけど
結局はdoubleになったことがある
2022/09/30(金) 05:21:28.14ID:oHn8O8ll0
>>160
四則演算だけならいいけど√とかsin( )とかはどうする?

>>161
掛け算、足し算で誤差がでるケースとは?
2022/09/30(金) 08:01:25.94ID:Gm4+1fgX0
sinとかも内部は四則演算
2022/09/30(金) 09:17:00.10ID:oHn8O8ll0
>>168
近似演算の話されても困るんだがw
2022/09/30(金) 09:23:23.51ID:k91OtGRla
三角関数の近似じゃない演算て
171デフォルトの名無しさん (ワッチョイ 2701-okKg)
垢版 |
2022/09/30(金) 10:05:45.64ID:EsKmogiV0
python chapelについて質問です。
情報があまりないので、チャペルについてお勧めのサイトがあれば教えてほしいです。
2022/09/30(金) 10:38:01.55ID:t/wNXSJY0
クヌースのTAOCP読むといいよ
コンピュータでの数値計算の全てが書かれてる
2022/09/30(金) 13:20:23.85ID:oHn8O8ll0
>>170
sinsin, cos のまま計算するって話だろ
数学不得意か?
2022/09/30(金) 13:47:23.87ID:k91OtGRla
>>173
そんなもん代数的な操作だろ
2022/09/30(金) 13:54:50.47ID:oSg68bQdM
>>160
遅いからだよ
2022/09/30(金) 14:09:07.38ID:oHn8O8ll0
>>174
話は>>160から始まってて途中は代数的な操作で最後に一回だけ演算することで誤差を抑えられるって話な
177デフォルトの名無しさん (ワッチョイ 1610-DrlT)
垢版 |
2022/09/30(金) 16:11:14.18ID:7g2iZKZC0
三角関数は二項演算じゃないから後も先もないだろ
2022/09/30(金) 16:39:44.93ID:du1MSukG0
ここまで有効数字の話なし
2022/09/30(金) 16:40:16.15ID:Gm4+1fgX0
有理数演算に有効数字は関係ない
180デフォルトの名無しさん (ワッチョイ 1610-DrlT)
垢版 |
2022/09/30(金) 17:02:40.52ID:7g2iZKZC0
実は誰も数値計算誤差について知らないのである
2022/09/30(金) 17:36:21.26ID:Gm4+1fgX0
組み込み系で、積算の量を保持していて
1秒毎に測定して何年というスパンで計算を続けると、
もう32bitでは精度が足りなくなる
182デフォルトの名無しさん (ワッチョイ 2f97-5djn)
垢版 |
2022/09/30(金) 18:26:40.60ID:J+iH2myB0
最後に浮動小数点数にして誤差を減らす方法は、代数的な計算ができる必要がある。
Mathematicaとか、SymPyだな。
ただ代数的な計算は上手いこと式を整理してやらないと簡単にならないことも多い。積分は公式を知らないと出来ない、というのと同じ。
有理数の四則演算だったら単なる有理数演算を逐次的に実行していけば問題ないだろうが。
183デフォルトの名無しさん (ワッチョイ 2f97-5djn)
垢版 |
2022/09/30(金) 18:28:54.96ID:J+iH2myB0
>>177
んなことないだろ。加法定理やら積和、和積の公式とか習わなかったのか。あの辺使うと極端な場合の誤差減らせるよ。
xが0に非常に近い場合のsin2x/sinxとかね。
2022/10/01(土) 03:53:03.59ID:SpYHa2lW0
お金の計算とかは
有理数しか出てこないんだから
分数で十分のような気がするんだが
2022/10/01(土) 05:23:12.47ID:9xFR6mUQ0
丸めたくない意図だと思うが加減算だけで速攻破綻する
2022/10/01(土) 05:55:22.47ID:jubCkgWp0
単にbit数が足りなくなるという話なので、
必要に応じてbit数を増やしていけばいい
無限に増えることは絶対ない
187デフォルトの名無しさん (ワッチョイ 8301-Umkq)
垢版 |
2022/10/01(土) 06:02:40.31ID:WTWdfTM50
質問です。
djangoの資格を作りたいとおもってます。
需要はありますか?
2022/10/03(月) 07:28:28.28ID:qHW/WFxU0
https://translate.google.com/

Google翻訳のページで、テキスト入力ボックスから「Tabキー」を1回押すと必ず「音声を聞く」のアイコンに移動するようにしたいのですが、Pythonで可能ですか?
通常は3回で行けるのですが、”原文の言語”や”もしかして”が表示されるとTabキーを押す回数が変わって面倒です。しかもリストが表示されててそのパターンなのか見えない。
Pythonで何とかしようとしてるのがそもそも間違っている気がして、簡単なHPをJavaとか?で作ったり、アドオンを組んだりとか別の手段が必要ですかね?
2022/10/03(月) 07:35:38.92ID:y8eCR1Dta
うるせえ
2022/10/03(月) 09:20:27.54ID:XqhFz79Ma
>>188
現在のフォーカスを取得することでTab回数制御できそうだけど
そもそも音声を聞く、のidありゃそこに飛ばせるやろ
2022/10/03(月) 10:02:57.41ID:qHW/WFxU0
>>190
seleniumを使ってプログラムを実行した時だけなら出来たのですが、普段使いで常にその状態にさせる方法が分からなかったです。
独自の簡単なChrome拡張機能を作る方向が一番良さそうな感じです。そっちで少しやってみます。お騒がせしました。
2022/10/03(月) 10:19:40.80ID:2xmZEmoH0
>>191
拡張起こさなくてもTampermonkey拡張でスクリプト書くだけ
2022/10/03(月) 10:33:51.18ID:vUZPctIIM
USWCとか使ってESCキーを押したら画像認識で再生ボタンクリックとかにすると簡単そう
ESCだと位置的に押しやすいし予測候補も消える
pyautoguiみたいなの使えばPythonでもUWSCと同じ事出来たはず
windows限定の話だけど
2022/10/03(月) 10:49:36.68ID:WjbJBDxU0
拡張する方向でやってもすぐに使えなくなったりするので、
キーやマウスの操作を発生させる方向でやるのが結局ベストだったりする
2022/10/03(月) 10:54:58.28ID:qHW/WFxU0
>>192-194
最初に調べるキーワードが出てこなくて分からないことが多いので情報助かります
頂いた情報を元に解決する方向でやってみます。ありがとうございました。
196デフォルトの名無しさん (スフッ Sd1f-0H1b)
垢版 |
2022/10/03(月) 10:55:37.39ID:S1BqvHYWd
>>169
>>173
複素数や四元数を使うのが割りとマジでお薦め
2022/10/03(月) 11:05:12.96ID:zOLlU4yCa
オイラーをほめたたえよ
2022/10/03(月) 18:00:29.25ID:pcuzjq2H0
>>188
Ruby, Selenium でも、JavaScript を使って出来たけど、

ソースコードの何かの単語がブロックされるので、
ここには貼れないので以下へ

https://jsfiddle.net/w3anscm6/
2022/10/03(月) 18:09:52.15ID:wCVa7NBkM
>>198
どーゆーこと?
2001 (テテンテンテン MM7f-kE2G)
垢版 |
2022/10/03(月) 22:09:32.24ID:yB/cj66NM
質問です
以下のプログラム(wikipediaの今日は何の日)をエクセルで起動させたときに最後の年号の()が取れてないとおかしいのですがどこのコードが間違っていますか?
優しい方教えてください

import requests
from bs4 import BeautifulSoup
import csv
import re

url="https://ja.wikipedia.org";
response=requests.get(url)
soup=BeautifulSoup(response.content,"html.parser")

top_entry=soup.find("div",attrs={"id":"on_this_day"})
entries=top_entry.find_all("li")

today_list=[]

for i,entry in enumerate(entries):
today_text=entry.get_text().replace("(","(").replace(")",")")
match=re.search("\(([1-9].*?)年\)", today_text)
if match:
today_list.append([i+1, entry.get_text(),match.group(1)])
else:
today_list.append([i+1, entry.get_text()])

with open("output.csv", "w", encoding="Shift_JIS") as file:
writer=csv.writer(file, lineterminator="\n")
writer.writerows(today_list)
2011 (テテンテンテン MM7f-kE2G)
垢版 |
2022/10/03(月) 22:11:29.02ID:yB/cj66NM
何度も本(スクレイピング・ハッキング・ラぼ)見返したけど間違ってないんです…
2022/10/03(月) 22:13:35.20ID:WjbJBDxU0
漢字コードとか?
2022/10/03(月) 22:15:49.89ID:phcGwi7g0
とりあえずこれに聞こうぜ
https://aiprogrammer.hashlab.jp/
2022/10/03(月) 22:28:30.42ID:cMmfYMlm0
お願いします
https://ideone.com/vADQwg

for i in range(1, 100) で 99 回 next を呼んでいるのに、なぜ 79 で終わってしまうのですか?
2022/10/03(月) 22:28:53.24ID:fB4Oth8WM
>>203
すげぇこんなのあるんだ

でも解決しなかった(´・ω・`)
2022/10/03(月) 22:36:32.61ID:Hgv/NPoj0
>>204
n=15のときFizzBuzz Fizz Buzzの3つ表示されます
2022/10/03(月) 22:54:57.92ID:phcGwi7g0
これでいけそうですが、どうでしょうか

1から100までカウントして、15で割れたらFizzBuzzと表示して、5で割れたらBuzzと表示して、3で割れたらFizzして数字を表示する
2022/10/03(月) 22:58:18.22ID:phcGwi7g0
修正した

1から100までカウントして、15で割れたらFizzBuzzと表示して、5で割れたらBuzzと表示して、3で割れたらFizzして数字を文字列で表示する
2022/10/03(月) 23:01:03.63ID:cMmfYMlm0
>>206
elif にするべきだったんですね!ありがとうございます!
210デフォルトの名無しさん (ワッチョイ bfbd-vqPj)
垢版 |
2022/10/03(月) 23:48:34.11ID:DL3YHdAw0
ウェブスクレイピングをやってみたくて奮闘しておりますが、CSVへの書き込み時にエラーがでます
どう改善すればよいかわからず困っています。助けてください。

おま環(Python 3.9.12+Windows10+VScode)
【コード】
for a in soup.find_all('a'):
link = a.get('href'), a.text
link.to_csv('link.csv')

【エラー】
link.to_csv('link.csv')
AttributeError: 'tuple' object has no attribute 'to_csv'
211デフォルトの名無しさん (ワッチョイ c333-pIDl)
垢版 |
2022/10/04(火) 00:31:15.23ID:QZmM2iut0
>>210
https://pastebin.com/pa33f4Mb
2022/10/04(火) 06:25:16.21ID:UhX37WNP0
>>203
Python
Tuple to dataframe
で聞く
2022/10/04(火) 06:51:23.40ID:jZxsvBQn0
https://aiprogrammer.hashlab.jp/
ウェブスクレイピングで、aタグを取得し、そのaタグをcsvファイルに出力するコードを作成してください。

import csv
from bs4 import BeautifulSoup

with open("sample.html") as f:
soup = BeautifulSoup(f, "html.parser")

csv_file = open("output.csv", "w", encoding="utf-8")
writer = csv.writer(csv_file)

for a in soup.find_all("a"):
writer.writerow([a.text, a.get("href")])

csv_file.close()
2022/10/04(火) 22:24:51.48ID:fseuENfmM
知恵袋にも質問したのですがどなたか教えていただけると嬉しいです


https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14269053849
215デフォルトの名無しさん (ワッチョイ bfbd-vqPj)
垢版 |
2022/10/04(火) 22:40:41.78ID:g6GmefYL0
>>211 213
丁寧に教えてくださりありがとうございます。
2022/10/04(火) 23:17:10.94ID:CNGS9dK70
>知恵袋にも質問したのですが

5ch はマルチポスト禁止です!
5chで質問する場合は、他での質問を取り消してからにしてください
2022/10/04(火) 23:19:23.00ID:NeQlYRE40
んなこたーない
2022/10/04(火) 23:24:09.71ID:4YJ9syiq0
さすがにインストールできてないのは答えようがない
2022/10/04(火) 23:28:30.56ID:IUIBMeejH
>>216
fj ではマルチポスト禁止の理由がありクロスポストという代替があったけれども、ここでのマルチポスト禁止の理由は?
2022/10/05(水) 00:22:21.08ID:Tx2gHWm/0
せっかくの集合知が分散するからじゃないの?
2022/10/05(水) 00:31:43.32ID:rm6FRUcS0
マルチ野郎はよそで解決しても報告しない
放置してそこら中にゴミを残す
222デフォルトの名無しさん (ワッチョイ cf10-1pq4)
垢版 |
2022/10/05(水) 00:40:43.93ID:93gtHac60
ぶっちゃけスレは落ちて過去ログになるし
検索性も低いから集合知の蓄積なんてしないよ
マルチポスト禁止は形骸化した旧きネチケットだと思う
2022/10/05(水) 00:56:27.52ID:Tx2gHWm/0
>>222
いやぁそうでもないと思うけどねぇ
2ちゃんねるの過去ログをあさって解決方法を見つけたことも数多あるし
解決できない場合でも、ヒントになるようなことが散らばっていて、それをきっかけに探し出せることもある
検索のやり方次第じゃないか?
224デフォルトの名無しさん (ワッチョイ cf10-1pq4)
垢版 |
2022/10/05(水) 01:03:22.70ID:93gtHac60
>>223
調べごとはよくするけど
2ちゃんで解決したことはないな、というか、検索方法によるだろうが出てきすらしない
大体Qiita、個人ブログ、stackoverflowのどれか
2022/10/05(水) 01:12:14.00ID:Tx2gHWm/0
>>224
いまはそうした5ちゃんねる以外の方がまともな完結方法があると思うよ
でも以前は、そういうのがほとんど当てにできなかったり、
*nixやマイナー言語、ハードウェア特有のトラブル、アングラ系wなんかだと、
英語資料を当たるきっかけやヒントが欲しかったりしたので、
2ちゃんねるのちょっとした書き込みがありがたかったなぁ

いまでも、"site:5ch.net" をつけてキーワードをググることで、
5ちゃんねるの集合知はちゃんと機能しているよ
2022/10/05(水) 01:17:40.14ID:j989iulk0
2ちゃんねるに書いてある事を、
そこまで信用したことはないな
あるとすれば、裏が取れたとき位

リンク張ってあっても、あやしげなサイトだったりすることもある
227デフォルトの名無しさん (ワッチョイ c32c-Kmz1)
垢版 |
2022/10/05(水) 01:59:12.01ID:xc1v9MP10
今回みたいに簡単なエラー文も読めねえだけのカスがネット上に散らかることが多く
これが害悪であるのでマルチポスト野郎は基本的にクソである
集合知の分散ではない。無知の飽和が問題
2022/10/05(水) 05:43:38.64ID:FOT9/eKgM
ゴメン 今回の件は全面的に俺が悪い
すみません
2022/10/05(水) 05:45:37.15ID:FOT9/eKgM
>>227
エラー文のseleniumは既にインストール済だぞ
2022/10/05(水) 05:51:53.98ID:FOT9/eKgM
>>218
seleoniumはインストール済だよ
pip install selenium でね
2022/10/05(水) 06:08:56.11ID:Vke5X/wtM
Pythonが複数バージョンインストールされてるってオチじゃないの
よくあるAnacondaどうこうってやつ
2022/10/05(水) 06:09:13.82ID:FOT9/eKgM
selenium一度アンインストールして再度インストールしたら出来ました

スレ汚しスマン
2022/10/05(水) 06:11:17.00ID:FOT9/eKgM
>>231
朝早いですね!

再インストールしたら出来るようになりました
何故か知らないけど……

……というより勝手にブラウザが開いて閉じての動作を見た時は感動しました

すげー勉強する意欲が増した
2022/10/05(水) 06:57:09.88ID:wne70pEz0
>>219
マルチポストされると同じようなレスを複数回読むハメことあるし回答したら他のスレで既に解決してたとかあるからそりゃうざいわってことだろ
ちなみにクロスポストはたいていのリーダーでどれか一つ読めば他のグループへの投稿も既読になるし回答する際もディフォルトの回答先グループが指定できるから回答が散らばることも防げる
235デフォルトの名無しさん (ワッチョイ 7f73-8eI1)
垢版 |
2022/10/05(水) 18:42:25.05ID:8ltN7Y6y0
原神スレかpythonスレかで迷ったんですけど、ちょっと失礼します。
https://github.com/shrubin/Genshin-Artifact-Rater
ディスコbotがサ終してたのでありがたくオフ環境に導入すべく頑張ったんです。

setupの手順から一通り終えてpy bot.py後なんですが
raise ValueError("Duplicate keys!")の無間地獄にはまってるんですけど
列行文でエラー指摘されてチェックしても全然関係無さげでわからない時どこ見たらいいですか?。

やっぱり基本を熟知してる人は修正して当たり前な場所とかを理解できてなくてエラー起きてるんですよね。たぶん。。
詳細足りなさすぎるのは理解してるんですけど、ほんと憶測適当アドバイスでいいので教えて下さい。
2022/10/05(水) 22:24:23.68ID:MbZCvQpZ0
>>220
それが理由だとしたらそもそも質問できる場が複数存在していて統一されていないことが悪いってことになる。
2022/10/05(水) 23:32:03.75ID:W5I+dJQy0
>>235
Duplicate keys! って、

データベースのUNIQUE インデックスまたは PRIMARY KEY に、
既に存在する同じキーで挿入しようとしたとか?

そのGithub のbot.py 内を「Duplicate」で検索しても、見当たらないけど?
どのファイルのソースコードなの?
238デフォルトの名無しさん (ワッチョイ 7f73-8eI1)
垢版 |
2022/10/06(木) 01:46:24.04ID:eDAszKmt0
>>237

bot.py実行後に、~\Programs\Python\Python38-32\Lib\site-packages\toml
内のpython38-32のdecoder.pyからエラーが出てます。
powershellを使いました。 ほぼ素人ですみません。
2022/10/06(木) 02:48:03.34ID:2LM4DEsy0
コードじゃなくて食わせるデータがおかしいんでないの
240デフォルトの名無しさん (ワッチョイ c32c-Kmz1)
垢版 |
2022/10/06(木) 03:52:44.67ID:mL002h1/0
>>238
python入門おめでとう!
2022/10/07(金) 05:27:45.05ID:TBR3DhbF0
「python toml decoder duplicate keys」で検索!

TOML ファイルの形式になっていないとか?

ファイルがBOM付きUTF-8 になっているとか?
Python は、BOMなしUTF-8 じゃないの?

https://git.cardiff.ac.uk/c2021544/blogg/-/blob/abf082d45bcacad0728c2a03e91baf103046eba9/venv/lib/python3.6/site-packages/pip/_vendor/toml/decoder.py

このファイルの781, 783 行目に、raise ValueError("Duplicate keys!") がある
242デフォルトの名無しさん (ワッチョイ 7f73-8eI1)
垢版 |
2022/10/07(金) 07:11:32.41ID:0vlnX2v40
>>241
UTF-8になってました。
ValueError: Duplicate keys!とTomlDecodeError: Duplicate keys!が出ていますが
デコードが実行された結果キー重複が起こっているのを知らせただけで、原因はやはりbot.pyの中にあるのでしょうか?
2022/10/07(金) 09:55:21.23ID:BuUd5Oey0
>>242
tomlでエラー出てるなら
bot.pyで
config = toml.load(open("config.toml"))
っていう記述あるけど、config.tomlの中身がおかしいんじゃない?
2022/10/07(金) 13:38:21.48ID:6W+GCvSh0
Traceback (most recent call last):
File "test.py", line 31, in <module>
func1()
File "test.py", line 28, in func1
func2()
File "test.py", line 30, in func2
raise Exception("hogehogeException")
Exception: hogehogeException

こういうファイル名や行数とか出てないの?
2022/10/07(金) 19:08:20.49ID:Z2W6Vqfk0
pyautogui素晴らしい最初に知りたかった
2022/10/07(金) 20:11:45.22ID:f7Qxxz6p0
ぴゃうとぐい
2022/10/07(金) 23:54:53.64ID:cLCpsl3k0
TOML のValidator で、TOMLファイルの形式が正しいかどうか、チェックすれば?
「toml validator online」で検索!

プログラマーなら、VSCode で、〜/toml/decoder.py をデバッグするとか、

decoder.pyを差し替えて、
raise ValueError("Duplicate keys!") の前後で、ログ出力してみるとか
2022/10/08(土) 07:10:23.20ID:kX9hT5zA0
PyAutoGuiも便利だけど何でもできるかというとかなり限定的

画面がこういう状態になったらこの条件に合う部分を探して、
この範囲をコピーしてこのアプリに切り替えてコピペ
みたいなことはできない
2022/10/08(土) 07:26:14.47ID:Qqe7/SLY0
ディスプレイを切ったら動かないのも使いづらい
2022/10/08(土) 11:25:58.24ID:TDMvIP2Ta
ライブラリ関数の情報を調査する方法についての質問です
sagemathというpython wrapperにあるpolygon3dという関数がどういうキーワード引数を持っているのか調べたいのです
ググるとinspect.signature関数というのが見つかります
コレでpolygon3dを調べてみると
signature = inspect.signature(polygon3d)
print(signature.parameters)

OrderedDict([('points', <Parameter "points">), ('options', <Parameter "**options">)])
と出ます
おそらく位置引数'points'とキーワード引数がいくらかあるという意味だと思うのですがやはりコレが限界なんでしょうか?
どんな名前のキーワード引数を持ってるかの一覧表を出力するような方法はないもんなんでしょうか?
251デフォルトの名無しさん (ワッチョイ de10-XciQ)
垢版 |
2022/10/08(土) 12:37:16.55ID:ymJkU01o0
>>250
オープンソースなんだからGitHubに見に行けばいいじゃん
2022/10/08(土) 14:49:02.11ID:hw6LN7oLa
>>251
そうなんです
実際sagemathは割とドキュメントもしっかりしててググれば一覧とかもあります
でもいちいちめんどくさいじゃないですか
もしかしたら各オプジェクトで利用可能なキーワード引数のリストを得る方法とか容易されてたら便利でいいなぁと
結構ググったのでなさそうではあるんですけど、調べて「あった」場合はともかく「ないなぁ」の場合、やはり最終的には強者に聞いてみないとダメかなと
2022/10/08(土) 15:06:18.06ID:lWG3uN0c0
ドキュメントをぶっこ抜いてその関数がどんな引数とるかのポップアップをエディタで出せばいい
2022/10/08(土) 15:13:56.04ID:bWQzA1rj0
pyautogui
エラー出さずにできましたが最適ではない気がします
下記のやり方より良い方法があれば教えて欲しいです


pyautogui.write() でエクスプローラーのアドレスにパスを打ち込む時
日本語や \ が入力できなかったり、最初の C: が C* に勝手に変わったりしました
・pyperclip を使って値をコピーしてから、pyautogui.hotkeyで貼り付けました


pyautoguiを使って検索したりクリックしたりする時
・画像認識してから次の処理する時は、while pyautogui.locateOnScreen() is None: で time.sleep(1) させて
・検索結果表示とか全選択とか、少し時間がかかりそうな箇所は逐一改行して「time.sleep()」を書きました
これを書くのが結構あってcodeが余計に長くなりました
2022/10/08(土) 15:27:35.37ID:bWQzA1rj0
pyautogui 便利だけどマウスとモニターが使用不可になるのだけは面倒でした
下のソフトの処理ができるなら別のもので構わないのですが、pyautogui以外でやってる人がいたら教えてください

・Adobe Acrobat
・Evernote ※Legacy版
・ソシャゲ全般(デイリー回収用)
2022/10/08(土) 15:49:00.05ID:kX9hT5zA0
ahkで簡単なことはやらせてる
python化されたahkがあればいいのにと思っている
2022/10/08(土) 15:57:12.38ID:IpF+MZYD0
ahkって何?
2022/10/08(土) 16:00:09.87ID:xEoQJfh1M
sleepが面倒なら画像名を指定するだけで待ち&クリックする関数を作れば良いんでない
バックグラウンドでの使用は、昔VPCを多重起動して使ってたことあるけど今でも出来るんかな
昔、某MMOでプロセスメモリの内容を読み取って動くマクロとか作ったけど
プロセスメモリが読めればエスパーなマクロが作れるよ
2022/10/08(土) 20:40:05.22ID:bWQzA1rj0
>>258
それでやってみます
ゲームに使えるならプロセスメモリもその内手を出しそうです
2022/10/09(日) 00:21:51.03ID:t9JKJStV0
>>252
VSCode, Ruby では拡張機能で、関数の説明なども見れる

また端末から、そういうコマンドを実行しても見れるけど、
ブラウザで見た方が見やすいので、
一旦コマンドで説明をHTML ファイルにしてから、それをブラウザで見て、
見た後に、HTMLファイルを削除する。
これが自動で行われる

ただし、その関数・モジュールの作者が、
Doc コメントみたいな決められた様式で、コメントを書いている場合のみ

たいてい、Doc コメントの説明などは、
パーフェクトRuby などのパーフェクト・シリーズ本に書いてある
2022/10/09(日) 04:21:23.14ID:L81MTKQk0
クリップボードにpathlibのPathで指定した、不特定多数のファイルをコピーをしたいのですが方法が分かりません
コピーするファイルは、フォルダー・テキスト・画像・動画・PDF関係なく、PC上で選択してCtrl+Cできるファイル全てが対象です

pyautogui.hotkey(“Ctrl”,”v“) を使って貼り付ける予定です。※Evernote Legacyというメモアプリ上で使いたい

pyperclip、shutil、pillow関連の記事は見つかるのですが、クリップボードに複数・拡張子問わずコピーする方法が見つかりません
どうすればできるのか教えてください
2022/10/09(日) 04:59:04.96ID:L81MTKQk0
今のところPathにあるファイル名いじって、検索かけてから全選択して、pyautogui.hotkeyでコピーするという遠回りなやり方でしてみました
2022/10/09(日) 11:51:56.93ID:xdRBYpSIM
FileDrop形式に変換できれば良いんだろうけどパッと検索してみた限り難しそうだね
VSを使ってクリップボードを監視してファイル名が含まれていたらFileDrop形式に変換するアプリを自作するか
コピー用のtempフォルダにファイルを一旦コピーしてから全選択→貼り付けとかでも良さそう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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