[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/23 11:57 / Filesize : 297 KB / Number-of Response : 1017
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました



1 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 01:38:10.93 ID:GepmXCuJ.net]
当スレに★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/      ほぼ直

75 名前:デフォルトの名無しさん [2022/01/25(火) 18:24:04.77 ID:MSa2pOie.net]
win10, 公式3.10, venv vscode

76 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:09:52.59 ID:U9NdU/dK.net]
バージョン変更は簡単?

77 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:15:38.03 ID:NfMS9nHt.net]
PyCharm+Windows版公式

78 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:16:36.34 ID:NfMS9nHt.net]
ちなバージョンはまだ3.9x

79 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 19:29:43.84 ID:/dd0PRan.net]
>>75
公式はマイナーバージョン毎に既定のインストール先違うし
複数入れてpyコマンドのオプションやshebangで特定バージョンでの実行が可能

80 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 20:59:20.08 ID:BmRih8+2.net]
pythonは公式CPythonのシステムインストール
モジュールパッケージはユーザーインストール
ユーザーディレクトリはシンボリックリンクでバージョンアップ時に付け替える
バージョン分けはpyランチャーとシバンってとこだな
流石に2と3は完全に分けてるけど

81 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 21:46:27.25 ID:FOQo9N+v.net]
公式ページの3.8が機械学習ライブラリ関係でトラブル少なくていい感じ
3.10の文法気になるときは切り替えている
大層なIDE必要ないからエディタは何でもいいと思っている
VScodeが一番好き
anacondaはpyinsyallerで事故って以来使っていないな
condaコマンドとかよくわからんし...

82 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 23:25:29.53 ID:Vpk3TLE1.net]
Ruby on Rails などのウェブ系のプロは、
日本人が作った、多言語のバージョンマネージャー・anyenv を使う

rbenv(Ruby), pyenv(Python), nodenv(Node.js), tfenv(Terraform) などを統一的な操作方法で扱える

Renv, crenv, denv, erlenv, exenv
goenv, hsenv, jenv, jlenv, luaenv
nodenv, phpenv, plenv, pyenv, rbenv
sbtenv, scalaenv, swiftenv, tfenv

同様のツールに、asdf もある。
他には、Docker もある

YouTube で有名な、雑食系エンジニア・KENTA のサロンのRuby on Rails初心者用コースでは、
Linux, Raiis, Node.js, AWS Fargate, Terraform などは常識

Windows 版のMSYS2 とか、使う香具師はいない。日本語でバグるから。
必ず、仮想OS かWSL2 で、Linuxを使う。
本番サーバーが、Linuxだから

83 名前:デフォルトの名無しさん [2022/01/25(火) 23:37:44.91 ID:b/Jp9bRr.net]
教えてください。
pandasのmergeで、nan同士を結合させることはできますか?



84 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 12:46:50.93 ID:DYVcmqpl.net]
全角文字を変数名にしていいですか?

85 名前:デフォルトの名無しさん [2022/01/26(水) 13:18:15.24 ID:L8/qQbgJ.net]
絵文字もいいぞ

https://betterprogramming.pub/emojis-as-python-variables-sure-why-not-96ce955dada1

86 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 13:33:59.48 ID:DYVcmqpl.net]
>>84
やっぱりPythonは最高だわ

87 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 14:06:52.64 ID:6gLrsb4d.net]
全角使うとソース読みやすくなっていいんだけどな。人には見せれない
個人で開発してるからって場合でも詰まって人に聞きたくなるときとかあるし

88 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 14:45:37.25 ID:xSTWaWcL.net]
絵文字変数は標準対応してなくて、しかもこのトランスパイラは古いpythonにしか対応してなくて真面目なプロジェクトなのかもよくわからんけど絵文字も悪くねーだろって記事だと思うけど、それでも最高って評価でええんか?

89 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 15:43:59.34 ID:a5hjt3dg.net]
70で環境に関して質問した者です。
皆さんありがとうございます。結構皆さんバラバラな環境なんですね。
とりあえず公式入れてみようと思います。
ありがとうございました

90 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 18:45:40.80 ID:BRzp4Bf7.net]
こんな感じで関数の中で同じ処理を二回しているんですが、これをまとめて
二回呼び出すことによって、同じ効果を出すにはどうしたらいいんでしょうか?

