当スレに★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(超初心者用) その57
https://mevius.5ch.net/test/read.cgi/tech/1653225908/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その58
レス数が950を超えています。1000を超えると書き込みができなくなります。
2022/09/07(水) 10:33:53.50ID:RjZl78eW
886デフォルトの名無しさん
2023/06/15(木) 14:56:22.35ID:8Lm7x0rO887デフォルトの名無しさん
2023/06/15(木) 19:51:30.10ID:NRzS3/Hm >>885
この例は定数として使ってないから問題なのですよね
この例は定数として使ってないから問題なのですよね
888デフォルトの名無しさん
2023/06/15(木) 20:01:12.79ID:Loc7aXfB889デフォルトの名無しさん
2023/06/15(木) 21:02:36.25ID:IgZ67UFj 関数内で完結してない時点で使い方おかしい
しかもそれだと毎年変わるだろ
しかもそれだと毎年変わるだろ
890デフォルトの名無しさん
2023/06/15(木) 21:29:31.89ID:0XxRvJKG そういうのはインスタンス生成時にコンフィグを渡すか読み込むかしておいて関数呼び出し時に明示的に渡されなければコンフィグ記載のデフォルト値を使うというやり方をする
Noneを指定しておいて関数内で分岐するところは同じ
Noneを指定しておいて関数内で分岐するところは同じ
891デフォルトの名無しさん
2023/06/16(金) 00:26:35.04ID:StfTi6nw デフォルト値を変えるって、
以前変えた値が生きてしまうとか
複数個所から使用した場合に他方へ影響が出てしまうとか
そういうのを想定しないってことよね
いいやり方じゃない気がする
以前変えた値が生きてしまうとか
複数個所から使用した場合に他方へ影響が出てしまうとか
そういうのを想定しないってことよね
いいやり方じゃない気がする
892デフォルトの名無しさん
2023/06/16(金) 03:33:03.14ID:ZPTtRGB7 風邪薬を飲みましたが腰痛が治らなかったので風邪薬は二度と飲みません
893デフォルトの名無しさん
2023/06/16(金) 09:05:53.00ID:ly+Q1cW8 >>888
そういう用途なら
class Sample(object):
def __init__(self, n):
self.n = n
def sample(self, s=None):
if s is None: s = self.n
print(s)
s = Sample(1)
s.sample()
s = Sample(2)
s.sample()
s = Sample(3)
s.sample()
観たいな描き方の方が良い
そういう用途なら
class Sample(object):
def __init__(self, n):
self.n = n
def sample(self, s=None):
if s is None: s = self.n
print(s)
s = Sample(1)
s.sample()
s = Sample(2)
s.sample()
s = Sample(3)
s.sample()
観たいな描き方の方が良い
894デフォルトの名無しさん
2023/06/16(金) 09:19:00.80ID:g3SmSFK2 お、なんか高度なやつ来たぞ
895デフォルトの名無しさん
2023/06/16(金) 19:23:17.82ID:XNOAB+rY def make_sample_func(n):
def sample(s=n):
print(s)
return sample
s = make_sample_func(1)
s()
s = make_sample_func(2)
s()
とかでもいけるかな。
def sample(s=n):
print(s)
return sample
s = make_sample_func(1)
s()
s = make_sample_func(2)
s()
とかでもいけるかな。
896デフォルトの名無しさん
2023/06/16(金) 20:22:55.76ID:sY7f1uiK ででででこれーた
897デフォルトの名無しさん
2023/06/17(土) 10:47:08.40ID:bEvtfpfP windows11でアプリケーション自動起動のスクリプトを書く場合、pywinautoが良いでしょうか
どの言語が良いのか迷っています。
どの言語が良いのか迷っています。
898デフォルトの名無しさん
2023/06/17(土) 11:02:07.85ID:Fi2FK6UR 自動起動だけだったら標準機能のスタートアップとかサービスじゃ駄目なの?
そこから自動で何か操作するんだったらpywinautoでもいいのかもしれんけど
そこから自動で何か操作するんだったらpywinautoでもいいのかもしれんけど
899デフォルトの名無しさん
2023/06/17(土) 14:34:54.29ID:bEvtfpfP ユーザー名とパスワードを入れてのログインなので
タスクスケジューラでは足りませんでした。
pywinautoをググってもあまヒットしなかったので
他の言語のほうがいいのか知りたく質問しました。
タスクスケジューラでは足りませんでした。
pywinautoをググってもあまヒットしなかったので
他の言語のほうがいいのか知りたく質問しました。
900デフォルトの名無しさん
2023/06/17(土) 15:22:15.38ID:ugkpGcKE powershellからの起動を塞がれる可能性はあるけどpower automateの選択肢もあるかと
901デフォルトの名無しさん
2023/06/19(月) 10:54:40.92ID:xB77xCcF Pythonでサービス登録ってどうすればいいの?
902デフォルトの名無しさん
2023/06/19(月) 12:06:13.92ID:xYrrfR7/ Windows ならサービスマネージャー、Linux なら systemctl とか、OS の機能として登録するのが基本だと思うけど Python からやるなら pywin32 とか言うのがあるらしい。
pypi.org/project/pywin32/
qiita.com/Bashi50/items/1d98f80ccaa8746bff38
自分は使ったこと無いからよく分からん
pypi.org/project/pywin32/
qiita.com/Bashi50/items/1d98f80ccaa8746bff38
自分は使ったこと無いからよく分からん
903デフォルトの名無しさん
2023/06/19(月) 12:18:58.21ID:7QNCRBGI 関数を細かく分けてネストしているような時、最下層の関数で使う値を、上層の関数で制御や決定するような場合、引数のバケツリレーみたいになってしまうけど、こういうときは仕方ないのか、グローバル変数にして渡すべきなのか、どうなんでしょう?
例として、aiohttpのrequest関数にプロキシなどを渡す場合で、
A関数→B関数→C関数→D関数→aiohttp
(A関数でaiohttpのプロキシやヘッダの決定をする。B、C、D関数では使わない)
といったケース。
Reactでのpropsのバケツリレーみたいにあまり良くないみたいなイメージが。
例として、aiohttpのrequest関数にプロキシなどを渡す場合で、
A関数→B関数→C関数→D関数→aiohttp
(A関数でaiohttpのプロキシやヘッダの決定をする。B、C、D関数では使わない)
といったケース。
Reactでのpropsのバケツリレーみたいにあまり良くないみたいなイメージが。
904デフォルトの名無しさん
2023/06/19(月) 12:23:20.66ID:h42DXjZ+ 個人開発でもgit使うべきなんだろうか
古いファイルimportして気づかず実行時エラー直らなくて困ってから思った
古いファイルimportして気づかず実行時エラー直らなくて困ってから思った
905デフォルトの名無しさん
2023/06/19(月) 12:40:36.95ID:xYrrfR7/ >>903 正直そのコードがイメージできてないから何とも言えないけど、グローバル変数に抵抗があるならクラスにまとめるのも良いんじゃない?
コンストラクタインジェクションで必要な情報を最初にメンバとして与えて、あとは各メソッドで好きなように使う感じ。
メンバを参照する場合はメソッドの引数として渡さなくていいわけだし
コンストラクタインジェクションで必要な情報を最初にメンバとして与えて、あとは各メソッドで好きなように使う感じ。
メンバを参照する場合はメソッドの引数として渡さなくていいわけだし
906デフォルトの名無しさん
2023/06/19(月) 13:59:45.88ID:7QNCRBGI >>905
あーそっか!なるほど。
クラス(インスタンス)にスコープを閉じこめてしまえばグローバル変数使わなくて済みますね
まだ積極的なクラス化に慣れてないので思いつきませんでした。
ありがとうございます。
あーそっか!なるほど。
クラス(インスタンス)にスコープを閉じこめてしまえばグローバル変数使わなくて済みますね
まだ積極的なクラス化に慣れてないので思いつきませんでした。
ありがとうございます。
907デフォルトの名無しさん
2023/06/19(月) 20:12:27.51ID:iWd6IZwU そりゃ使った方がいいと思う
Python関係ないが
Python関係ないが
908デフォルトの名無しさん
2023/06/19(月) 20:19:59.67ID:YM4pgXtK909デフォルトの名無しさん
2023/06/20(火) 13:28:50.21ID:8A36Uzhp pypiにモジュールうpしてみ
嫌でもgit/github覚える
嫌でもgit/github覚える
910デフォルトの名無しさん
2023/06/20(火) 16:29:35.63ID:/U7g5+3X gitは大規模分散開発向けだから一人開発に使うには大げさ
Subversionがおススメ
Subversionがおススメ
911デフォルトの名無しさん
2023/06/20(火) 16:50:57.92ID:FRej1Zvz そんなことはない
912デフォルトの名無しさん
2023/06/20(火) 17:03:32.79ID:i7ER5+tQ 個人の超小規模な開発でもgit使ってますわ
ブランチやコミットメッセージは適当だしgitホスティングサービスも使ってないけど
ブランチやコミットメッセージは適当だしgitホスティングサービスも使ってないけど
913デフォルトの名無しさん
2023/06/20(火) 17:51:47.54ID:B29tW43G 個人でもgit使ってるなー
たまにしか使わないような環境構築の手順のメモとかでもマークダウンで書いておいてホスティングサービスにプッシュして保存してあるから外から見れるのが便利
SVNは過去に使ったけどGitに移行するときに「同じ用語だけど意味が違う」みたいのがチラホラあって苦労したのもあって触らなければよかったとさえ思ってる
たまにしか使わないような環境構築の手順のメモとかでもマークダウンで書いておいてホスティングサービスにプッシュして保存してあるから外から見れるのが便利
SVNは過去に使ったけどGitに移行するときに「同じ用語だけど意味が違う」みたいのがチラホラあって苦労したのもあって触らなければよかったとさえ思ってる
914デフォルトの名無しさん
2023/06/20(火) 20:39:53.25ID:UXIko2WD 今さらSubversion使うってのはさすがにないわ…
915デフォルトの名無しさん
2023/06/20(火) 23:56:43.97ID:/NrGyZWU 1人開発だからSubversionが適してるなんてことないよ
GitもSubversionも知らなくて、どちらも学習コストがかかるなら圧倒的にGitをお勧めする
というかSubversionの方が運用が難しいと思うんだよな。
GitもSubversionも知らなくて、どちらも学習コストがかかるなら圧倒的にGitをお勧めする
というかSubversionの方が運用が難しいと思うんだよな。
916デフォルトの名無しさん
2023/06/21(水) 02:35:55.96ID:qDL7muQc 適不適ってよりsubversionって開発まだやってんのか? gitあんだしもうとっくに開発終わってLTSの保守みたいなことだけやってんだと思ってた
公式行って開発メーリングリスト見たら件数全然だし、そもそもロードマップの冒頭に次のリリースの予定は現在ありませんなんて書いてあったんだが
公式行って開発メーリングリスト見たら件数全然だし、そもそもロードマップの冒頭に次のリリースの予定は現在ありませんなんて書いてあったんだが
917デフォルトの名無しさん
2023/06/21(水) 18:05:52.58ID:cQZLHxHQ pickleの仕様が意味わかんないんだけど
class aでpickle.dump(dataclass)したファイルを
別のディレクトリにあるclass bからpickle.loadすると
attribute errorになるのはなぜ
同じdataclassはimportしてるからデータ構造一致してるじゃんか…
class aでpickle.dump(dataclass)したファイルを
別のディレクトリにあるclass bからpickle.loadすると
attribute errorになるのはなぜ
同じdataclassはimportしてるからデータ構造一致してるじゃんか…
918デフォルトの名無しさん
2023/06/21(水) 23:01:34.73ID:E9iM1sNN Pythonってスマホにも入れられますか?
919デフォルトの名無しさん
2023/06/21(水) 23:07:09.44ID:ywnUaEYp QPythonでも使ったら
920デフォルトの名無しさん
2023/06/21(水) 23:20:02.17ID:E9iM1sNN >>919
おぉ!ありがとうございます(^o^)
おぉ!ありがとうございます(^o^)
921デフォルトの名無しさん
2023/06/21(水) 23:46:14.05ID:73YbeCUa Carnets(Jupyter環境)もいいよ
922デフォルトの名無しさん
2023/06/22(木) 01:32:51.71ID:hPQpnAZR923デフォルトの名無しさん
2023/06/22(木) 10:37:52.44ID:kNfUaD9C >>917
msgpackとかYAMLとかに移行
msgpackとかYAMLとかに移行
924デフォルトの名無しさん
2023/06/27(火) 09:47:44.74ID:BbQ3yiyV カレントフォルダAの下階層Bにあるa.pdfを開く場合の指定を教えてください
open("/B/a.pdf"., "rb")
かと思ったら違いました
open("/B/a.pdf"., "rb")
かと思ったら違いました
925デフォルトの名無しさん
2023/06/27(火) 09:51:40.18ID:x7v8IWey open("./B/a.pdf"., "rb")
926デフォルトの名無しさん
2023/06/27(火) 09:55:31.12ID:BbQ3yiyV >>925
ありがとうございました
ありがとうございました
927デフォルトの名無しさん
2023/06/27(火) 09:59:16.04ID:jgdA0YQ2 open("B/a.pdf", "rb")
928デフォルトの名無しさん
2023/06/27(火) 13:31:09.61ID:BbQ3yiyV 何度もすみません
PyPDF4を使って、inputフォルダ内のpdfにしおりをつけてoutputフォルダへ保存したいのですが
すでにしおりが存在するpdfがあると処理が止まります
https://techiedelight.com/compiler/?09af
しおりがある場合はスルーする、または上書きするような処理はどう書けばいいでしょうか?
>>927
ありがとうございました
PyPDF4を使って、inputフォルダ内のpdfにしおりをつけてoutputフォルダへ保存したいのですが
すでにしおりが存在するpdfがあると処理が止まります
https://techiedelight.com/compiler/?09af
しおりがある場合はスルーする、または上書きするような処理はどう書けばいいでしょうか?
>>927
ありがとうございました
929デフォルトの名無しさん
2023/06/27(火) 13:46:18.41ID:jgdA0YQ2 >>928
PyPDF4入れてないし触ったこともないが、
https://assam-blog.com/python-pypdf4-bookmark/
上のリンクを見る限りparent=Noneが引っかかってるぽいかな。
parentが存在する場合はparent=parentにしないといけない様な。
とりあえずしおり追加をtry exceptで囲んでみるといい
PyPDF4入れてないし触ったこともないが、
https://assam-blog.com/python-pypdf4-bookmark/
上のリンクを見る限りparent=Noneが引っかかってるぽいかな。
parentが存在する場合はparent=parentにしないといけない様な。
とりあえずしおり追加をtry exceptで囲んでみるといい
930デフォルトの名無しさん
2023/06/27(火) 13:46:55.68ID:WeQZqkEK >>928
ホームページもなくなったモジュールなんて使わないほうがいいよ
https://www.reddit.com/r/learnpython/comments/117cekd/pypdf_vs_pypdf2_vs_pypdf3_vs_pypdf4_vs_others/
ホームページもなくなったモジュールなんて使わないほうがいいよ
https://www.reddit.com/r/learnpython/comments/117cekd/pypdf_vs_pypdf2_vs_pypdf3_vs_pypdf4_vs_others/
931デフォルトの名無しさん
2023/06/27(火) 13:47:22.11ID:jgdA0YQ2 >>928
もしVSCODEとか使ってないなら入れた方がいい。
もしVSCODEとか使ってないなら入れた方がいい。
932デフォルトの名無しさん
2023/06/27(火) 14:26:11.38ID:BbQ3yiyV933デフォルトの名無しさん
2023/06/27(火) 15:53:08.97ID:pRiyodEZ >>928
pypdfにあった2、3、4の分岐は全部元のPyPDFにマージされたみたいだけど
pypdfにあった2、3、4の分岐は全部元のPyPDFにマージされたみたいだけど
934デフォルトの名無しさん
2023/06/29(木) 07:39:16.93ID:T2CvwE5c >>813
print(
"{0}\n{1}\n\n{2}\n{3}".format(
"《7/12公開》【超拡散希望】やまと新聞 水間政憲の「国益最前線レポート」#19 「社会党議員が国会で問題にした韓国人の密入国問題 他」",
"htt"+"ps://www.nicovideo.jp/watch/so26687951?from=1395",
"第22回国会 衆議院 法務委員会 第23号 昭和30年6月18日|国会会議録検索システム",
"htt"+"ps://kokkai.ndl.go.jp/simple/txt/102205206X02319550618",
)
)
print(
"{0}\n{1}\n\n{2}\n{3}".format(
"《7/12公開》【超拡散希望】やまと新聞 水間政憲の「国益最前線レポート」#19 「社会党議員が国会で問題にした韓国人の密入国問題 他」",
"htt"+"ps://www.nicovideo.jp/watch/so26687951?from=1395",
"第22回国会 衆議院 法務委員会 第23号 昭和30年6月18日|国会会議録検索システム",
"htt"+"ps://kokkai.ndl.go.jp/simple/txt/102205206X02319550618",
)
)
935デフォルトの名無しさん
2023/06/30(金) 19:43:15.38ID:Nh9R4vk6 @login_manager.user_loader
def load_user(user_id):
return testuser.query.get(user_id)
class testuser(UserMixin, db.Model):
__tablename__ = 'testuser'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True)
def __init__(self, user_name:str, password:str):
self.username = user_name
users = testuser.query.all()
が空のリストしか返ってこないのですが
なぜでしょうか?
db.create_all()で作られたsqliteのファイルにはSQLitestationで2行書き込んであるのですが
def load_user(user_id):
return testuser.query.get(user_id)
class testuser(UserMixin, db.Model):
__tablename__ = 'testuser'
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(64), index=True)
def __init__(self, user_name:str, password:str):
self.username = user_name
users = testuser.query.all()
が空のリストしか返ってこないのですが
なぜでしょうか?
db.create_all()で作られたsqliteのファイルにはSQLitestationで2行書き込んであるのですが
936デフォルトの名無しさん
2023/06/30(金) 23:05:55.64ID:aYX0cHOa 自己解決した
dockerの外のファイルに書き込んでたわあほだった
dockerの外のファイルに書き込んでたわあほだった
937デフォルトの名無しさん
2023/07/05(水) 21:32:51.88ID:vwEo9VyC VS Codeでpythonを書いてるんですがフォーマットしてもらえません
拡張機能のBlack Formatterを入れて、jsonは下記のように指定してます
https://techiedelight.com/compiler/?f802
で、以下のようなコードを書いて保存しても何も整形されません
(フォーマッタが効いてればちゃんと整形してくれるらしいです)
https://techiedelight.com/compiler/?ff9b
どうしたら整形してくれるようになるんでしょうか
拡張機能のBlack Formatterを入れて、jsonは下記のように指定してます
https://techiedelight.com/compiler/?f802
で、以下のようなコードを書いて保存しても何も整形されません
(フォーマッタが効いてればちゃんと整形してくれるらしいです)
https://techiedelight.com/compiler/?ff9b
どうしたら整形してくれるようになるんでしょうか
938937
2023/07/05(水) 23:40:56.16ID:vwEo9VyC pipでblackをインストールしてターミナルからblackコマンド打ってpyファイルを読ませたらフォーマットできました
でもVS Codeで保存する際にフォーマットしてほしいです…
でもVS Codeで保存する際にフォーマットしてほしいです…
939デフォルトの名無しさん
2023/07/06(木) 02:09:51.02ID:ET0epgcJ940937
2023/07/07(金) 22:45:39.38ID:ediGtYoh >>939
一旦jsonファイルの中身をすべて消し、
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
}
のみにしましたが動作しません
※上の2行は公式拡張のBlack Formatterの詳細に書かれていたもの
Black Formatterも入れ直しましたが改善せず
一旦jsonファイルの中身をすべて消し、
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.formatOnSave": true
}
のみにしましたが動作しません
※上の2行は公式拡張のBlack Formatterの詳細に書かれていたもの
Black Formatterも入れ直しましたが改善せず
941デフォルトの名無しさん
2023/07/07(金) 22:59:09.83ID:M5ZQKIiH JSONなんだから一番外側波括弧で括らないと
942デフォルトの名無しさん
2023/07/08(土) 01:26:23.76ID:qxsUVEr0 >>940
だから直接編集せずにUIから設定せい言ってるやろがい!
https://i.imgur.com/AfxL82b.png
https://i.imgur.com/bkFAjaw.png
問題の切り分けとしてJSON設定のフォーマットミスが考えられる
(手動で編集してたらミスしてる可能性が高い)
だからUIで設定した時に、正しい内容どうやって記載されるかを確認して
それでもダメなら他に考えられる原因はなんだろう、って確認するんだぞ
>>941が言うように一番外側の括弧も無いし
だから直接編集せずにUIから設定せい言ってるやろがい!
https://i.imgur.com/AfxL82b.png
https://i.imgur.com/bkFAjaw.png
問題の切り分けとしてJSON設定のフォーマットミスが考えられる
(手動で編集してたらミスしてる可能性が高い)
だからUIで設定した時に、正しい内容どうやって記載されるかを確認して
それでもダメなら他に考えられる原因はなんだろう、って確認するんだぞ
>>941が言うように一番外側の括弧も無いし
943937
2023/07/08(土) 08:04:16.09ID:7NgqkU0K >>941-942
すみません、一番外側のカッコは省略してしまいました
また、UIから指定だと、Black FormatterのUsageに書かれている、
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
}
の指定ができないのではと思い記述していました
結果としてはvenv環境で実行しているのにインタプリタがvenv内のものでない(?)ことが原因だったようです
インタプリタをvenvのものに指定しなおしたらフォーマットされるようになりました
お騒がせしました
すみません、一番外側のカッコは省略してしまいました
また、UIから指定だと、Black FormatterのUsageに書かれている、
"[python]": {
"editor.defaultFormatter": "ms-python.black-formatter",
}
の指定ができないのではと思い記述していました
結果としてはvenv環境で実行しているのにインタプリタがvenv内のものでない(?)ことが原因だったようです
インタプリタをvenvのものに指定しなおしたらフォーマットされるようになりました
お騒がせしました
944デフォルトの名無しさん
2023/07/08(土) 09:54:00.97ID:M6MMYA5O ほらな
ばかだっただろ?
ばかだっただろ?
945デフォルトの名無しさん
2023/07/11(火) 06:05:54.70ID:pfF1WrTr pythonのopen関数でバイナリモードでpngなどのテスト用ファイルを開き
with open("xxx.png", "rb") as fff:
a=fff.read(16)として16バイト読み込んでいます
意味はないが練習プログラムであり16バイトずつ読み込みたいので
次の16バイトのために現在位置を記録してファイルクローズとしたい
そこでたどり着いたfff.tell()は16進数のようなものを返してくれるのですが
これを使って任意位置からまた16バイト読むにはなんらかの関数(メソッド?)に
これをそのままか10進数などに加工して渡したりできるものが存在するのでしょうか
というところで悩んでます、バイナリで読んだりシークする手段は他にもあるようですがまずは始めてしまったopen関数でなんとかしたい
with open("xxx.png", "rb") as fff:
a=fff.read(16)として16バイト読み込んでいます
意味はないが練習プログラムであり16バイトずつ読み込みたいので
次の16バイトのために現在位置を記録してファイルクローズとしたい
そこでたどり着いたfff.tell()は16進数のようなものを返してくれるのですが
これを使って任意位置からまた16バイト読むにはなんらかの関数(メソッド?)に
これをそのままか10進数などに加工して渡したりできるものが存在するのでしょうか
というところで悩んでます、バイナリで読んだりシークする手段は他にもあるようですがまずは始めてしまったopen関数でなんとかしたい
946デフォルトの名無しさん
2023/07/11(火) 08:06:58.25ID:pfF1WrTr あ、あと格納した16バイトをprintすると…IHDR…などとpngのヘッダーのようなものが表示されて
よしよしと安堵していたのですが、文字で表示されるのは格納状態に問題ないか?とも思ったのですが
これはdebian(termux)の標準出力の仕様かprintの型の扱いの問題か混乱しています
よしよしと安堵していたのですが、文字で表示されるのは格納状態に問題ないか?とも思ったのですが
これはdebian(termux)の標準出力の仕様かprintの型の扱いの問題か混乱しています
947デフォルトの名無しさん
2023/07/11(火) 11:24:07.34ID:heSsZz8c fff.tell() で読んだのをそのまま覚えておいて
次 open して読む前に seek すれば良いだけ
そもそも任意の位置から読むつもりなら前回の場所覚えておく必要も無いか
次 open して読む前に seek すれば良いだけ
そもそも任意の位置から読むつもりなら前回の場所覚えておく必要も無いか
948デフォルトの名無しさん
2023/07/11(火) 11:25:38.01ID:heSsZz8c PNGの仕様はここで聴くな
949デフォルトの名無しさん
2023/07/11(火) 14:43:28.87ID:pfF1WrTr これをseekに渡せるんだなるほどやってみようと思います
16進数を返すというのはなにか間違ってたかもしれませんどの参考サイトも(バイナリでも)単純な整数を返しているようだ
pngについてはまたどうしようもなくなって解決出来なければ質問しますありがとうございました
16進数を返すというのはなにか間違ってたかもしれませんどの参考サイトも(バイナリでも)単純な整数を返しているようだ
pngについてはまたどうしようもなくなって解決出来なければ質問しますありがとうございました
950デフォルトの名無しさん
2023/07/11(火) 15:46:39.54ID:heSsZz8c 根本的な思い違いをしているのは間違い無い
951デフォルトの名無しさん
2023/07/12(水) 01:56:47.85ID:pcy3cOib >>946
docs.python.org/ja/3/library/stdtypes.html#bytes-objects
type(a)はbytesだとおもうので、そうであれば中身はバイト列になってる
docs.python.org/ja/3.11/library/functions.html#print
printはstr(a)した結果を出力してるだけ
docs.python.org/ja/3.11/library/stdtypes.html#bytes.hex
もし16進で出力したいなら前もって文字列変換する
docs.python.org/ja/3/library/stdtypes.html#bytes-objects
type(a)はbytesだとおもうので、そうであれば中身はバイト列になってる
docs.python.org/ja/3.11/library/functions.html#print
printはstr(a)した結果を出力してるだけ
docs.python.org/ja/3.11/library/stdtypes.html#bytes.hex
もし16進で出力したいなら前もって文字列変換する
952デフォルトの名無しさん
2023/07/12(水) 06:28:18.89ID:pDc+QmGt >>951
ありがとうございます
以下のように目的の勉強プログラムは走らせることがなんとかできました
file_r.py
https://i.imgur.com/v60xntR.png
fileoptest.py
https://i.imgur.com/NmFO1hH.png
実行結果
https://i.imgur.com/zI0U4BR.png
追伸、変な16進数を吐いていたのはf.tell()の括弧を忘れていて
それを入れたリストをprintしていたからのようでした😣
ありがとうございます
以下のように目的の勉強プログラムは走らせることがなんとかできました
file_r.py
https://i.imgur.com/v60xntR.png
fileoptest.py
https://i.imgur.com/NmFO1hH.png
実行結果
https://i.imgur.com/zI0U4BR.png
追伸、変な16進数を吐いていたのはf.tell()の括弧を忘れていて
それを入れたリストをprintしていたからのようでした😣
953デフォルトの名無しさん
2023/07/13(木) 04:29:10.48ID:1vUpazri Ruby では、script.rb へ、以下のコードを書いた場合、
=begin
IO.read(path, length = nil, offset = 0, **opt) -> String | nil
ARGV[0] は、読み込むファイルパス
ARGV[1] は、読み込むバイト長
ARGV[2] は、読み込み開始位置・オフセット
=end
# バイナリファイルを読み込む
File.open( ARGV[0], "rb" ) do |io|
# ファイル先頭から、ARGV[2]バイト位置へ移動する
io.seek( ARGV[2].to_i )
# seek位置から、ARGV[1]バイトを読み込む
bin = io.read( ARGV[1].to_i )
out_text = <<"EOT"
ファイル #{ ARGV[0] } を読み込み、
オフセット #{ ARGV[2] } から、#{ ARGV[1] } バイトを出力する
EOT
print out_text + "\n"
p bin
end
次へ続く
=begin
IO.read(path, length = nil, offset = 0, **opt) -> String | nil
ARGV[0] は、読み込むファイルパス
ARGV[1] は、読み込むバイト長
ARGV[2] は、読み込み開始位置・オフセット
=end
# バイナリファイルを読み込む
File.open( ARGV[0], "rb" ) do |io|
# ファイル先頭から、ARGV[2]バイト位置へ移動する
io.seek( ARGV[2].to_i )
# seek位置から、ARGV[1]バイトを読み込む
bin = io.read( ARGV[1].to_i )
out_text = <<"EOT"
ファイル #{ ARGV[0] } を読み込み、
オフセット #{ ARGV[2] } から、#{ ARGV[1] } バイトを出力する
EOT
print out_text + "\n"
p bin
end
次へ続く
954デフォルトの名無しさん
2023/07/13(木) 09:16:54.87ID:zwpq28th テスト
955デフォルトの名無しさん
2023/07/13(木) 13:04:48.97ID:WmHCeekq なぜ続きがないのか…
寝て忘れたか、janeに切り換えたため騒動の掲示板の方に気付かずポストしているか
なにかNGになるので試行錯誤で断念かキニナル
寝て忘れたか、janeに切り換えたため騒動の掲示板の方に気付かずポストしているか
なにかNGになるので試行錯誤で断念かキニナル
956デフォルトの名無しさん
2023/07/13(木) 15:50:36.81ID:nV7PXIXO957デフォルトの名無しさん
2023/07/13(木) 16:23:28.79ID:WmHCeekq >>956
ID変わったけど自分です
な、なんだこれは(自慢か!?どやなのか)
一応ダウンロードしたしいいねしようとしたがアカウントないし取り止め
言語的には真っ先にかじったC++の系譜を感じる(Rubyどこいった)…ほぼ何やってるか認識できないが
png特化の「これがファイルセーフな正確なやり方な」という、プログラミングの世界へようこそウェルカムトゥ…という事か(゜ロ゜;
オーバーキル気味に解答する趣味なのかw
次スレよろは>ALLと受け取り
ID変わったけど自分です
な、なんだこれは(自慢か!?どやなのか)
一応ダウンロードしたしいいねしようとしたがアカウントないし取り止め
言語的には真っ先にかじったC++の系譜を感じる(Rubyどこいった)…ほぼ何やってるか認識できないが
png特化の「これがファイルセーフな正確なやり方な」という、プログラミングの世界へようこそウェルカムトゥ…という事か(゜ロ゜;
オーバーキル気味に解答する趣味なのかw
次スレよろは>ALLと受け取り
958デフォルトの名無しさん
2023/07/13(木) 17:50:49.24ID:INS7SIu4 もう立ててもいいのかい
959デフォルトの名無しさん
2023/07/13(木) 18:49:01.13ID:INS7SIu4 【まず1嫁】くだすれPython(超初心者用) その59
https://mevius.5ch.net/test/read.cgi/tech/1689241721/
https://mevius.5ch.net/test/read.cgi/tech/1689241721/
960デフォルトの名無しさん
2023/07/16(日) 13:35:35.84ID:aonKa36p もう人いない猫のスレ
961デフォルトの名無しさん
2023/07/16(日) 19:29:07.77ID:vHWdzrAn くだすれってなに
962デフォルトの名無しさん
2023/07/16(日) 20:13:10.50ID:9qPbKtF4963デフォルトの名無しさん
2023/07/16(日) 20:23:01.59ID:zi0sCHZC964デフォルトの名無しさん
2023/07/16(日) 20:57:16.60ID:vHWdzrAn965デフォルトの名無しさん
2023/07/17(月) 04:42:56.23ID:PV8RWGZX くだはわかるけどすれがなんかね
966デフォルトの名無しさん
2023/07/17(月) 09:47:51.16ID:9RC0qZ1Y くだを巻くスレだぞ
超初心者が良く分からないことをあれこれと言ったり、しようもないことを何度も繰り返ししゃべっても(くだを巻いても)良いスレ
超初心者が良く分からないことをあれこれと言ったり、しようもないことを何度も繰り返ししゃべっても(くだを巻いても)良いスレ
967デフォルトの名無しさん
2023/07/17(月) 10:27:05.51ID:R/K6E/wX 他のスレもくだすれなんだ
968デフォルトの名無しさん
2023/07/18(火) 09:47:51.66ID:SsApxntM 頑張るCPUをなだめてゆっくり動いてもらう方法ってある?
一定時間ごとに処理したいことがありそのたびに子プロセスに任せてるけど
急がず最低クロック周波数で動いてほしいのに最高になっちゃうことで電気食ってるように感じる
クロームブックを使っていてWindowsみたいにBIOSやアプリでクロックに制限かけれなそうだし何かないかしら
処理中■ 空き□
今
1■■■□■■■□■■■□■■■□□■■■□■
2□□■■■□■■■□■■■□■■■□■■■□
3□□□□□□□□□□□□□□□□□□□□□□
こうしたい
1■■■■■■■■■□■■■■■■■■■□■■
2□□■■■■■■■■■□■■■■■■■■■□
3□□□□■■■■■■■■■□■■■■■■■■
4□□□□□□■■■■■■■■■□■■■■■■
5□□□□□□□□■■■■■■■■■□■■■■
6□□□□□□□□□□□□□□□□□□□□□□
一定時間ごとに処理したいことがありそのたびに子プロセスに任せてるけど
急がず最低クロック周波数で動いてほしいのに最高になっちゃうことで電気食ってるように感じる
クロームブックを使っていてWindowsみたいにBIOSやアプリでクロックに制限かけれなそうだし何かないかしら
処理中■ 空き□
今
1■■■□■■■□■■■□■■■□□■■■□■
2□□■■■□■■■□■■■□■■■□■■■□
3□□□□□□□□□□□□□□□□□□□□□□
こうしたい
1■■■■■■■■■□■■■■■■■■■□■■
2□□■■■■■■■■■□■■■■■■■■■□
3□□□□■■■■■■■■■□■■■■■■■■
4□□□□□□■■■■■■■■■□■■■■■■
5□□□□□□□□■■■■■■■■■□■■■■
6□□□□□□□□□□□□□□□□□□□□□□
969デフォルトの名無しさん
2023/07/18(火) 16:10:33.22ID:fggT64M6 それぞれのプロセスがループしてるんなら
ループ中でハード的な(CPUに負荷掛けないでCPUに待たせる)waitすればいいんじゃない?
プロセスの中にループ無くて爆速で動いてるなら命令毎にやっぱりwait入れるとか?
クロームブックなんてしらんけど
ループ中でハード的な(CPUに負荷掛けないでCPUに待たせる)waitすればいいんじゃない?
プロセスの中にループ無くて爆速で動いてるなら命令毎にやっぱりwait入れるとか?
クロームブックなんてしらんけど
970968
2023/07/18(火) 17:19:07.77ID:SsApxntM ごめんこの書き方だと遅くしたいことしか伝わらなかった
やりたいことは省電力化で、一定時間ごとに発生する処理にリアルタイム性は要求されないため
マルチプロセスで処理するにあたり省電力化の手段として
はたらく一部のコアが4GHz、何もしないコアが1GHzとかで動いている状態から
全てのコアをはたらく1GHzに変えられないかなと
Windows上で動かすときみたいにクロック周波数を低く保つ手段があればCPUの消費電力下がるんじゃないかなと聞きたかった
やりたいことは省電力化で、一定時間ごとに発生する処理にリアルタイム性は要求されないため
マルチプロセスで処理するにあたり省電力化の手段として
はたらく一部のコアが4GHz、何もしないコアが1GHzとかで動いている状態から
全てのコアをはたらく1GHzに変えられないかなと
Windows上で動かすときみたいにクロック周波数を低く保つ手段があればCPUの消費電力下がるんじゃないかなと聞きたかった
971デフォルトの名無しさん
2023/07/18(火) 17:26:43.68ID:H4UfCnKp972968
2023/07/18(火) 17:39:25.44ID:SsApxntM おお、まさにこれで解決しそうだ
実際に解決するか試すのは次システム止めてからになりそうだけど本当にありがとう
実際に解決するか試すのは次システム止めてからになりそうだけど本当にありがとう
973デフォルトの名無しさん
2023/07/19(水) 22:17:02.08ID:o1ug+L9a 自作関数のdefから始まってifやwhileのネストのあとの適切な最終的な「return」のインデント
いつもわからず試行してやっとエラーの出ない場所を見つけます
flake8もそこまで教えてくれないし
こんな風に見るんだよだとか使える検査ツールはありますか?
エラーはインデントエラーからアウトオブファンクションまでさまざまですが主に前者
いつもわからず試行してやっとエラーの出ない場所を見つけます
flake8もそこまで教えてくれないし
こんな風に見るんだよだとか使える検査ツールはありますか?
エラーはインデントエラーからアウトオブファンクションまでさまざまですが主に前者
974デフォルトの名無しさん
2023/07/20(木) 00:56:06.90ID:8hshmRM9 インデント戻りには
必ずインデントと#だけの行置いてるわ
不細工だけどインデント補完ミスが起こらないので
必ずインデントと#だけの行置いてるわ
不細工だけどインデント補完ミスが起こらないので
975デフォルトの名無しさん
2023/07/20(木) 01:13:19.13ID:aZgrryLs >>973
> 自作関数のdefから始まってifやwhileのネストのあとの適切な最終的な「return」のインデント
> いつもわからず試行してやっとエラーの出ない場所を見つけます
VSCodeかVimで書いてるけどそうなったことがないのでよくわからん
どういう環境なの?
> 自作関数のdefから始まってifやwhileのネストのあとの適切な最終的な「return」のインデント
> いつもわからず試行してやっとエラーの出ない場所を見つけます
VSCodeかVimで書いてるけどそうなったことがないのでよくわからん
どういう環境なの?
976デフォルトの名無しさん
2023/07/20(木) 03:40:41.51ID:6f9RrYMN >>974
なるほど、それはこういうこと?
while True:
[Tab]if a = b:
[Tab][Tab]print("goal!")
[Tab][Tab]if a < b:
[Tab][Tab][Tab]print("not goal!")
[Tab]#
自分のはVimが拡張してあってタブ毎の罫線(縦軸ガイドライン)のようなのは表示されてます
>>975
この質問書いたあと仕方ないので上から順にタブの入れ方やミスらしきものを一行一行念入りに改善してくと通りました
途中のwhile周辺の変数宣言のタブか、その中の複数ブロックのifネストのタブがおかしかったため?影響があったようです
合ってそうなインデント位置でout of function関数範囲外だって言われるのがそもそも問題だなと先頭から見直していきました
なるほど、それはこういうこと?
while True:
[Tab]if a = b:
[Tab][Tab]print("goal!")
[Tab][Tab]if a < b:
[Tab][Tab][Tab]print("not goal!")
[Tab]#
自分のはVimが拡張してあってタブ毎の罫線(縦軸ガイドライン)のようなのは表示されてます
>>975
この質問書いたあと仕方ないので上から順にタブの入れ方やミスらしきものを一行一行念入りに改善してくと通りました
途中のwhile周辺の変数宣言のタブか、その中の複数ブロックのifネストのタブがおかしかったため?影響があったようです
合ってそうなインデント位置でout of function関数範囲外だって言われるのがそもそも問題だなと先頭から見直していきました
977デフォルトの名無しさん
2023/07/20(木) 14:58:18.19ID:gFX8U9r2 tkinterのウィジェット、例えばチェックボタンのvariableとチェックの有無を取得したい時は
配置するときに両方を変数に保存しておかなければならないの?
今までの感覚ではウィジェット本体を変数に入れておくか名前で特定できるなら
名前を使ってアクセスしてプロパティの参照や編集ができるのが当たり前だと思ってたんだけど
そうではないの?
またはカスタムウィジェットにしてvariableを持たしておくぐらいしか変数一つで両方にアクセスする方法はないの?
配置するときに両方を変数に保存しておかなければならないの?
今までの感覚ではウィジェット本体を変数に入れておくか名前で特定できるなら
名前を使ってアクセスしてプロパティの参照や編集ができるのが当たり前だと思ってたんだけど
そうではないの?
またはカスタムウィジェットにしてvariableを持たしておくぐらいしか変数一つで両方にアクセスする方法はないの?
978デフォルトの名無しさん
2023/07/20(木) 15:05:02.98ID:6BSTmMYa 漏れも >>973 になる状況が判らん
強いて言えばプログラム構造を理解していないとしか思えない
そんなやり方でエラーにならない return の描く場所観付けてそこに描いても
それがまともなプログラミング作法だとも思えない
強いて言えばプログラム構造を理解していないとしか思えない
そんなやり方でエラーにならない return の描く場所観付けてそこに描いても
それがまともなプログラミング作法だとも思えない
979デフォルトの名無しさん
2023/07/20(木) 15:09:45.69ID:6BSTmMYa980デフォルトの名無しさん
2023/07/20(木) 15:25:03.83ID:gFX8U9r2981デフォルトの名無しさん
2023/07/20(木) 17:47:38.46ID:8hshmRM9 >>976
こんな感じ
while True:
if a = b:
print("goal!")
if a < b:
print("not goal!")
#
#
#
#の行に改行挿入するか、その前の行に改行挿入するかで
任意のインデントが追加できる
こんな感じ
while True:
if a = b:
print("goal!")
if a < b:
print("not goal!")
#
#
#
#の行に改行挿入するか、その前の行に改行挿入するかで
任意のインデントが追加できる
982デフォルトの名無しさん
2023/07/20(木) 17:51:36.43ID:dUzAfWwC if a < bのインデントが間違ってる例なんだよね?
983デフォルトの名無しさん
2023/07/20(木) 22:10:56.04ID:6f9RrYMN >>978
たしかに今度からreturnの挙動がおかしければ先に他を疑おうと思いました
プログラム構造の理解がないのは事実です、returnなんでdefの一段さげでいいだろ違うのか😡混乱!な状況
>>981
なるほど
>インデントが間違ってる例なんだよね
こんな判定をネストでやるなってことなら例示のため急いででっちあげた中身だしお許しを
とはいえ実際こんなことはやっていてタンスを下から開けていきこれじゃなければこれと開けてるような
目的にマッチ次第breakするネストです
while Trueの中なので自分は混乱しがちで、言わば判定ツリーのようにその部分を捉え
自分の中で目にわかりやすくしたつもりでした
(elifとかあまり使ったことなくifの連鎖でいいや使えるもの使っとけと、判定できればいいや精神)
たしかに今度からreturnの挙動がおかしければ先に他を疑おうと思いました
プログラム構造の理解がないのは事実です、returnなんでdefの一段さげでいいだろ違うのか😡混乱!な状況
>>981
なるほど
>インデントが間違ってる例なんだよね
こんな判定をネストでやるなってことなら例示のため急いででっちあげた中身だしお許しを
とはいえ実際こんなことはやっていてタンスを下から開けていきこれじゃなければこれと開けてるような
目的にマッチ次第breakするネストです
while Trueの中なので自分は混乱しがちで、言わば判定ツリーのようにその部分を捉え
自分の中で目にわかりやすくしたつもりでした
(elifとかあまり使ったことなくifの連鎖でいいや使えるもの使っとけと、判定できればいいや精神)
984デフォルトの名無しさん
2023/07/20(木) 22:16:37.24ID:6f9RrYMN ん?なんか自分でもおかしい気もしてきたが…まあ初心者なので😤
985デフォルトの名無しさん
2023/07/20(木) 22:33:44.74ID:aZgrryLs 初心者っていうか可読性考えずに無茶苦茶にインデント使ってた人にしか見えない
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 今後50年間、毎年100万人ずつ人口が減る…「少子化対策」の失敗で日本が迎える「死ぬまで搾取」というヤバい未来 ★4 [ぐれ★]
- 《「最近いつした?」が口癖》国分太一 女性への“わいせつ事案”報道…目撃されていた「下ネタ好き」と「悪辣なイジり癖」 [Ailuropoda melanoleuca★]
- 【滋賀】不良グループのメンバーの「タイマン」で17歳重体 殺人未遂容疑で岐阜市の19歳を逮捕 頭蓋骨骨折や脳挫傷、急性硬膜下血腫 ★2 [ぐれ★]
- 経団連会長、中国大使面会 代表団受け入れ要請 [蚤の市★]
- Amazonブラックフライデー 活況の裏に過酷労働 事故やケガを「自己責任にしないで」配達員ら4年連続抗議 [蚤の市★]
- 「おこめ券知られていない」農水省が説明会実施へ 「税金でおこめ券配ると、発行2団体に利益集中するのでは?」記者の問いに鈴木農水大臣 [ぐれ★]
- 【実況】博衣こよりのえちえち4周年44人逆凸 🧪★8
- 皆で雑談しよーや
- 👊👊😅 👊👊😅 さかなーっ!🏡
- ネトウヨの心の声「(あれ…もしかして日本と中国の力関係って2005年頃と変わった…?」 [762037879]
- 経団連、高市早苗を飛ばして直接中国と交渉してしまう [175344491]
- 【悲報】飲食店「可哀想だから貧しいジャップは割引きしてあげる🥹」こういう親切なお店が増えてるらしい🥹 [616817505]
