当スレに★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(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その56
■ このスレッドは過去ログ倉庫に格納されています
2021/12/27(月) 01:38:10.93ID:GepmXCuJ
2022/01/26(水) 19:52:22.08ID:hY/A3e1V
全角文字を識別子にするのは
区別が付きにくい文字があるので
あんまり賛成できないなあ
そういう文字を使わないのならいいけど
例えばひらがなの「へ」とかたかなの「ヘ」とか
区別が付きにくい文字があるので
あんまり賛成できないなあ
そういう文字を使わないのならいいけど
例えばひらがなの「へ」とかたかなの「ヘ」とか
92デフォルトの名無しさん
2022/01/26(水) 20:03:57.46ID:Dd3LK1vU >>89
文脈ないから何がしたいかわからんけど
代入伴うガード節みたいなことなら
if a := get(): return
処理
と各メイン処理前に書くことはある
if not (data := get()): return
のが読みやすいか
文脈ないから何がしたいかわからんけど
代入伴うガード節みたいなことなら
if a := get(): return
処理
と各メイン処理前に書くことはある
if not (data := get()): return
のが読みやすいか
2022/01/26(水) 20:53:13.08ID:BRzp4Bf7
>>90>>92
反応ありがとうございます。説明が悪くて申し訳ないです。
プリプロセッサのマクロみたいに、ifとreturnもまとめて関数の外に
くくり出すにはどうしたらいいんだろうという疑問です。
関数内関数とかにすると、返り値を判定しないといけないじゃないですか。
それも外に(別に関数の中でもいいですけど)出したいなと。
愚直に二回書くか、返り値を判定すれば、それで済むは済むのですが、
多分言語的に解決する方法はあって、それを知っておいた方が美しいかなと。
反応ありがとうございます。説明が悪くて申し訳ないです。
プリプロセッサのマクロみたいに、ifとreturnもまとめて関数の外に
くくり出すにはどうしたらいいんだろうという疑問です。
関数内関数とかにすると、返り値を判定しないといけないじゃないですか。
それも外に(別に関数の中でもいいですけど)出したいなと。
愚直に二回書くか、返り値を判定すれば、それで済むは済むのですが、
多分言語的に解決する方法はあって、それを知っておいた方が美しいかなと。
2022/01/27(木) 02:04:56.13ID:xQdC/mnh
プリプロセッサですか... というわけで import を悪用してみた。
return とか飛び出すみたいのは... 例外でもいいですか?
以下インデントがどうなるかわからない(全角を使ってみた)。
元のコードより複雑になっているというのは気のせい。
var.py:
----------------------
a = -10;
----------------------
check.py:
----------------------
import var
if var.a > 0:
raise Exception('check')
-----------------------
main.py:
-----------------------
import var
import check
def foo():
try:
# 処理1... の後 var.a に値をセット
reload(check)
# 処理2... の後 var.a に値をセット
reload(check)
except Exception as e:
return "end"
return "ok"
ret = foo()
print("ret = " + ret)
-----------------------
return とか飛び出すみたいのは... 例外でもいいですか?
以下インデントがどうなるかわからない(全角を使ってみた)。
元のコードより複雑になっているというのは気のせい。
var.py:
----------------------
a = -10;
----------------------
check.py:
----------------------
import var
if var.a > 0:
raise Exception('check')
-----------------------
main.py:
-----------------------
import var
import check
def foo():
try:
# 処理1... の後 var.a に値をセット
reload(check)
# 処理2... の後 var.a に値をセット
reload(check)
except Exception as e:
return "end"
return "ok"
ret = foo()
print("ret = " + ret)
-----------------------
2022/01/27(木) 09:13:31.95ID:q7HNZ+k9
しかしimportがただのプリプロセッサでないのがわかったw
変数のスコープがあったり二重読み込みがデフォで抑制されたり。
変数のスコープがあったり二重読み込みがデフォで抑制されたり。
2022/01/27(木) 10:47:35.58ID:BLpAKzVu
親関数が戻る所は、
resp = await asyncio.gather(*exec_list)みたいになってるので、
普通にreturnして欲しい所存です……
resp = await asyncio.gather(*exec_list)みたいになってるので、
普通にreturnして欲しい所存です……
2022/01/27(木) 11:09:39.82ID:kowYjA+c
Ruby のrequire は、ロードパスからモジュールを探して、読み込んで実行する。
ただし、同じものは2回以上実行しない
一方、load は、同じものでも再実行できる
include は継承チェーンに、mix-in されるから、
関数名を探索できるようになる
Rubyの作者・まつもとが、
require・includeの違いが分からない香具師は、プログラマーに向いていないと言った
ファイルを分割して書いて、読み込んで実行したり、継承チェーンを作ったりなど、
オブジェクト指向を作る、インタープリタの内部の仕組みに興味が無いような人は、
プログラマーに向いていない
プログラマー向きの香具師は、内部の仕組みに興味を持つ。
好奇心・探究心、学者
ただし、同じものは2回以上実行しない
一方、load は、同じものでも再実行できる
include は継承チェーンに、mix-in されるから、
関数名を探索できるようになる
Rubyの作者・まつもとが、
require・includeの違いが分からない香具師は、プログラマーに向いていないと言った
ファイルを分割して書いて、読み込んで実行したり、継承チェーンを作ったりなど、
オブジェクト指向を作る、インタープリタの内部の仕組みに興味が無いような人は、
プログラマーに向いていない
プログラマー向きの香具師は、内部の仕組みに興味を持つ。
好奇心・探究心、学者
2022/01/27(木) 17:11:22.17ID:xQdC/mnh
2022/01/27(木) 17:17:29.41ID:O/Xb3RdK
操作を記録して、コードを自動生成する方法を教えて下さい。
例えば記録開始後に、
・すでに起動されているメモ帳の位置を変えて、そこに「あいう」と入力する。
と言った操作をしたら、それをコードにしてくれる感じです。
UWSCの動作記録機能のような物を想定しています。
例えば記録開始後に、
・すでに起動されているメモ帳の位置を変えて、そこに「あいう」と入力する。
と言った操作をしたら、それをコードにしてくれる感じです。
UWSCの動作記録機能のような物を想定しています。
100デフォルトの名無しさん
2022/01/27(木) 17:28:41.66ID:aAqz06lG マウスキーボードグローバルフックして記録するだけ
なんだけどwindowsのapi叩くことになるから(python向けの)情報少なくて大変かも
c#とかでやったほうが楽だと思うよ
なんだけどwindowsのapi叩くことになるから(python向けの)情報少なくて大変かも
c#とかでやったほうが楽だと思うよ
101デフォルトの名無しさん
2022/01/27(木) 19:18:15.13ID:7tIXYF4b マウスの動きをトレースするのは誤差が大きいので
できればキーボードマクロを使った方が正確にできる
できればキーボードマクロを使った方が正確にできる
102デフォルトの名無しさん
2022/01/27(木) 22:10:33.22ID:/l3HfrsT103デフォルトの名無しさん
2022/01/28(金) 20:23:11.50ID:NkTLAq7B fee = ['+送料715円', '+送料1650円', '+送料', '+送料750円', '+送料']
上記のリストを下記のリストになるように置換したいです。
newfee = ['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
どのようにしたらいいですか?
re.subかre.search(書き方わからん).group().replace('+送料','+送料0円')で
いけそうかなーって思ってるんですがうまく書き方がわかりません
newfee = [ここの記載がよくわからん for fee in fee]
よろしくお願い申し上げます
上記のリストを下記のリストになるように置換したいです。
newfee = ['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
どのようにしたらいいですか?
re.subかre.search(書き方わからん).group().replace('+送料','+送料0円')で
いけそうかなーって思ってるんですがうまく書き方がわかりません
newfee = [ここの記載がよくわからん for fee in fee]
よろしくお願い申し上げます
104デフォルトの名無しさん
2022/01/28(金) 20:31:33.73ID:S2S29ZR7 \+送料$
105デフォルトの名無しさん
2022/01/28(金) 20:51:10.23ID:S2S29ZR7 newfee = [re.sub(r'\+送料$', '+送料0円', f) for f in fee]
106デフォルトの名無しさん
2022/01/28(金) 20:56:55.92ID:NkTLAq7B >>105
ありがとうございます!!
ありがとうございます!!
107デフォルトの名無しさん
2022/01/28(金) 22:49:23.99ID:GOayFGyf djangoでdb登録する方法を教えて下さい
modelインスタンスをループで沢山作って最後にbulk_create()を使って登録するのは分かりましたがmodelが7つあります
それぞれforeignkeyとそのrelated_nameで繋がっています
この場合の要領が分かりません
雰囲気的に中心となるようなmodel(仮にAと呼ぶ)を見つけてそこに例えば他のモデルのインスタンスをAのforeignkeyに渡すような感じにすればいいんですか?
もし複数渡したい時はどうすればいいですか?
そしてAがmodel Bを参照しており、BがCを参照している時にインスタンスオブジェクトAからCに登録するにはどうすればいいですか?
modelインスタンスをループで沢山作って最後にbulk_create()を使って登録するのは分かりましたがmodelが7つあります
それぞれforeignkeyとそのrelated_nameで繋がっています
この場合の要領が分かりません
雰囲気的に中心となるようなmodel(仮にAと呼ぶ)を見つけてそこに例えば他のモデルのインスタンスをAのforeignkeyに渡すような感じにすればいいんですか?
もし複数渡したい時はどうすればいいですか?
そしてAがmodel Bを参照しており、BがCを参照している時にインスタンスオブジェクトAからCに登録するにはどうすればいいですか?
108デフォルトの名無しさん
2022/01/29(土) 00:12:59.76ID:5xe9daD4 >>103
>>> ['+送料0円' if f == '+送料' else f for f in fee]
['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
>>> ['+送料0円' if f == '+送料' else f for f in fee]
['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']
109デフォルトの名無しさん
2022/01/29(土) 13:40:24.15ID:YRcqrgZl 多分壊れてて、画像としては開けないjpgファイルがある(ビューワでも各種編集ソフトでもだめ)
im = pil.open(path)
.formatとか.sizeは読める
show()
imagearray = np.array(im)
はできない
エラーはpermission denied
ファイルは編集不可属性ではない
復元というか画像として読めるファイルを作成したいんだけど、なにをしてみたらいい?
im = pil.open(path)
.formatとか.sizeは読める
show()
imagearray = np.array(im)
はできない
エラーはpermission denied
ファイルは編集不可属性ではない
復元というか画像として読めるファイルを作成したいんだけど、なにをしてみたらいい?
110デフォルトの名無しさん
2022/01/29(土) 13:55:47.07ID:s/Lqmbn4 どう壊れてるかによるからな
バイナリエディタで見てEOIがあるかとか、イメージデータが0000で埋まってないかをチェックして、データありそうならSOIからひとつず読み取ってみてどこが壊れてるか探す
ヘッダーが逝ってるだけならわんちゃんありえるけど、サイズ見えるのじゃイメージデータ逝ってる可能性大だろうな
バイナリエディタで見てEOIがあるかとか、イメージデータが0000で埋まってないかをチェックして、データありそうならSOIからひとつず読み取ってみてどこが壊れてるか探す
ヘッダーが逝ってるだけならわんちゃんありえるけど、サイズ見えるのじゃイメージデータ逝ってる可能性大だろうな
111デフォルトの名無しさん
2022/01/29(土) 16:36:36.82ID:YRcqrgZl >>110
むむ、そのへんの単語ググりながらやってみようと思ったんだけど
もうバイナリエディタで読めないっすね
えーまじか。そんなことあるのか
ちなみにwindows的にはサムネイルの作成はできてる模様
むむ、そのへんの単語ググりながらやってみようと思ったんだけど
もうバイナリエディタで読めないっすね
えーまじか。そんなことあるのか
ちなみにwindows的にはサムネイルの作成はできてる模様
112デフォルトの名無しさん
2022/01/29(土) 17:23:49.29ID:nzagQ2IL >>111
> もうバイナリエディタで読めないっすね
???
ディスクエラーになるとかか?
> ちなみにwindows的にはサムネイルの作成はできてる模様
サムネはキャッシュされてるから以前は読めたんじゃね?
> もうバイナリエディタで読めないっすね
???
ディスクエラーになるとかか?
> ちなみにwindows的にはサムネイルの作成はできてる模様
サムネはキャッシュされてるから以前は読めたんじゃね?
113デフォルトの名無しさん
2022/01/29(土) 17:34:30.94ID:1f3+2daQ とにかくそのjpgが入ってるドライブの他のファイルをどこかにバックアップするのが先
114デフォルトの名無しさん
2022/01/29(土) 17:49:41.23ID:YRcqrgZl >>112
stirlingで読み込みエラーです
1行も表示されず
これサイズ見えてるから壊れててもデータはあると思ってたけど
もう根本的に中身飛んでる気がするなあ。zip圧縮に失敗したときみたいな
ゴミ箱に入れたら、もう動かせなくなったし
pilでバイナリ読んで変換してどうにか的な話をしたかったんだけど
関係なくなってきたので諦めます。スレ汚し失礼しました
stirlingで読み込みエラーです
1行も表示されず
これサイズ見えてるから壊れててもデータはあると思ってたけど
もう根本的に中身飛んでる気がするなあ。zip圧縮に失敗したときみたいな
ゴミ箱に入れたら、もう動かせなくなったし
pilでバイナリ読んで変換してどうにか的な話をしたかったんだけど
関係なくなってきたので諦めます。スレ汚し失礼しました
115デフォルトの名無しさん
2022/01/29(土) 22:08:45.86ID:S/AYuT16 Ruby on Rails では、画像アップロードのチェックに、
ImageMagick, libvips などを使う
容量チェックだけではダメ。
1px * 1,000px とか、極端なサイズもダメ
他にも、ウイルス埋め込みとか、様々な攻撃を排除しないといけない
ImageMagick, libvips などを使う
容量チェックだけではダメ。
1px * 1,000px とか、極端なサイズもダメ
他にも、ウイルス埋め込みとか、様々な攻撃を排除しないといけない
116デフォルトの名無しさん
2022/01/29(土) 22:43:34.15ID:vSaHMnG7 >>115
死ねゴミ
死ねゴミ
117デフォルトの名無しさん
2022/01/30(日) 03:46:00.30ID:XZx8eYmT PILなんかの便利ラッパーじゃなくて、libjpeg直接触らないとどうしようもないでしょ。PILはJPEGの読み込み自体はlibjpegに丸投げして終わりなんだから。
118デフォルトの名無しさん
2022/01/30(日) 11:09:15.57ID:N55kLChf ディレクトリエントリ以外壊れてる可能性のが高いだろ普通に
119デフォルトの名無しさん
2022/01/30(日) 13:07:19.08ID:DCMe3nw9 おっぱい画像じゃなかったらすれ違いだぞ
120デフォルトの名無しさん
2022/01/30(日) 23:10:06.45ID:Ps75IfQG > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
くそチョンw
くそチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
在日は強姦を繰り返す犯罪者!
皆殺しにすべし!
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
くそチョンw
くそチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
在日は強姦を繰り返す犯罪者!
皆殺しにすべし!
121デフォルトの名無しさん
2022/02/01(火) 22:05:36.75ID:hOl6ciiB Tkinterで複数のウィンドウを非表示状態で生成し、
後に表示状態にするということをしたいのですがうまくいきません
threadingを使ってスレッド化することでmainloopを複数走らせることができると思っていたのですが、
最初の1つ目のウィンドウで止まってしまいます
何か解決法はありませんでしょうか
ttps://pastebin.com/BUj46Q8J
後に表示状態にするということをしたいのですがうまくいきません
threadingを使ってスレッド化することでmainloopを複数走らせることができると思っていたのですが、
最初の1つ目のウィンドウで止まってしまいます
何か解決法はありませんでしょうか
ttps://pastebin.com/BUj46Q8J
122デフォルトの名無しさん
2022/02/01(火) 22:51:56.51ID:P6zC/C5s123デフォルトの名無しさん
2022/02/01(火) 22:54:40.84ID:P6zC/C5s 27行目
thread = threading.Thread( target=show, args=(root,) )
でどうだ
thread = threading.Thread( target=show, args=(root,) )
でどうだ
124デフォルトの名無しさん
2022/02/02(水) 00:33:40.49ID:mBcvYcjV https://stackoverflow.com/questions/48045401
これがホントならプロセス分けるしかないね
これがホントならプロセス分けるしかないね
125121
2022/02/02(水) 06:41:57.54ID:6CCAEreu ありがとうございます
rootがいくつもあっても、mainloop()はどれか一つでも走らせればそれで良いのですね!
最後を
for root in window_list:
root.deiconify()
window_list[0].mainloop()
とすることで生成した分すべて表示できました
rootがいくつもあっても、mainloop()はどれか一つでも走らせればそれで良いのですね!
最後を
for root in window_list:
root.deiconify()
window_list[0].mainloop()
とすることで生成した分すべて表示できました
126デフォルトの名無しさん
2022/02/02(水) 10:11:06.05ID:RL/7fH2d 一般的なGUIで、UIにさわれるのは1個のスレッドだけだね。
そこでメインループを回して、他のスレッドは処理を渡したりするだけで自らUIを操作
しないようにする。
そこでメインループを回して、他のスレッドは処理を渡したりするだけで自らUIを操作
しないようにする。
127デフォルトの名無しさん
2022/02/02(水) 21:39:50.40ID:EL6vvzM+ Pythonの勉強を始めて1ヶ月程度のプログラミング自体初心者です
for文でfor_in rangeというのを見かけたのですが、この場合の_って何を表すんでしょうか?
関数名とは違うのでしょうか?
for文でfor_in rangeというのを見かけたのですが、この場合の_って何を表すんでしょうか?
関数名とは違うのでしょうか?
128デフォルトの名無しさん
2022/02/02(水) 21:46:34.25ID:dtxLg5iw129デフォルトの名無しさん
2022/02/02(水) 21:48:19.29ID:U+ueKPSe 変数だけど使わない変数を慣習的にアンダーバーを使っている
繰り返したい処理があるときはfor i in range(10)とか使うと思うけどそのforブロック内でiを使わないときはiじゃなくてfor _ in range(10)って感じ
繰り返したい処理があるときはfor i in range(10)とか使うと思うけどそのforブロック内でiを使わないときはiじゃなくてfor _ in range(10)って感じ
130デフォルトの名無しさん
2022/02/02(水) 21:52:54.86ID:PDm/NhWY https://docs.python.org/ja/3/reference/lexical_analysis.html#reserved-classes-of-identifiers
公式の日本語は
> Elsewhere, _ is a regular identifier.
ここの訳が変だな
公式の日本語は
> Elsewhere, _ is a regular identifier.
ここの訳が変だな
131デフォルトの名無しさん
2022/02/02(水) 22:12:17.07ID:EL6vvzM+ レスありがとうございます
関数名じゃなくて変数名でしたね、失礼しました
丁寧に説明してもらっておきながら申し訳ないのですが、使わないとか定義しないとかいまいちピンと来ませんでした…
もうちょっと自分で色々書いてみてからまた来ます
関数名じゃなくて変数名でしたね、失礼しました
丁寧に説明してもらっておきながら申し訳ないのですが、使わないとか定義しないとかいまいちピンと来ませんでした…
もうちょっと自分で色々書いてみてからまた来ます
132デフォルトの名無しさん
2022/02/02(水) 22:16:55.84ID:U+ueKPSe 使うパターン
for i in range(10):
print(i)
使わないパターン
for _ in range(10):
counter += 1
すげー適当な例だけどわかるかな?
for i in range(10):
print(i)
使わないパターン
for _ in range(10):
counter += 1
すげー適当な例だけどわかるかな?
133デフォルトの名無しさん
2022/02/02(水) 22:29:06.02ID:dtxLg5iw a, b, _, _, e = get_data()
5つ返ってくるけど要るのはa,b,eだけ みたいな
5つ返ってくるけど要るのはa,b,eだけ みたいな
134デフォルトの名無しさん
2022/02/02(水) 23:51:53.90ID:ig8XBRXZ135デフォルトの名無しさん
2022/02/03(木) 13:14:00.01ID:euzyX/2k djangoで「モデルAのオブジェクト」を作ってこのオブジェクトにforeignkey貼ってる「モデルBのオブジェクト」のforeignkeyの所の変数にAのオブジェクトを渡してから「モデルBのオブジェクト」を作ってAをsave()したとする
この後Bのオブジェクトをsave()したらちゃんとA_idが保存されるの?
ややこしいけどなんと説明すればいいのやら
因みにtransaction.atomicは必要だよな?
この後Bのオブジェクトをsave()したらちゃんとA_idが保存されるの?
ややこしいけどなんと説明すればいいのやら
因みにtransaction.atomicは必要だよな?
136デフォルトの名無しさん
2022/02/03(木) 14:00:58.08ID:euzyX/2k137デフォルトの名無しさん
2022/02/03(木) 15:25:43.23ID:lrjvvrdU Aをsave()した時点でBのA_idに反映されてそうだけど
138初心者の質問です。
2022/02/05(土) 03:42:35.77ID:/8OR3rgW Pythonというのを使うと、他のアプリ(windows) 例えば、市販のビジネス
ソフトに連動させて入力やら出力やらを自動化できたりするのですか?
他のアプリは、MS Excel などに限定されるのですか?
それとも、電機屋で売っているような例えば、年賀状ソフトとか
ビジネス会計ソフトとか、カレンダースケジュールソフトとか
なんでも、入力を自動化したり単純化してPythonから指令して
動かすことができるのでしょうか?
ソフトに連動させて入力やら出力やらを自動化できたりするのですか?
他のアプリは、MS Excel などに限定されるのですか?
それとも、電機屋で売っているような例えば、年賀状ソフトとか
ビジネス会計ソフトとか、カレンダースケジュールソフトとか
なんでも、入力を自動化したり単純化してPythonから指令して
動かすことができるのでしょうか?
139デフォルトの名無しさん
2022/02/05(土) 04:28:39.44ID:6miGEtTC 無理です
140デフォルトの名無しさん
2022/02/05(土) 08:06:12.28ID:XLfwOUFr >>138
APIが用意されてないとそのレベルでの操作は無理。
Google calendarなんかはGASでweb apiを自作すればいけるが、市販のソフトはそこまで親切ではない。
マウス操作やキー操作を自動化することは可能。
APIが用意されてないとそのレベルでの操作は無理。
Google calendarなんかはGASでweb apiを自作すればいけるが、市販のソフトはそこまで親切ではない。
マウス操作やキー操作を自動化することは可能。
141デフォルトの名無しさん
2022/02/05(土) 08:59:49.70ID:6Mb184NV 作り込めばできるけど作業コストがかかる
それをやってくれる会社も存在するくらい
MacならまともなソフトはAppleEvent実装してるから比較的楽
それをやってくれる会社も存在するくらい
MacならまともなソフトはAppleEvent実装してるから比較的楽
142デフォルトの名無しさん
2022/02/05(土) 09:01:16.95ID:/8OR3rgW143デフォルトの名無しさん
2022/02/05(土) 09:03:23.27ID:/8OR3rgW >>141
やっぱり、金がかかって
ビジネスになってるんですね。
事情がわかりました。
(原理がわかってないのが悲しいですが・・・)
本当にありがとうございました。
皆さん良い週末をお過ごしください。
やっぱり、金がかかって
ビジネスになってるんですね。
事情がわかりました。
(原理がわかってないのが悲しいですが・・・)
本当にありがとうございました。
皆さん良い週末をお過ごしください。
144デフォルトの名無しさん
2022/02/05(土) 09:16:13.61ID:sxrVj7bO145デフォルトの名無しさん
2022/02/05(土) 09:20:50.77ID:nhwXwcp2 API を分かってない気がする。
API を作る = AとB銀行それぞれにアプリ連携用インターフェースを追加する
API を使う = A銀行に用意されているAPIとB銀行で用意されているAPIを使って両銀行間を接続するプログラムを作る
使う方であれば python が使える可能性はある。
複数の異銀行システムのAPIを1社で実装する仕事なんてないと思うがなー。
API を作る = AとB銀行それぞれにアプリ連携用インターフェースを追加する
API を使う = A銀行に用意されているAPIとB銀行で用意されているAPIを使って両銀行間を接続するプログラムを作る
使う方であれば python が使える可能性はある。
複数の異銀行システムのAPIを1社で実装する仕事なんてないと思うがなー。
146デフォルトの名無しさん
2022/02/05(土) 10:06:24.03ID:UC+QWPwn 全部できるよ。ただあなたの能力とヤル気に依存する
銀行の口座確認(送金や振り込み操作以外)ならたいていはワンタイムパスワード不要なとこ多いから
普通にpythonでブラウザ操作するだけだし(ワンタイムパスワード使うのもハード必要になるけどがんばればできる)
市販ソフトの操作はそのソフトのウインドウ叩いて情報読み取ったり、最悪画面画像の認識で読み取ればいい
入力はマウスやキーをpythonから操作するだけ
「python ブラウザ操作」「python getwindowtext」「python キー操作 送信」などぐぐれば
銀行の口座確認(送金や振り込み操作以外)ならたいていはワンタイムパスワード不要なとこ多いから
普通にpythonでブラウザ操作するだけだし(ワンタイムパスワード使うのもハード必要になるけどがんばればできる)
市販ソフトの操作はそのソフトのウインドウ叩いて情報読み取ったり、最悪画面画像の認識で読み取ればいい
入力はマウスやキーをpythonから操作するだけ
「python ブラウザ操作」「python getwindowtext」「python キー操作 送信」などぐぐれば
147デフォルトの名無しさん
2022/02/05(土) 10:43:12.54ID:x0YbOETD やってくれって言われたら
後ろ向いて舌出してうえ〜ってリアクションしちゃうな
後ろ向いて舌出してうえ〜ってリアクションしちゃうな
148デフォルトの名無しさん
2022/02/05(土) 11:13:45.51ID:piACNvDy https://pastebin.com/p4sKEE76
pynputでの左クリック検知と、tkinterのlabelでの左クリック検知を両立させることは可能ですか?
pynputが左クリックイベントを全て奪ってしまい、labelが反応しません
ランチャーを作ってまして、やりたいことは、
@ デスクトップを左クリックしたらウィンドウを表示する、
A ウィンドウのラベルを左クリックしたらウィンドウを閉じる、
B ウィンドウが表示されている状態でウィンドウ以外の場所を左クリックしてもウィンドウを閉じる
という動作です
@とBをpynputで、Aをtkinterのlabelでと思ったのですが、うまくいきませんでした
pynputでの左クリック検知と、tkinterのlabelでの左クリック検知を両立させることは可能ですか?
pynputが左クリックイベントを全て奪ってしまい、labelが反応しません
ランチャーを作ってまして、やりたいことは、
@ デスクトップを左クリックしたらウィンドウを表示する、
A ウィンドウのラベルを左クリックしたらウィンドウを閉じる、
B ウィンドウが表示されている状態でウィンドウ以外の場所を左クリックしてもウィンドウを閉じる
という動作です
@とBをpynputで、Aをtkinterのlabelでと思ったのですが、うまくいきませんでした
149デフォルトの名無しさん
2022/02/05(土) 12:09:38.48ID:LVRrrJUT 質問している人とは別の人物ですが、
画面の変化するのを待って
画面が安定してから
操作を始めるというのは可能ですか?
画面の変化するのを待って
画面が安定してから
操作を始めるというのは可能ですか?
150デフォルトの名無しさん
2022/02/05(土) 12:12:06.54ID:XLfwOUFr151デフォルトの名無しさん
2022/02/05(土) 12:16:27.17ID:LVRrrJUT152デフォルトの名無しさん
2022/02/05(土) 12:36:57.02ID:UC+QWPwn ブラウザは読み込み終わったってイベントが来るよ。それを待ってURLとで判定すればいい
153デフォルトの名無しさん
2022/02/05(土) 12:48:54.51ID:XLfwOUFr154148
2022/02/05(土) 12:54:59.73ID:piACNvDy https://pastebin.com/hwdHebzT
>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました
ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?
>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました
ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?
155デフォルトの名無しさん
2022/02/05(土) 12:59:34.70ID:/8OR3rgW >>144-147
みなさま
すみませんです。
何れにしましても
勉強になりました。
>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。
合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。
みなさま
すみませんです。
何れにしましても
勉強になりました。
>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。
合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。
156デフォルトの名無しさん
2022/02/05(土) 13:17:57.22ID:UC+QWPwn >>154
クリックするときだけ座標のウインドウ見たら?
クリックするときだけ座標のウインドウ見たら?
158148
2022/02/05(土) 13:38:51.69ID:piACNvDy159デフォルトの名無しさん
2022/02/05(土) 13:47:41.85ID:UC+QWPwn ランチャーの上にほかのウインドウがあったら期待通り動かなさそうだな
windowfrompointかな
windowfrompointかな
160148
2022/02/05(土) 14:20:31.51ID:piACNvDy161148
2022/02/05(土) 15:31:23.48ID:piACNvDy GetWindowPoint関数が返すのがラベルのウインドウハンドルで詰まりましたが、
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました
162148
2022/02/06(日) 18:24:09.07ID:3q8vI9na 皆さんWindowsの環境は何を使っていますか?
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています
163デフォルトの名無しさん
2022/02/06(日) 18:46:40.90ID:As9Eeh+2 anacondaはダブルクリックして使うような用途向けじゃないから・・・
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?
164デフォルトの名無しさん
2022/02/06(日) 19:14:00.88ID:4Gtoye46 エクスプローラ上でshift+右クリックするとコンソールを開くオプション出てくるからそこから実行するのも手だね
165デフォルトの名無しさん
2022/02/06(日) 20:11:49.90ID:UpadUQRd pyはIDEに関連付け変えた方が利便性高そう
コンソール不要なアプリはpywにするし
コンソール不要なアプリはpywにするし
166デフォルトの名無しさん
2022/02/07(月) 02:26:12.83ID:8Of01QOa 前は(必要に迫られない限り絶対に使いたくない)Anacondaだったけど一年半くらい前に公式のPythonに出戻った
それまではpylauncher+Anacondaだったね
それまではpylauncher+Anacondaだったね
167デフォルトの名無しさん
2022/02/07(月) 04:15:45.66ID:/WFZHSQq >>165
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい
168デフォルトの名無しさん
2022/02/07(月) 08:07:41.99ID:X3clQbRB forループを指定の時刻になったら抜け出したいんだが何か方法ありますか?
例えば21時になったらループを抜けたいです
例えば21時になったらループを抜けたいです
169デフォルトの名無しさん
2022/02/07(月) 08:25:36.92ID:nOkVXb94 now=datetime.datetime.now().hourで現在時刻を取得してif now>21:みたいな感じでいけるのかな?
170デフォルトの名無しさん
2022/02/07(月) 11:33:42.97ID:v1HyCHbN >>168
whileループじゃなくてforループ?
whileループじゃなくてforループ?
171デフォルトの名無しさん
2022/02/07(月) 12:11:38.49ID:Afq51Jp9 signal.alarmで割り込んでグローバルに参照できる情報を更新
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる
172デフォルトの名無しさん
2022/02/07(月) 20:36:04.90ID:uf+aDjpD 文字列のリスト渡す引数があるんですが、1つだけならリストじゃなくて文字列1つだけでも渡したいんです
文字列だけで渡すとforで1文字ずつのループになってしまいます。
リストで渡したみたいに同じようにforで1回回したいんですが何か方法ありますか
文字列だけで渡すとforで1文字ずつのループになってしまいます。
リストで渡したみたいに同じようにforで1回回したいんですが何か方法ありますか
173デフォルトの名無しさん
2022/02/07(月) 20:37:56.01ID:WNsmATfv 文字列が来たらリストに入れてあげればいいのでは
174デフォルトの名無しさん
2022/02/07(月) 20:45:24.77ID:WJa2Jvem if isinstance(x,str): x=[x]
175デフォルトの名無しさん
2022/02/07(月) 20:48:11.70ID:Afq51Jp9 https://docs.python.org/ja/3/library/functools.html#functools.singledispatch
でオーバーロード書けるけど好きじゃない
でオーバーロード書けるけど好きじゃない
176148
2022/02/07(月) 22:02:57.91ID:QDp/4Uhu メモリの確保と解放を自分ですることって可能ですか?
tkinterのラベルに画像を表示したいのですが、
tkinter.PhotoImage()の戻り値が勝手に開放されてしまい表示されません
tkinterのラベルに画像を表示したいのですが、
tkinter.PhotoImage()の戻り値が勝手に開放されてしまい表示されません
177148
2022/02/07(月) 22:05:00.21ID:QDp/4Uhu178デフォルトの名無しさん
2022/02/07(月) 22:22:44.80ID:dQ2UCnOY179148
2022/02/07(月) 23:12:32.22ID:QDp/4Uhu180デフォルトの名無しさん
2022/02/08(火) 05:30:13.15ID:nYjjFW0t tkinter photoimage 表示されない で検索しよう
秒で解決するから
photo = tk.photoimage(画像)
widget = tk.widget(master, image=photo)
秒で解決するから
photo = tk.photoimage(画像)
widget = tk.widget(master, image=photo)
181デフォルトの名無しさん
2022/02/08(火) 06:33:41.40ID:x7KPLs8u >>180
ありがとうございます
インスタンス変数周りについて理解しました
https://pastebin.com/XUdUcPEz
説明が複雑になってしまうと思い後出しになってしまったのですが、
ソースを短く手直ししてアップロードしました
今回はItemクラスにiconインスタンス変数を持たせて、ここにPhotoImageの戻り値を入れています
そしてItem.iconから、ラベルを作成しています
本当はラベル作る関数にItemクラスのリストを渡して作らせているのですが、
この書き方でも再現されました
よろしくおねがいします
ありがとうございます
インスタンス変数周りについて理解しました
https://pastebin.com/XUdUcPEz
説明が複雑になってしまうと思い後出しになってしまったのですが、
ソースを短く手直ししてアップロードしました
今回はItemクラスにiconインスタンス変数を持たせて、ここにPhotoImageの戻り値を入れています
そしてItem.iconから、ラベルを作成しています
本当はラベル作る関数にItemクラスのリストを渡して作らせているのですが、
この書き方でも再現されました
よろしくおねがいします
182デフォルトの名無しさん
2022/02/08(火) 07:11:21.68ID:x7KPLs8u >>181
itemをLauncherのself.item_listに入れたら表示されるようになりました
Item.iconはインスタンス変数だったけど、itemが一時的な変数で開放されちゃってたのかな…
ただ関数を再帰呼び出ししている元のソースではこの手法でもだめでした
難しい
itemをLauncherのself.item_listに入れたら表示されるようになりました
Item.iconはインスタンス変数だったけど、itemが一時的な変数で開放されちゃってたのかな…
ただ関数を再帰呼び出ししている元のソースではこの手法でもだめでした
難しい
183デフォルトの名無しさん
2022/02/08(火) 07:53:09.80ID:gLJTNggL いやだからワンクッション置けっつの
まず生成しろ
p = photoimage(i)
それを使え
w(image=p)
もっと単純なテストケースで試せ
上手くいく場合と、いかない場合の境界線を探せ
まず生成しろ
p = photoimage(i)
それを使え
w(image=p)
もっと単純なテストケースで試せ
上手くいく場合と、いかない場合の境界線を探せ
184デフォルトの名無しさん
2022/02/08(火) 12:03:45.73ID:Wt+Lt5co >>182
グローバルなリストなりなんなりにItemクラス全部ぶち込んでいけばいいだけ
グローバルなリストなりなんなりにItemクラス全部ぶち込んでいけばいいだけ
185デフォルトの名無しさん
2022/02/08(火) 21:50:34.21ID:9OOJa9HQ クロージャとデコレータの違いが良くわかりません
どなたか猿でも分かるように説明お願いします
どなたか猿でも分かるように説明お願いします
186デフォルトの名無しさん
2022/02/08(火) 22:13:40.37ID:8MdYtPVO >>185
なぜその2つが同じ(ようなもの)だと思ったのか理由を少し書いてくれない?
なぜその2つが同じ(ようなもの)だと思ったのか理由を少し書いてくれない?
187デフォルトの名無しさん
2022/02/08(火) 23:31:00.76ID:nzlDnO0s デコレータはクロージャで処理を追加する際の糖衣の認識
def logger(func):
__def inner(*args,**kwargs):
____print(‘start’)
____func(*args,**kwargs)
____print(‘end’)
__return inner
@logger
def add(x,y):
__print(x+y)
デコレータは↓を簡単に表記する
add=logger(add)
def logger(func):
__def inner(*args,**kwargs):
____print(‘start’)
____func(*args,**kwargs)
____print(‘end’)
__return inner
@logger
def add(x,y):
__print(x+y)
デコレータは↓を簡単に表記する
add=logger(add)
188デフォルトの名無しさん
2022/02/08(火) 23:58:54.11ID:x7KPLs8u189デフォルトの名無しさん
2022/02/09(水) 00:58:23.86ID:9lBFb0U2 Windowsでパスのセパレータが混在する原因を調べていたら、tkinterが原因だった
filedialogとTkinterDnD2で発生するようだ
こんな感じで対応してみた
files = filedialog.askopenfilenames(filetypes=fTyp, initialdir = iDir)
files = [str(pathlib.Path(p)) for p in files]
なにかまずい点や、もっとスマートな書き方ありますか?
filedialogとTkinterDnD2で発生するようだ
こんな感じで対応してみた
files = filedialog.askopenfilenames(filetypes=fTyp, initialdir = iDir)
files = [str(pathlib.Path(p)) for p in files]
なにかまずい点や、もっとスマートな書き方ありますか?
190デフォルトの名無しさん
2022/02/09(水) 08:57:49.87ID:yefmpe+I スマートな書き方以前に、再代入するな。
191デフォルトの名無しさん
2022/02/09(水) 11:31:16.02ID:4FhfLNQw pipでcshogiというパッケージを入れようとしたら
cshogi/_cshogi.cpp:635:10: fatal error: 'init.hpp' file not found
というエラーになったのですが、何したらよいでしょう。
依存関係で怒られたCythonやnumpyは入れました。
Python3.9.6でmacOS12.2です。
ググってみると、boost/python/init.hppというのが見つかりましたが、C++のboostライブラリをいれなさいということでしょうかね、、、
cshogi/_cshogi.cpp:635:10: fatal error: 'init.hpp' file not found
というエラーになったのですが、何したらよいでしょう。
依存関係で怒られたCythonやnumpyは入れました。
Python3.9.6でmacOS12.2です。
ググってみると、boost/python/init.hppというのが見つかりましたが、C++のboostライブラリをいれなさいということでしょうかね、、、
■ このスレッドは過去ログ倉庫に格納されています