a = get_a()
if a > 0: return("end")

その他の処理1

a = get_a()
if a > 0: return("end")

その他の処理2

if文と関数の呼び出し元にreturnする所を含めた形で繰り返したいです。
(全く同じ文なので)

91 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 19:08:21.23 ID:nCUrJFSS.net]
for f in [その他の処理1, その他の処理2]:
_if とreturn
_f()

とかでいけるかなあ?

92 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 19:52:22.08 ID:hY/A3e1V.net]
全角文字を識別子にするのは
区別が付きにくい文字があるので
あんまり賛成できないなあ
そういう文字を使わないのならいいけど
例えばひらがなの「へ」とかたかなの「ヘ」とか

93 名前:デフォルトの名無しさん [2022/01/26(水) 20:03:57.46 ID:Dd3LK1vU.net]
>>89
文脈ないから何がしたいかわからんけど
代入伴うガード節みたいなことなら
if a := get(): retur



94 名前:n
処理

と各メイン処理前に書くことはある
if not (data := get()): return
のが読みやすいか
[]
[ここ壊れてます]

95 名前:デフォルトの名無しさん mailto:sage [2022/01/26(水) 20:53:13.08 ID:BRzp4Bf7.net]
>>90>>92
反応ありがとうございます。説明が悪くて申し訳ないです。

プリプロセッサのマクロみたいに、ifとreturnもまとめて関数の外に
くくり出すにはどうしたらいいんだろうという疑問です。

関数内関数とかにすると、返り値を判定しないといけないじゃないですか。
それも外に(別に関数の中でもいいですけど)出したいなと。

愚直に二回書くか、返り値を判定すれば、それで済むは済むのですが、
多分言語的に解決する方法はあって、それを知っておいた方が美しいかなと。

96 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 02:04:56.13 ID:xQdC/mnh.net]
プリプロセッサですか... というわけで import を悪用してみた。
return

97 名前:とか飛び出すみたいのは... 例外でもいいですか?
以下インデントがどうなるかわからない(全角を使ってみた)。
元のコードより複雑になっているというのは気のせい。

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)
-----------------------
[]
[ここ壊れてます]

98 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 09:13:31.95 ID:q7HNZ+k9.net]
しかしimportがただのプリプロセッサでないのがわかったw
変数のスコープがあったり二重読み込みがデフォで抑制されたり。

99 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 10:47:35.58 ID:BLpAKzVu.net]
親関数が戻る所は、
resp = await asyncio.gather(*exec_list)みたいになってるので、
普通にreturnして欲しい所存です……

100 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 11:09:39.82 ID:kowYjA+c.net]
Ruby のrequire は、ロードパスからモジュールを探して、読み込んで実行する。
ただし、同じものは2回以上実行しない

一方、load は、同じものでも再実行できる

include は継承チェーンに、mix-in されるから、
関数名を探索できるようになる

Rubyの作者・まつもとが、
require・includeの違いが分からない香具師は、プログラマーに向いていないと言った

ファイルを分割して書いて、読み込んで実行したり、継承チェーンを作ったりなど、
オブジェクト指向を作る、インタープリタの内部の仕組みに興味が無いような人は、
プログラマーに向いていない

プログラマー向きの香具師は、内部の仕組みに興味を持つ。
好奇心・探究心、学者

101 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 17:11:22.17 ID:xQdC/mnh.net]
>>96
>>94みたいのは駄目すかw returnというのは関数の呼び出しと表裏一体で、
関数を呼び出すところでその場所と状態を記憶して、処理が終わったらそこへ戻る。
関数の中でさらに関数を読んだらその新たな場所へしか戻れない。プリプロセッサは
関数じゃないのがミソ。

そうだなあ... Cのlongjumpみたいのが一応あるようだが.... まあそれも根本は例外
処理みたいなものだろうが... しかしさらに脱線していくようなw

102 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 17:17:29.41 ID:O/Xb3RdK.net]
操作を記録して、コードを自動生成する方法を教えて下さい。
例えば記録開始後に、
・すでに起動されているメモ帳の位置を変えて、そこに「あいう」と入力する。
と言った操作をしたら、それをコードにしてくれる感じです。
UWSCの動作記録機能のような物を想定しています。

