◎正当な理由による書き込みの削除について: 生島英之とみられる方へ:
【まず1嫁】くだすれPython(超初心者用) その60 ->画像>1枚
動画、画像抽出 ||
この掲示板へ
類似スレ
掲示板一覧 人気スレ 動画人気順
このスレへの固定リンク: http://5chb.net/r/tech/1725188284/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード設定推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
https://techiedelight.com/compiler/ Run Code機能あり。
http://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
http://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
http://pastebin.com/ まずまずシンプル。
http://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python◇ http://www.python.org/
◇まとめwiki◇ http://python.rdy.jp/wiki.cgi
〇前スレ〇
【まず1嫁】くだすれPython(超初心者用) その59
http://2chb.net/r/tech/1689241721/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ### >>1 http://2chb.net/r/mango/1724946346/257 ここで絞り込んだところ、旧テンプレ「NGワードトー6推奨」のトーロク+URLがあるとロックにかかりスレ立てできないようなので
用語を「設定」と置き換えめ立てました
標準ライブラリでEBNFを解釈できる構文解析器ってある?さすがにねーか
この度Pythonを勉強することになったぜ。よろしくう😀
俺、退職したら今まで買って積んでいたPython技術書を読みまくりの
コード書きまくりの毎日を送るんだ…
誰にも強制されない期限に縛られない夢のようなプログラミングライフ
pythonでjsの様な即時関数の使い方できないのかとやってたら、
jsと同じ書き方でできるんやね。
jsの即時関数もこれで意味が理解できた。
test = (lambda:1+2)()
lambdaは中途半端で使いたくないし
その場で関数定義するかな
ドキュメンテーションにもなるし
openpyxlで
ws.column_dimensions[str].hiddenで非表示列を削除したいと思ったのですが
どうやらAG-AJまでが非表示のばあいAGのみTrueになるため、削除範囲の設定が出来ません。
どのように処理したら良いのでしょうか?
ctypesの型を派生して新しい型を作りたいです。
普通に A() の形でインスタンスを作ると __new__や__init__が呼ばれるのですが
A.from_buffer()でインスタンスを作ると__new__も__init__も呼ばれません。
インスタンスが出来たときに初期化処理を走らせたいのですが
あらゆる場合に処理を走らせるにはどこに書けば良いのでしょう?
class A(ctypes.Structure):
def __new__(cls):
print("__new__")
return super().__new__(cls)
def __init__(self):
print("__init__")
a1 = A() # __new__も__init__も呼ばれる
a2 = A.from_buffer(b'\x00' * 100) # __new__も__init__も呼ばれない
>>9 自己レスです。できました。
非表示列〜max_columnの範囲で削除していけば大丈夫でした。
def hoge[T]() -> Tとは書けないの??
[key]の解決がランタイムだから
class Hoge:
def __getitem__(self, t: T):
def inner() -> T:
return t + t + t
return inner
こんなんならコンストラクタでジェネリクスした方が素直か
Pyinstallerでmpmathとsympyを使用しているスクリプトをEXEにしたところ、
スクリプトで実行した状態と挙動が異なってしまった。
mpmathだけの場合と両方を使用したEXEの場合を比較しても、挙動が異なる。
何か良い対処法はないでしょうか?
>>16 ちなみにnuitkaでEXEファイルを作っても、状況は多少異なるが同様にスクリプトとは挙動が異なるEXEが出来上がる。
何か良い対処法はないでしょうか?
pyinstallerは6.6.0、
nuitkaは2.2.2で確認。
altgraph 0.17.4
mpmath 1.3.0
Nuitka 2.2.2
ordered-set 4.1.0
packaging 24.0
pefile 2023.2.7
pip 24.0
pyinstaller 6.6.0
pyinstaller-hooks-contrib 2024.3
pywin32-ctypes 0.2.2
setuptools 69.2.0
sympy 1.13.3
zstandard 0.22.0
こんな環境です。
mpmathだけの場合とsympyを加えた場合の話ですが、どうもスクリプトプログラムのデグレードだったようで、
スクリプトとEXEの挙動の相違はmpmathのみの場合と同一な相違なようでした。
具体的な挙動の相違は、スクリプトではmp.dpsを2000にして、mp.piを実行するときちんと表示できるのですが、
EXEでは
No module named '_pylong'
とエラーになってしまう点です。
ちなみにmp.dpsを1700程度まで下げると両方共問題なく実行できます。
>>19 はpipenv上の環境ですが、どうもpythonのバージョンがスクリプトを実行しているvscodeの3.12.1より古く、
3.10.11だったようで、今nuitkaを実行しているのが終了したらバージョンを上げて試してみます。
>>20 デグレード内容は、
if x or y in a:
処理1
else:
処理2
としていたら常に処理1になっていたのを、
if x in a:
処理1
elif y in a:
処理1
else:
処理2
としたらうまくいったものです。
>>23 失礼。正確には
if 'x' or 'y' in a:
処理1
else:
処理2
としていたら常に処理1になっていたのを、
if 'x' in a:
処理1
elif 'y' in a:
処理1
else:
処理2
としたらうまくいったものです。
シングルクォーテーションでもダブルクォーテーションでも一緒です。
>>22 pipenvのpythonのバージョンが
pipenv updateしても
pipenv install --python 3.12.1しても
3.12.1に上がらない。どうしたものか?
pyenvを入れていないので、仕方なくpython3.10.11をアンインストールして、
最新のpython3.12.6を入れなおしてみたわ。
しかしpyinstallerで作ったEXEでは
>>21の状況は変わらず。
nuitkaは実行時間がかかりすぎた上に作成に失敗したので再度は試していない。
>>21 pyinstallerで作ったEXEでは、
mp.dpsを1700にすると実行可能、1800にすると実行不可能、
その続きで1710や1720、などと上げていくと1793までは実行できて1794では実行できない状態となった。
ちなみにいきなり1793で実行すると実行できない。
不思議な挙動。
いやおっぱいって日本語だろ。pythonとは関係ないんじゃねぇ?
独り言ってレベル超えてずっと一人で話してる人いるよね
原因は明らかなのに「挙動が異なる」「不思議な挙動」などと書き込む”挙動”を繰り返す。
どうしたものか?
野良ライブラリに関する話題もそうだけど、スクリプトのexe化はPythonの本質的な話題じゃないから質問してくるの自重して欲しい
質問するくらいは別にいいと思う
ただEXE化の質問は8〜9割はEXE化すると動かない/動きが変わるという内容でそのほとんどがPythonやライブラリのバージョンが違うというもの
ビルド時のログにも出るしプログラムからも実行時に簡単に確認できるんだから最低限その程度の確認はやれよと思う
それすらもできないやつはEXE化に手を出すレベルに達してないんだが質問してくるやつに限って自分はそこそこできるとなぜか勘違いしてるからタチが悪い
exe化の前に質問の仕方を学んでこいって思うの多い
そんなにexe化したいならコンパイル型言語使えばって思う
連投があった後、ゴミしか書き込まなくなってるな。
連投は良くないな。
連投っていうかお前の質問の仕方は答えようとする人間のモチベを全力で削ぎにきてんのよ
ChatGPTあるのに質問してる時点でただのかまってちゃんなんだよ
相手してやれ
初心者がやりたいことのステップとして代表的なものであるのもたしか
学びやすいpythonにとって向いていることでもなく力技的にやらないとならないのもたしか
かなり変な連投があったとはいえタコ殴りにしすぎと思う
いわゆるexe化で挙動が違ったことないしそこまで難しいプログラムつくらないので解決法はわかりません
モジュールがないと言われてるなら含んでるか中身見てみたり
最小限の再現可能なプログラムを書いてpyinstallerやnuitkaのgitかredditなどに聞いてみたらよいのでは(簡潔に連投後だしとかなく)
https://github.com/python/cpython/blob/main/Lib/_pylong.py _pylongって多分これで、Python3.12からの新しいモジュールなんだよね
これを含めるようにpyinstallerに指示するとよさそう
ぼくにはわかりませんを質問の仕方が悪いにすり替えるのやめな?
>>21 だが、chatgpt4ominiに聞いて、.specに1行追加してビルドしなおしたら解消したわ。
ありがトン。
>それすらもできないやつはEXE化に手を出すレベルに達してないんだが質問してくるやつに限って自分はそこそこできるとなぜか勘違いしてるからタチが悪い
マジでこれだな
>>49 答えられなかったお前はもっとダメだな
>>50 独りよがりな見解など聞いても誰も得しない
>連投っていうかお前の質問の仕方は答えようとする人間のモチベを全力で削ぎにきてんのよ
解答する義務なんてないし
windows用python入れてp2exeしろよ
うぜえからもう来るな
Pythonしか出来ない低脳ゴミカスが増えたのか
単に広く全分野の学生がPythonを習うようになったってことなのか
ゴミの集う言語になっているな
>>55 後者だよ
今やPythonユーザーの大半はプログラマーではなく学者・研究者だろう
だから文法などよりも特定のライブラリの質問が多い
プログラマーでも文法などの基礎を押さえたらライブラリの使い方を学ぶようになるのは自然なことなのでライブラリの質問が多いからという理由だけでユーザー層が分かるわけではない
今回のはライブラリとは関係なく実行環境の各種バージョンを確認する・揃えるという基礎ができてないことが原因だが本人は基礎ができていないという自覚がないばかりか学ぼうとすらしていないから総スカンをくらう
>自覚がないばかりか学ぼうとすらしていない
同意
>>23,24,25あたりを見ればよくわかるよね
>シングルクォーテーションでもダブルクォーテーションでも一緒です。
どう観てもネタだよなωωω=2πf
しつこいよ
本スレならともかく超初心者のくだらない質問スレで
あれがなってないこれがなってない自分で調べたのか等々、好意的進言ならともかく否定したいだけ
こんな初心者むけのとこでしかイキれないやつがずっと(何十年)いるよなこの板
昔からここで精神性とかグチグチいってるのほとんどは同じやつだと思うわ
今気づいたけど
>>1に、「へび使いが優しくコメントを返します」ってあるんだな
どんなアホな質問でも辛辣な応対をしてはならんということだ
では僕の股間のパイソンが独り身で困っていますので何とかしてください
>>24 chatgptは
if 'x' in a or 'y' in a:
と書けと答える。
こんなところで聞かないでchatgptに聞けばいいというのが正解。
ゴミが脊髄反射するだけ。
ダメなやつ再登場w
これでバレないと本気で思ってるww
質問するなとは言っていないし
解答も言い方辛辣でも内容が的を得ているものなら問題無いだろう
>>34 と
>>57 これに尽きる
>>68 「優しく回答します」なのだから辛辣なのはダメだろ
>>71 発射できない封をされたものはモデルガンのスレにどうぞ
>>72 発射はできるが相手がいないだけの場合は?
>>75 まさにpythonの出番です彼女ロボットを作ってAIを注入してください
ここで俺ら凡人がヘタな回答するより、ChatGPTの使い方をアドバイスした方が有効なんじゃないかな
ChatGPTの使い方というのも結局のところ質問の仕方に帰着する
ここで質問があったらコピペしてchatGPTに質問
chatGPTの回答をまたコピペしてここに回答
さらに質問があったらコピペしてchatGPTに質問
chatGPTの回答をまたコピペしてここに回答
これを辛抱強く繰り返してみろ
Python1.13のJITはどんな感じ?いけてる?
GitHub - rio-labs/rio: WebApps in pure Python. No JavaScript, HTML and CSS needed
ps://github.com/rio-labs/rio
CSS好きじゃないからそういうのが増えるのは嬉しい
Fletでguiを作成しようと思っているのですが、右クリックのイベントって無いのです?
on_clickしかない感じなのですが、簡単に右クリックイベント足すならcv2やongameとかが色々あるみたいなのですが何が良いでしょうか?
>>86 調べきった結果、無かったのでとりあえずpynputモジュール使うことにしました。
右クリはGestureDetectorで包んでsecondaryからできる
Windows環境でsubprocess.runを呼び出す時の、ダブルクオートの処理について教えてください
いろいろ検索したのですが、どうしても解決できませんでした。
目的は、コマンドプロンプトのstartコマンドで、タイトルを引数に与えて実行したい、というものです。
タイトルは必ずダブルクオートを付与する必要があります(実行するコマンド部分と区別するため)
pythonからではなく素で実行する場合(以下は仮でdateコマンド、タイトルをhogehoge)
start "hogehoge" date
これを、subprocess.runから呼び出す場合
subprocess.run(['CMD', '/C', 'start', '"hogehoge"', 'date'])
とすれば動きそうですが、subprocess.runがダブルクオートを変換してしまいエラーとなります。
(「\hogehoge\ が見つかりません」となります)
以下の用に、タイトル部分に意図的に空白を入れて、ダブルクオートを外せば、自動的にダブルクオートが付いて渡されます
subprocess.run(['CMD', '/C', 'start', 'hoge hoge', 'date'])
どうも、引数のリストで与える場合、ダブルクオートを意図的に与えることができないようになっているみたいです
回避策として、ダミーの空白を入れる、引数をリストで与えず単一の文字列で与える(非推奨)、実行後のプログラム内で"title"コマンドでタイトルを変更する、などあるかと思いますが、もし、引数のリストを使用し空白を入れないタイトルを指定する方法があれば教えていただけると助かります。
>>89 subprocess.runでやってるのと同じことを素で実行するなら
CMD /C start "hogehoge" date
>>90 すみません、CMDが抜けてましたね。
いずれにしても、以下はtitleが正しく渡らずエラーになりまふ。
subprocess.run(['CMD', '/C', 'start', '"hogehoge"', 'date'])
↑hogehogeのクオートはダブルクォートをシングルで囲ってます
引数のリストで意図的なダブルクォートを渡す方法が知りたいです。
普通のコマンドでは,command "a" とcommand aは等価です.
これを区別するためCMDはWindows特有のGetCommandLineAのようなAPIでコマンド文字列を取得して使用しています.
単一の文字列で与えるやり方を使ってください.
>>92 やってみていただくと分かりますが、subprocess.runで引数をリストで与える場合、エスケープとかしてもダブルクォートを渡せないんです
>>93 Windows側の問題なんでしょうか?
検索で見てみると、Linuxなどの環境でもsubprocess.run(の引数リスト)でダブルクォートを渡せない問題はあるようです。
でもまぁそうですね、単一文字列にして渡す(あるいはダミーの空白を入れる)等で回避するのが手っ取り早いですね。
これは問題ではないです.
例えばこんなスクリプトargv.pyを用意します.
import sys; print(sys.argv)
これに引数を与えてコマンドプロンプトで実行してみてください.
> python argv.py hello
['argv.py', 'hello']
> python argv.py "hello"
['argv.py', 'hello']
> python argv.py \"hello\"
['argv.py', '"hello"']
あなたは1番目と2番目を区別しようとしていますが,通常のプログラムでは区別できません.
subprocessは3番目の方法で文字列の内容としてクオートを渡します.
これは正当な方法ですが,あなたの意図とは異なります.
>>94 やってみていただくと分かりますが、普通にエスケープすれば問題なくダブルクウォートを渡せます。
エスケープしたダブルクォートでもシングルクォート内のダブルクォートでも同じように動くな
もし本当にダブルクォート渡せないならknown issueとして明記されてないとダメな話
https://github.com/python/cpython/blob/3.13/Lib/subprocess.py#L582 リストで渡された時に単一文字列に変換するLib/subprocess.pyのlist2cmdlineは
スペースかタブを含むか空の場合ダブルクォートで囲われる
リスト内のダブルクォートは有無を言わさずバックスラッシュ付きに変換されてしまうので
リストでやるのは無理っぽい
>>96 すみません、問題なく動くということであれば、はじめに書いたように、
subprocess.run(['CMD', '/C', 'start', '"hogehoge"', 'date'])
のように、subprocess.runでリストで引数を渡すやり方で、コマンドプロンプト(startコマンド)をタイトル付で実行する方法を教えていただけないでしょうか?
startコマンドのタイトルは必ずダブルクォートを付けて渡す必要があります。
引数のリストを文字列化するなどして変数に代入
これをsubprocess.runなりsubprocess.callをつかって実行コマンドと合わせて呼び出せばいい
後者は"shell=True"が必要かもしれない
酷いやり取りだな
>>89が質問時点で既に分かっていることを、知ったか初心者がマウントしながら確認してるだけ
>>98 詳しくありがとうございます。やはりsubprocessの仕様の挙動としてそのようになってるのですね。
仕様ということであれば、その他の方法で対応するようにいたします。
>>100 ありがとうございます。
引数をリストで渡すことが、エスケープなどを不要にしたりなど推奨とされてるようだったのですが、逆にダメなケースがあるんですね。
じつは、EchoAPIを使い始めてから、設計プロセスが大きく変わった。
じつは、EchoAPIを使い始めてから、設計プロセスが大きく変わった。
pysctipterを久しぶりにアップデートしたら縦の破線が出るようになったのですが設定箇所がわかる方いませんか?
何で解決できたのに自決するんだよ、無理しやがって…
<(`・ω・´)
>>102 ぶっちゃけWindows限定でよくて、問題にハマったらWin32APIを直接叩いた方が良いと思う。
GUIというほどではないんですが、画像を表示させて任意の部分をクリックしたら特定のコードを実行するみたいなことってできませんか?
PythonはMicrosoftStoreにあるPython 3.13 Python Software Foundation というのを入れました
[Python Tkinter] 画像をクリックしたときのイベントを実装する方法
https://af-e.net/python-tkinter-image-click/ こういうのだよねopencvとかpygameとか
guiを扱うものならそういうのは当然出来ると思う
HTMLでいうとかつてはクリッカブルマップと言われてたやつだろ
111です
皆様ありがとうございます
参考にして勉強します
Dashで非同期処理ってどうすればいいんでしょうか?
具体的にはボタンを押したらそのボタンを無効にして処理を実行、処理が終わったらボタンを有効に戻したいです
ググったりAIに聞いたりしてもよく分かりません
lud20250118180618このスレへの固定リンク: http://5chb.net/r/tech/1725188284/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像
↓「【まず1嫁】くだすれPython(超初心者用) その60 ->画像>1枚 」を見た人も見ています:
・くだすれPython(超初心者用) その36
・くだすれPython(超初心者用) その39
・くだすれPython(超初心者用) その37
・くだすれPython(超初心者用) その44【Ruby禁止】
・【まず1嫁】くだすれPython(超初心者用) その57
・【まず1嫁】くだすれPython(超初心者用) その55
・くだすれPython(超初心者用) その52【まず1嫁】
・くだすれPython(超初心者用) その45【Ruby禁止】
・くだすれPython(超初心者用) その42【Ruby禁止】
・くだすれDelphi(超初心者用)その55
・くだすれFORTRAN(超初心者用)その7
・くだすれDelphi(超初心者用)その56
・くだすれjavascript(超初心者用) その1
・くだすれDelphi(超初心者用)その54
・くだすれFORTRAN(超初心者用)その6
・くだすれDelphi(超初心者用)その16
・くだすれC++Builder(超初心者用)その5
・くだすれDelphi(超初心者用)その58【Embarcadero】
・くだすれC++/CLI(初心者用)part2
・UWSC初心者用スレ2
・越田専用の初心者用スレ
・UWSC初心者用スレ
・俺、パチ初心者用質問スレ10本目
・初心者用将棋ウォーズ
・【初心者用】何が何でも大手になりたい
・ふらっと C#,C♯,C#(初心者用) Part139
・【PSO2】初心者用PSO2攻略wikiを作りました
・ふらっと C#,C♯,C#(初心者用) Part134
・俺、パチ初心者用質問スレ8本目
・【第五人格】IdentityV 初心者用スレ 6
・【第五人格】IdentityV 初心者用スレ 20
・ふらっと C#,C♯,C#(初心者用) Part160
・【初心者用】マイニング情報交換スレ33
・【初心者用】マイニング情報交換スレ43
・【初心者用】マイニング情報交換スレ13
・【初心者用】マイニング情報交換スレ17
・ふらっと C#,C♯,C#(初心者用) Part136
・ふらっと C#,C♯,C#(初心者用) Part132
・Webサイト制作初心者用質問スレ part248
・【第五人格】IdentityV 初心者用スレ 29
・【初心者用】マイニング情報交換スレ9 c2ch.net
・【初心者用】王マム・タロト
・【初心者用】マイニング情報交換スレ23
・【初心者用】マイニング情報交換スレ29
・教えて、鯖管理の仕方(初心者用)
・Webサイト制作初心者用質問スレ part252
・Webサイト制作初心者用質問スレ part249
・ふらっとC#,C♯,C#(初心者用) Part88
・ふらっと Q#,Q♯,Q#(初心者用) Part 1
・ふらっと C#,C♯,C#(初心者用) Part154
・【初心者用】マイニング情報交換スレ39
・Webサイト制作初心者用質問スレ part241
・ふらっと C#,C♯,C#(初心者用) Part157
・ふらっと C#,C♯,C#(初心者用) Part147
・ふらっと C#,C♯,C#(初心者用) Part153
・【初心者用】オーディオ趣味の手順【1は暫定テンプレ】
・【テンプレ】園芸・栽培初心者用スレ 9株目【必読】
・ふらっと C#,C♯,C#(初心者用) Part137
・ふらっと C#,C♯,C#(初心者用) Part141
・ふらっと C#,C♯,C#(初心者用) Part145
・ふらっと C#,C♯,C#(初心者用) Part134
・ふらっと C#,C♯,C#(初心者用) Part142
・ふらっと C#,C♯,C#(初心者用) Part144
・【第五人格】IdentityV 初心者用スレ 23
・【第五人格】IdentityV 初心者用スレ 31
12:47:32 up 146 days, 13:46, 0 users, load average: 90.24, 88.05, 87.97
in 0.0089800357818604 sec
@0.0089800357818604@0b7 on 091101
|