103 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 17:28:41.66 ID:aAqz06lG.net]
マウスキーボードグローバルフックして記録するだけ
なんだけどwindowsのapi叩くことになるから(python向けの)情報少なくて大変かも
c#とかでやったほうが楽だと思うよ



104 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 19:18:15.13 ID:7tIXYF4b.net]
マウスの動きをトレースするのは誤差が大きいので
できればキーボードマクロを使った方が正確にできる

105 名前:デフォルトの名無しさん mailto:sage [2022/01/27(木) 22:10:33.22 ID:/l3HfrsT.net]
>>99
一応こういうのあるよ
https://github.com/RMPR/atbswp

106 名前:デフォルトの名無しさん [2022/01/28(金) 20:23:11.50 ID:NkTLAq7B.net]
fee = ['+送料715円', '+送料1650円', '+送料', '+送料750円', '+送料']
上記のリストを下記のリストになるように置換したいです。
newfee = ['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']

どのようにしたらいいですか?
re.subかre.se

107 名前:arch(書き方わからん).group().replace('+送料','+送料0円')で
いけそうかなーって思ってるんですがうまく書き方がわかりません
newfee = [ここの記載がよくわからん for fee in fee]

よろしくお願い申し上げます
[]
[ここ壊れてます]

108 名前:デフォルトの名無しさん [2022/01/28(金) 20:31:33.73 ID:S2S29ZR7.net]
\+送料$

109 名前:デフォルトの名無しさん [2022/01/28(金) 20:51:10.23 ID:S2S29ZR7.net]
newfee = [re.sub(r'\+送料$', '+送料0円', f) for f in fee]

110 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 20:56:55.92 ID:NkTLAq7B.net]
>>105
ありがとうございます!!

111 名前:デフォルトの名無しさん mailto:sage [2022/01/28(金) 22:49:23.99 ID:GOayFGyf.net]
djangoでdb登録する方法を教えて下さい
modelインスタンスをループで沢山作って最後にbulk_create()を使って登録するのは分かりましたがmodelが7つあります
それぞれforeignkeyとそのrelated_nameで繋がっています
この場合の要領が分かりません
雰囲気的に中心となるようなmodel(仮にAと呼ぶ)を見つけてそこに例えば他のモデルのインスタンスをAのforeignkeyに渡すような感じにすればいいんですか?
もし複数渡したい時はどうすればいいですか?

そしてAがmodel Bを参照しており、BがCを参照している時にインスタンスオブジェクトAからCに登録するにはどうすればいいですか?

112 名前:デフォルトの名無しさん [2022/01/29(土) 00:12:59.76 ID:5xe9daD4.net]
>>103
>>> ['+送料0円' if f == '+送料' else f for f in fee]
['+送料715円', '+送料1650円', '+送料0円', '+送料750円', '+送料0円']

113 名前:デフォルトの名無しさん [2022/01/29(土) 13:40:24.15 ID:YRcqrgZl.net]
多分壊れてて、画像としては開けないjpgファイルがある(ビューワでも各種編集ソフトでもだめ)

im = pil.open(path)
.formatとか.sizeは読める

show()
imagearray = np.array(im)
はできない

エラーはpermission denied
ファイルは編集不可属性ではない

復元というか画像として読めるファイルを作成したいんだけど、なにをしてみたらいい?



114 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 13:55:47.07 ID:s/Lqmbn4.net]
どう壊れてるかによるからな
バイナリエディタで見てEOIがあるかとか、イメージデータが0000で埋まってないかをチェックして、データありそうならSOIからひとつず読み取ってみてどこが壊れてるか探す
ヘッダーが逝ってるだけならわんちゃんありえるけど、サイズ見えるのじゃイメージデータ逝ってる可能性大だろうな

115 名前:デフォルトの名無しさん [2022/01/29(土) 16:36:36.82 ID:YRcqrgZl.net]
>>110
むむ、そのへんの単語ググりながらやってみようと思ったんだけど
もうバイナリエディタで読めないっすね
えーまじか。そんなことあるのか

ちなみにwindows的にはサムネイルの作成はできてる模様

116 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:23:49.29 ID:nzagQ2IL.net]
>>111
> もうバイナリエディタで読めないっすね
???
ディスクエラーになるとかか?

> ちなみにwindows的にはサムネイルの作成はできてる模様
サムネはキャッシュされてるから以前は読めたんじゃね?

117 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 17:34:30.94 ID:1f3+2daQ.net]
とにかくそのjpgが入ってるドライブの他のファイルをどこかにバックアップするのが先

118 名前:デフォルトの名無しさん [2022/01/29(土) 17:49:41.23 ID:YRcqrgZl.net]
>>112
stirlingで読み込みエラーです
1行も表示されず

これサイズ見えてるから壊れててもデータはあると思ってたけど
もう根本的に中身飛んでる気がするなあ。zip圧縮に失敗したときみたいな
ゴミ箱に入れたら、もう動かせなくなったし

pilでバイナリ読んで変換してどうにか的な話をしたかったんだけど
関係なくなってきたので諦めます。スレ汚し失礼しました

119 名前:デフォルトの名無しさん mailto:sage [2022/01/29(土) 22:08:45.86 ID:S/AYuT16.net]
Ruby on Rails では、画像アップロードのチェックに、
ImageMagick, libvips などを使う

容量チェックだけではダメ。
1px * 1,000px とか、極端なサイズもダメ

他にも、ウイルス埋め込みとか、様々な攻撃を排除しないといけない

120 名前:デフォルトの名無しさん [2022/01/29(土) 22:43:34.15 ID:vSaHMnG7.net]
>>115
死ねゴミ

121 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 03:46:00.30 ID:XZx8eYmT.net]
PILなんかの便利ラッパーじゃなくて、libjpeg直接触らないとどうしようもないでしょ。PILはJPEGの読み込み自体はlibjpegに丸投げして終わりなんだから。

122 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 11:09:15.57 ID:N55kLChf.net]
ディレクトリエントリ以外壊れてる可能性のが高いだろ普通に

123 名前:デフォルトの名無しさん mailto:sage [2022/01/30(日) 13:07:19.08 ID:DCMe3nw9.net]
おっぱい画像じゃなかったらすれ違いだぞ



124 名前:デフォルトの名無しさん [2022/01/30(日) 23:10:06.45 ID:Ps75IfQG.net]
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

くそチョンw
くそチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw

在日は強姦を繰り返す犯罪者!
皆殺しにすべし!

125 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 22:05:36.75 ID:hOl6ciiB.net]
Tkinterで複数のウィンドウを非表示状態で生成し、
後に表示状態にするということをしたいのですがうまくいきません

threadingを使ってスレッド化することでmainloopを複数走らせることができると思っていたのですが、
最初の1つ目のウィンドウで止まってしまいます

何か解決法はありませんでしょうか

ttps://pastebin.com/BUj46Q8J

126 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 22:51:56.51 ID:P6zC/C5s.net]
>>121
走らせてないからわからんけどshowはスレッドをインスタンス化するときにコールしたらだめな気がするぞ
返り値を渡すんじゃなくて関数自体を渡すんだ

127 名前:デフォルトの名無しさん mailto:sage [2022/02/01(火) 22:54:40.84 ID:P6zC/C5s.net]
27行目
thread = threading.Thread( target=show, args=(root,) )
でどうだ

128 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 00:33:40.49 ID:mBcvYcjV.net]
https://stackoverflow.com/questions/48045401
これがホントならプロセス分けるしかないね

129 名前:121 mailto:sage [2022/02/02(水) 06:41:57.54 ID:6CCAEreu.net]
ありがとうございます
rootがいくつもあっても、mainloop()はどれか一つでも走らせればそれで良いのですね!
最後を

for root in window_list:
  root.deiconify()

window_list[0].mainloop()


 とすることで生成した分すべて表示できました

130 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 10:11:06.05 ID:RL/7fH2d.net]
一般的なGUIで、UIにさわれるのは1個のスレッドだけだね。
そこでメインループを回して、他のスレッドは処理を渡したりするだけで自らUIを操作
しないようにする。

131 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 21:39:50.40 ID:EL6vvzM+.net]
Pythonの勉強を始めて1ヶ月程度のプログラミング自体初心者です
for文でfor_in rangeというのを見かけたのですが、この場合の_って何を表すんでしょうか?
関数名とは違うのでしょうか?

132 名前:デフォルトの名無しさん [2022/02/02(水) 21:46:34.25 ID:dtxLg5iw.net]
https://blog.pyq.jp/entry/Python_kaiketsu_180420

アンダーバー(アンダースコア) python 変数名 意味

133 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 21:48:19.29 ID:U+ueKPSe.net]
変数だけど使わない変数を慣習的にアンダーバーを使っている
繰り返したい処理があるときはfor i in range(10)とか使うと思うけどそのforブロック内でiを使わないときはiじゃなくてfor _ in range(10)って感じ



134 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 21:52:54.86 ID:PDm/NhWY.net]
https://docs.python.org/ja/3/reference/lexical_analysis.html#reserved-classes-of-identifiers
公式の日本語は
> Elsewhere, _ is a regular identifier.
ここの訳が変だな

135 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 22:12:17.07 ID:EL6vvzM+.net]
レスありがとうございます
関数名じゃなくて変数名でしたね、失礼しました
丁寧に説明してもらっておきながら申し訳ないのですが、使わないとか定義しないとかいまいちピンと来ませんでした…
もうちょっと自分で色々書いてみてからまた来ます

136 名前:デフォルトの名無しさん mailto:sage [2022/02/02(水) 22:16:55.84 ID:U+ueKPSe.net]
使うパターン
for i in range(10):
print(i)

使わないパターン
for _ in range(10):
counter += 1

すげー適当な例だけどわかるかな?

137 名前:デフォルトの名無しさん [2022/02/02(水) 22:29:06.02 ID:dtxLg5iw.net]
a, b, _, _, e = get_data()
5つ返ってくるけど要るのはa,b,eだけ みたいな

138 名前:デフォルトの名無しさん [2022/02/02(水) 23:51:53.90 ID:ig8XBRXZ.net]
>>130
おかしいもなにも、_に関しては訳されてなくない?
どこのこと

139 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 13:14:00.01 ID:euzyX/2k.net]
djangoで「モデルAのオブジェクト」を作ってこのオブジェクトにforeignkey貼ってる「モデルBのオブジェクト」のforeignkeyの所の変数にAのオブジェクトを渡してから「モデルBのオブジェクト」を作ってAをsave()したとする
この後Bのオブジェクトをsave()したらちゃんとA_idが保存されるの?
ややこしいけどなんと説明すればいいのやら
因みにtransaction.atomicは必要だよな?

140 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 14:00:58.08 ID:euzyX/2k.net]
>>135
これ今試したけど出来るっぽいな
難しいわ
なんで参照渡しでもないのに出来るのかさえ分からん

141 名前:デフォルトの名無しさん mailto:sage [2022/02/03(木) 15:25:43.23 ID:lrjvvrdU.net]
Aをsave()した時点でBのA_idに反映されてそうだけど

142 名前:初心者の質問です。 [2022/02/05(土) 03:42:35.77 ID:/8OR3rgW.net]
Pythonというのを使うと、他のアプリ(windows) 例えば、市販のビジネス
ソフトに連動させて入力やら出力やらを自動化できたりするのですか?
他のアプリは、MS Excel などに限定されるのですか?
それとも、電機屋で売っているような例えば、年賀状ソフトとか
ビジネス会計ソフトとか、カレンダースケジュールソフトとか
なんでも、入力を自動化したり単純化してPythonから指令して
動かすことができるのでしょうか?

143 名前:デフォルトの名無しさん [2022/02/05(土) 04:28:39.44 ID:6miGEtTC.net]
無理です



144 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 08:06:12.28 ID:XLfwOUFr.net]
>>138
APIが用意されてないとそのレベルでの操作は無理。
Google calendarなんかはGASでweb apiを自作すればいけるが、市販のソフトはそこまで親切ではない。
マウス操作やキー操作を自動化することは可能。

145 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 08:59:49.70 ID:6Mb184NV.net]
作り込めばできるけど作業コストがかかる
それをやってくれる会社も存在するくらい
MacならまともなソフトはAppleEvent実装してるから比較的楽

146 名前:デフォルトの名無しさん [2022/02/05(土) 09:01:16.95 ID:/8OR3rgW.net]
>>139
>>140
おはようございます。
お二方返信ありがとうございます。

残念ながら無理なんですね。
(API アプリ プログラム インターフェース)

A銀行勘定システムーAPI−B銀行勘定システム

のような感じでAPIを開発しないといけないんですね。
これってやっぱり大変でしょうね。

147 名前:デフォルトの名無しさん [2022/02/05(土) 09:03:23.27 ID:/8OR3rgW.net]
>>141
やっぱり、金がかかって
ビジネスになってるんですね。
事情がわかりました。
(原理がわかってないのが悲しいですが・・・)

本当にありがとうございました。
皆さん良い週末をお過ごしください。

148 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 09:16:13.61 ID:sxrVj7bO.net]
>>142
中央銀行の意味知っている?

銀行間で直接取引はしない

149 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 09:20:50.77 ID:nhwXwcp2.net]
API を分かってない気がする。

API を作る = AとB銀行それぞれにアプリ連携用インターフェースを追加する
API を使う = A銀行に用意されているAPIとB銀行で用意されているAPIを使って両銀行間を接続するプログラムを作る

使う方であれば python が使える可能性はある。
複数の異銀行システムのAPIを1社で実装する仕事なんてないと思うがなー。

150 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 10:06:24.03 ID:UC+QWPwn.net]
全部できるよ。ただあなたの能力とヤル気に依存する

銀行の口座確認(送金や振り込み操作以外)ならたいていはワンタイムパスワード不要なとこ多いから
普通にpythonでブラウザ操作するだけだし(ワンタイムパスワード使うのもハード必要になるけどがんばればできる)
市販ソフトの操作はそのソフトのウインドウ叩いて情報読み取ったり、最悪画面画像の認識で読み取ればいい
入力はマウスやキーをpythonから操作するだけ

「python ブラウザ操作」「python getwindowtext」「python キー操作 送信」などぐぐれば

151 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 10:43:12.54 ID:x0YbOETD.net]
やってくれって言われたら
後ろ向いて舌出してうえ〜ってリアクションしちゃうな

152 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 11:13:45.51 ID:piACNvDy.net]
https://pastebin.com/p4sKEE76

pynputでの左クリック検知と、tkinterのlabelでの左クリック検知を両立させることは可能ですか?
pynputが左クリックイベントを全て奪ってしまい、labelが反応しません

ランチャーを作ってまして、やりたいことは、

@ デスクトップを左クリックしたらウィンドウを表示する、
A ウィンドウのラベルを左クリックしたらウィンドウを閉じる、
B ウィンドウが表示されている状態でウィンドウ以外の場所を左クリックしてもウィンドウを閉じる

という動作です

@とBをpynputで、Aをtkinterのlabelでと思ったのですが、うまくいきませんでした

153 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 12:09:38.48 ID:LVRrrJUT.net]
質問している人とは別の人物ですが、
画面の変化するのを待って
画面が安定してから
操作を始めるというのは可能ですか?



154 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 12:12:06.54 ID:XLfwOUFr.net]
>>149
安定が何を指してるかはわからんけど、画像処理周りの話ならフレーム差分とってしきい値処理すればいいんじゃないか?
PILのImageGrabでスクショは読み取れる

155 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 12:16:27.17 ID:LVRrrJUT.net]
>>150
ブラウザとか読み込むときに「読み込み中」とか出たり
リダイレクトを始めたりするじゃないですか、
それらの動作が一通り終わって安定するまで
待ち合わせることは可能なんでしょうか?

156 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 12:36:57.02 ID:UC+QWPwn.net]
ブラウザは読み込み終わったってイベントが来るよ。それを待ってURLとで判定すればいい

157 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 12:48:54.51 ID:XLfwOUFr.net]
>>151
seleniumの話か。
152の言うとおりイベント待ちすればいい。

158 名前:148 mailto:sage [2022/02/05(土) 12:54:59.73 ID:piACNvDy.net]
https://pastebin.com/hwdHebzT

>>148ですがpynputのon_moveでマウス移動を検知して、
ウィンドウ上にポインタあるときはon_clickで何もしないようにして動くようになりました

ただマウス動かすたびにウインドウ情報の取得と座標の比較を行うので高コストです…
他に良い実装はないでしょうか?

159 名前:デフォルトの名無しさん [2022/02/05(土) 12:59:34.70 ID:/8OR3rgW.net]
>>144-147
みなさま
すみませんです。
何れにしましても
勉強になりました。

>「python ブラウザ操作」「python getwindowtext」
>「python キー操作 送信」
で勉強してみます。

合併金融機関で旧銀勘定システムの
統合とかがむずかしくてというような
ことを風の便りにききましたので
妙ちくりんな例示になりました。

160 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 13:17:57.22 ID:UC+QWPwn.net]
>>154
クリックするときだけ座標のウインドウ見たら?

161 名前:148 mailto:sage [2022/02/05(土) 13:18:56.20 ID:piACNvDy.net]
>>156
たしかにそうでした…
書き直してみます

162 名前:148 mailto:sage [2022/02/05(土) 13:38:51.69 ID:piACNvDy.net]
https://pastebin.com/EzZX8abA

最終的にウィンドウハンドルを識別に使うことで複数ウィンドウにも対応できました
ありがとうございました

163 名前:デフォルトの名無しさん mailto:sage [2022/02/05(土) 13:47:41.85 ID:UC+QWPwn.net]
ランチャーの上にほかのウインドウがあったら期待通り動かなさそうだな
windowfrompointかな



164 名前:148 mailto:sage [2022/02/05(土) 14:20:31.51 ID:piACNvDy.net]
>>159
ありがとうございます、確かに重なってる部分をクリックすると、
上に他のウインドウがあるのにランチャー上にいるという判定になっていました

教えていただいた関数を使って作り直してみます

165 名前:148 mailto:sage [2022/02/05(土) 15:31:23.48 ID:piACNvDy.net]
GetWindowPoint関数が返すのがラベルのウインドウハンドルで詰まりましたが、
GetParentで親ウィンドウのウィンドウハンドルを取得することでうまくいきました

166 名前:148 mailto:sage [2022/02/06(日) 18:24:09.07 ID:3q8vI9na.net]
皆さんWindowsの環境は何を使っていますか?
先輩がAnacondaを使っていたので自分もこれで始めたのですが、
pyファイルをダブルクリックしても起動できなくて困っています

167 名前:デフォルトの名無しさん mailto:sage [2022/02/06(日) 18:46:40.90 ID:As9Eeh+2.net]
anacondaはダブルクリックして使うような用途向けじゃないから・・・
それでもやりたいならユーザーフォルダのenvの中にあるpythonを関連付けして、パスも通しておいたらいけるんじゃないのか?

168 名前:デフォルトの名無しさん mailto:sage [2022/02/06(日) 19:14:00.88 ID:4Gtoye46.net]
エクスプローラ上でshift+右クリックするとコンソールを開くオプション出てくるからそこから実行するのも手だね

169 名前:デフォルトの名無しさん mailto:sage [2022/02/06(日) 20:11:49.90 ID:UpadUQRd.net]
pyはIDEに関連付け変えた方が利便性高そう
コンソール不要なアプリはpywにするし

170 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 02:26:12.83 ID:8Of01QOa.net]
前は(必要に迫られない限り絶対に使いたくない)Anacondaだったけど一年半くらい前に公式のPythonに出戻った
それまではpylauncher+Anacondaだったね

171 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 04:15:45.66 ID:/WFZHSQq.net]
>>165
input()使ってコンソール表示をキープする使い方もあるのでそのままがいい

172 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 08:07:41.99 ID:X3clQbRB.net]
forループを指定の時刻になったら抜け出したいんだが何か方法ありますか?

例えば21時になったらループを抜けたいです

173 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 08:25:36.92 ID:nOkVXb94.net]
now=datetime.datetime.now().hourで現在時刻を取得してif now>21:みたいな感じでいけるのかな?



174 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 11:33:42.97 ID:v1HyCHbN.net]
>>168
whileループじゃなくてforループ?

175 名前:デフォルトの名無しさん mailto:sage [2022/02/07(月) 12:11:38.49 ID:Afq51Jp9.net]
signal.alarmで割り込んでグローバルに参照できる情報を更新
forではそこを確認するだけ
あるいはEventMachineみたいなスケジューラに乗っかる






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<297KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef