!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(超初心者用) その58
https://mevius.5ch.net/test/read.cgi/tech/1662514433/
〇前スレ〇
Pythonのお勉強 Part68
https://mevius.5ch.net/test/read.cgi/tech/1663235546/
次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ?
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
Pythonのお勉強 Part69
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ c733-stRS)
2022/11/24(木) 21:39:44.67ID:A6xfpKBe0312デフォルトの名無しさん
2022/12/25(日) 23:43:25.19ID:UDG4tDm5 途中でした
ただこれだとsum関数のロジック内にチェックする関数が混在してくるので分けたいなと思い
must_be_int(a)
must_be_int(b)
return a+b
にしたりと、なんかしっくりこなくて・・
ただこれだとsum関数のロジック内にチェックする関数が混在してくるので分けたいなと思い
must_be_int(a)
must_be_int(b)
return a+b
にしたりと、なんかしっくりこなくて・・
313デフォルトの名無しさん
2022/12/25(日) 23:48:37.78ID:UDG4tDm5 ようは、
def sum(a:int,b:int) --> int:
このアノテーションだけでint以外の入ってきたらエラー吐いてくれればいいのに・・
みたいな
def sum(a:int,b:int) --> int:
このアノテーションだけでint以外の入ってきたらエラー吐いてくれればいいのに・・
みたいな
314デフォルトの名無しさん (ブーイモ MMf3-pLDh)
2022/12/26(月) 00:38:14.71ID:ZJD8d3IcM それはtype checkerの仕事やろ
315デフォルトの名無しさん (ブーイモ MM5b-pLDh)
2022/12/26(月) 00:54:00.05ID:3Zc3mIaMM316デフォルトの名無しさん (アウアウウー Sa1f-SvsN)
2022/12/26(月) 13:49:23.62ID:6bMfB0bxa >>306
https://ideone.com/LoiejS
class sum(object):
def __call__(self, a, b):
self.a, self.b = a, b
return self.a + self.b
print(sum()(2, 3))
https://ideone.com/LoiejS
class sum(object):
def __call__(self, a, b):
self.a, self.b = a, b
return self.a + self.b
print(sum()(2, 3))
317デフォルトの名無しさん (ワッチョイ 5310-4Ar3)
2022/12/26(月) 15:23:10.53ID:Z9xA6Bih0 >>306
普通に関数で実装してバリデーション用のデコレータ作れば?
def must_be_int(func):
__def _validate(*args):
____assert all(isinstance(x, int) for x in args), "all arguments must be integer"
____return func(*args)
__return _validate
def must_be_even(func):
__def _validate(*args):
__assert all(x % 2 == 0 for x in args), "all arguments must be even number"
____return func(*args)
__return _validate
@must_be_even
@must_be_int
def _sum(a, b):
__return a+b
print(_sum(2, 2))
print(_sum(1, 3)) # error
print(_sum(1.5, 2.5)) # error
普通に関数で実装してバリデーション用のデコレータ作れば?
def must_be_int(func):
__def _validate(*args):
____assert all(isinstance(x, int) for x in args), "all arguments must be integer"
____return func(*args)
__return _validate
def must_be_even(func):
__def _validate(*args):
__assert all(x % 2 == 0 for x in args), "all arguments must be even number"
____return func(*args)
__return _validate
@must_be_even
@must_be_int
def _sum(a, b):
__return a+b
print(_sum(2, 2))
print(_sum(1, 3)) # error
print(_sum(1.5, 2.5)) # error
318デフォルトの名無しさん
2022/12/26(月) 19:13:28.11ID:271e9Qy4 >>316,317
ありがとうございます
実は__call__つかった方も関数の方(>306のコメントアウトに書いてあるように(ただ、args[1:]の部分が合わないのでバリデーションの部分は意図的に省いて書いてます))も
どちらもやっていたのですが諦めていました
ひとつは、(おま環なのかエディタの設定なのか)今度はアノテーションの方がなぜかデコレーターの方が優先されちゃって表示されて諦めたのと
もうひとつは、今回のような試しにやってみた足し算のみの用途なしな機能だけではない場合、
関数の方だと後々に拡張したいってなったときに難しそうだなと思い諦めました
ありがとうございます
実は__call__つかった方も関数の方(>306のコメントアウトに書いてあるように(ただ、args[1:]の部分が合わないのでバリデーションの部分は意図的に省いて書いてます))も
どちらもやっていたのですが諦めていました
ひとつは、(おま環なのかエディタの設定なのか)今度はアノテーションの方がなぜかデコレーターの方が優先されちゃって表示されて諦めたのと
もうひとつは、今回のような試しにやってみた足し算のみの用途なしな機能だけではない場合、
関数の方だと後々に拡張したいってなったときに難しそうだなと思い諦めました
319デフォルトの名無しさん (ブーイモ MMf3-kIRX)
2022/12/26(月) 22:18:46.52ID:IvZMxVOoM 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
320デフォルトの名無しさん (ワッチョイ 3333-aH43)
2022/12/28(水) 11:04:27.64ID:JTGZh46Y0 止まってる車に60キロで走ってきた車がぶつかったら、中の人が受ける衝撃ってどっちの車も同じなんだっけ?
321デフォルトの名無しさん (ワッチョイ 3333-aH43)
2022/12/28(水) 11:04:43.39ID:JTGZh46Y0 あ、スレ違いですね。忘れてください
322デフォルトの名無しさん (ワッチョイ 7b97-H+55)
2022/12/28(水) 12:07:11.51ID:L0e9GMVm0 >>320
同じではない
軽自動車とトレーラーなんか考えてみたらわかるけど、作用反作用の法則で同じ力が軽自動車とトレーラーにかかるけど、軽自動車は潰された後完全にトレーラーに張り付く形で進み、トレーラーはわずかにしか減速しない
よって中の人の衝撃は全然違う
塑性変形で弾性衝突じゃないからそうなると思うかもしれないが、完全弾性衝突の場合だと軽い方が思いっきり跳ね返るだけね。よく跳ねるボールの中にいる人と、地下室の中にいる(地球という大きいボールのなかにいる)人を考えてもいいかも
要は同じ運動量が交換されるが、同じ運動量でも質量が違えば加速度は違うということだね
同じではない
軽自動車とトレーラーなんか考えてみたらわかるけど、作用反作用の法則で同じ力が軽自動車とトレーラーにかかるけど、軽自動車は潰された後完全にトレーラーに張り付く形で進み、トレーラーはわずかにしか減速しない
よって中の人の衝撃は全然違う
塑性変形で弾性衝突じゃないからそうなると思うかもしれないが、完全弾性衝突の場合だと軽い方が思いっきり跳ね返るだけね。よく跳ねるボールの中にいる人と、地下室の中にいる(地球という大きいボールのなかにいる)人を考えてもいいかも
要は同じ運動量が交換されるが、同じ運動量でも質量が違えば加速度は違うということだね
323デフォルトの名無しさん (アウアウウー Sa1f-SHOq)
2022/12/29(木) 11:07:07.82ID:jCj0trE4a324デフォルトの名無しさん (ブーイモ MMb3-pLDh)
2022/12/29(木) 15:42:32.28ID:NCBV9Sb6M >>323
動画のクオリティ高くてビビったw
動画のクオリティ高くてビビったw
325デフォルトの名無しさん (ワッチョイ 3f36-l5v6)
2022/12/29(木) 19:35:56.88ID:RiMtnxAm0 pythonのバージョン管理ってアナコンダがいいの?
俺ドッカーしか知らんかったからずっとドッカーのこと調べてたんだが
俺ドッカーしか知らんかったからずっとドッカーのこと調べてたんだが
326デフォルトの名無しさん (ワッチョイ 3f36-l5v6)
2022/12/29(木) 19:36:47.55ID:RiMtnxAm0 あとpythonの開発環境って3.8が多いみたいなんだけど理由あるの?
327デフォルトの名無しさん (ワッチョイ 3333-aH43)
2022/12/29(木) 19:59:01.94ID:Y8X+93cs0 >>325
公式で配布してるインストーラ
公式で配布してるインストーラ
328デフォルトの名無しさん (ワッチョイ 3333-aH43)
2022/12/29(木) 22:26:07.07ID:Y8X+93cs0 実行環境の話?
329デフォルトの名無しさん (オッペケ Sr93-QbPh)
2022/12/29(木) 22:41:36.15ID:JTFuHtDdr >>325
ケースバイケースかなぁ
機械学習やるならanacondaはオススメだよ
クラウド連携はanacondaは偶にトラブルになる
環境隔離したいならdockerは良いけど別にdockerでなくてもよい
最近はpipenvやpoetryでディレクトリごとに環境を分離してもいいかな
いろいろ増えすぎて初心者にはコレっていうのが難しい
そんなときは公式のPythonに戻る
ケースバイケースかなぁ
機械学習やるならanacondaはオススメだよ
クラウド連携はanacondaは偶にトラブルになる
環境隔離したいならdockerは良いけど別にdockerでなくてもよい
最近はpipenvやpoetryでディレクトリごとに環境を分離してもいいかな
いろいろ増えすぎて初心者にはコレっていうのが難しい
そんなときは公式のPythonに戻る
330デフォルトの名無しさん (オッペケ Sr93-QbPh)
2022/12/29(木) 22:52:19.17ID:JTFuHtDdr >>326
そういえば何か作るときは3.8を使うことが多いなぁ
特に理由はないけど、3.9以降の使いたい機能は様子見
あとRedhat系列だと3.9以降をインストールするのが面倒くさいのもある
3.8ならSCL使えばさっくりインストールされる
Anaconda使えばいいけどあれはあれでバイナリごとインストールすることになるからなんだかなぁ
そういえば何か作るときは3.8を使うことが多いなぁ
特に理由はないけど、3.9以降の使いたい機能は様子見
あとRedhat系列だと3.9以降をインストールするのが面倒くさいのもある
3.8ならSCL使えばさっくりインストールされる
Anaconda使えばいいけどあれはあれでバイナリごとインストールすることになるからなんだかなぁ
331デフォルトの名無しさん (ワッチョイ 07cf-4Ar3)
2022/12/29(木) 23:01:15.14ID:hdgfZ7yf0 Anaconda で動かすツール使ってる
332デフォルトの名無しさん (ワッチョイ 61f0-K5v2)
2022/12/29(木) 23:03:16.65ID:3S86hTSK0 pythonは言語仕様は簡単だけど実行環境の管理が完全に終わってるよね
linuxの知識ないとサーバーサイドでまず使いこなせない
下手したら環境ぶっ壊して「何もしてないのに壊れた」状態が生まれる
linuxの知識ないとサーバーサイドでまず使いこなせない
下手したら環境ぶっ壊して「何もしてないのに壊れた」状態が生まれる
333デフォルトの名無しさん (ワッチョイ 3f93-SwB0)
2022/12/29(木) 23:05:37.12ID:XUilgIKr0 だからk8sなんかが流行ってるんでしょ
334デフォルトの名無しさん (ワッチョイ 8d01-s0Sd)
2022/12/30(金) 00:23:52.63ID:i/Imw4oH0 何もしなかったから壊れたということを知るべき。
335デフォルトの名無しさん (ワッチョイ 3f36-l5v6)
2022/12/30(金) 05:59:51.50ID:uddbjkCB0336デフォルトの名無しさん (ワッチョイ 5319-GrCd)
2022/12/30(金) 08:21:58.84ID:DzZqzBlm0 PythonってVisual Studio のCodeの方じゃなくてCoreの方にも入ってるよね
いつもVB.NetやC#で使ってるからそっち使ってるわ。
いつもVB.NetやC#で使ってるからそっち使ってるわ。
337デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
2022/12/30(金) 11:56:52.21ID:KypYNh+sp デコレータって関数受けて関数返せばデコレータと言っていいの?
それとも機能の追加が出来れば関数返さなくてもいいの?
デコレータの例が全部ラップしてるから関数返すものをデコレータっていうのかと思ったけど、Pythonの構文的には機能の追加が要件ぽくてよくわからん
それとも機能の追加が出来れば関数返さなくてもいいの?
デコレータの例が全部ラップしてるから関数返すものをデコレータっていうのかと思ったけど、Pythonの構文的には機能の追加が要件ぽくてよくわからん
338デフォルトの名無しさん (ワッチョイ 8954-ARNV)
2022/12/30(金) 12:18:32.93ID:+LXrKtXS0 それは高階関数かな
339デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
2022/12/30(金) 12:32:28.57ID:EYlolZ9wp340デフォルトの名無しさん (スップ Sddb-T2CE)
2022/12/30(金) 12:34:35.19ID:6lQGRZJ+d341デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
2022/12/30(金) 12:39:12.89ID:EYlolZ9wp >>340
def deco (fn):
print("Good")
fn()
print("Good")
と↑をラップした↓
def outer (fn):
def deco ():
print("Good")
fn()
print("Good")
return deco
だとそれぞれどういうメリットデメリットが想定できる?
この程度だったら何も変わらない?
def deco (fn):
print("Good")
fn()
print("Good")
と↑をラップした↓
def outer (fn):
def deco ():
print("Good")
fn()
print("Good")
return deco
だとそれぞれどういうメリットデメリットが想定できる?
この程度だったら何も変わらない?
342デフォルトの名無しさん (アウアウウー Sa1f-T2CE)
2022/12/30(金) 14:25:39.66ID:v4ysyuF5a343デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
2022/12/30(金) 14:30:10.80ID:CAw5d3+3p344デフォルトの名無しさん (ササクッテロリ Spef-0zvw)
2022/12/30(金) 21:59:47.08ID:i0HtXYTfp >>343
自己解決しました
自己解決しました
345デフォルトの名無しさん (ブーイモ MMf3-pLDh)
2022/12/30(金) 22:26:59.27ID:XgQsZPRMM 自己解決とは一体・・・ww
346デフォルトの名無しさん (ササクッテロリ Spbb-3X/C)
2022/12/31(土) 00:05:03.98ID:Y1CGuIqUp >>345
自分のわかっていないところがわかりました
自分のわかっていないところがわかりました
347デフォルトの名無しさん (ワッチョイ 4eda-rixr)
2022/12/31(土) 00:20:01.24ID:E+Koymh80 replitのpythonテンプレートを使っているのですが、実行すると勝手にパッケージをインストールしたりします。これを止める事は出来ますか?
348デフォルトの名無しさん (ワッチョイ 4eda-rixr)
2022/12/31(土) 00:20:01.95ID:E+Koymh80 replitのpythonテンプレートを使っているのですが、実行すると勝手にパッケージをインストールしたりします。これを止める事は出来ますか?
349デフォルトの名無しさん
2022/12/31(土) 14:58:09.42ID:iYLc9PIz350デフォルトの名無しさん (ワッチョイ 0e30-9yt5)
2023/01/01(日) 18:58:07.86ID:QkrDyXxA0 ワークマンの売上高は10年で2.6倍 好調の背景に何があるのか
www.itmedia.co.jp/business/articles/2301/01/news011.html
ワークマンpythonらしいぞ
まーそうなるわな
www.itmedia.co.jp/business/articles/2301/01/news011.html
ワークマンpythonらしいぞ
まーそうなるわな
351デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/01(日) 19:36:11.17ID:ps54Dm7d0 スレチだけど...
> KPIを達成しても売り上げが伸びない場合、社員ではなく経営の責任ということになります。
> 『会社がやれと言った内容がそもそも間違っていたんだね』ということで
まあインタビュー記事だからいくつか盛ってるとは思うけどこれがそれなりでも浸透してるなら確かに強いと思うわ
> KPIを達成しても売り上げが伸びない場合、社員ではなく経営の責任ということになります。
> 『会社がやれと言った内容がそもそも間違っていたんだね』ということで
まあインタビュー記事だからいくつか盛ってるとは思うけどこれがそれなりでも浸透してるなら確かに強いと思うわ
352デフォルトの名無しさん (ブーイモ MMb6-DakT)
2023/01/01(日) 21:38:32.18ID:OSWb6iEUM >>350
ぶっちゃけ一番安上がりだからじゃね?
ぶっちゃけ一番安上がりだからじゃね?
353デフォルトの名無しさん (ワッチョイ 9a7d-hX/W)
2023/01/01(日) 22:00:13.33ID:UVAQFgfk0 ちょっと前のすれにtypecheckerが出てたけど、
仕事で静的型付けって意識してる?
Dropboxが静的型付け使って開発してるぜ~っていう記事を
ちょうど見かけたもんで。
https://navi.dropbox.jp/our-journey-to-type-checking-4-million-lines-of-python
仕事で静的型付けって意識してる?
Dropboxが静的型付け使って開発してるぜ~っていう記事を
ちょうど見かけたもんで。
https://navi.dropbox.jp/our-journey-to-type-checking-4-million-lines-of-python
354デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/01(日) 22:16:25.00ID:2lDDSA+U0 実際には型が動的で有り難いことは殆どなくて、大抵は決まったものしか入らない
だからこそ型なんか書かなくていい、という思想な気がする
だからこそ型なんか書かなくていい、という思想な気がする
355デフォルトの名無しさん (スッップ Sdba-3vRJ)
2023/01/01(日) 22:41:34.82ID:65g2Zgvwd >>353
typing hint(+dats class) 、mypyももちろんオン。会社など複数人が関わるプロジェクトね。一人なら好きにやれば良い
typing hint(+dats class) 、mypyももちろんオン。会社など複数人が関わるプロジェクトね。一人なら好きにやれば良い
356デフォルトの名無しさん (アウアウエー Sa52-9yt5)
2023/01/02(月) 12:12:57.71ID:XEDAh58aa Windows環境で、「アプリと機能」の一覧に表示されるソフトウェア名一覧をPythonから取得するにはどうしたら良いですか??
https://tadaup.jp/loda/0102120639918904.png
https://tadaup.jp/loda/0102120639918904.png
357デフォルトの名無しさん (スッップ Sdba-vsba)
2023/01/02(月) 12:15:15.36ID:a90VB+UOd レジストリ読む
358デフォルトの名無しさん (ワッチョイ 0ec9-U0ia)
2023/01/02(月) 14:11:49.16ID:VCjQSWZY0 WMI
359デフォルトの名無しさん (ワッチョイ 6301-peqZ)
2023/01/02(月) 17:01:40.21ID:mMdAew+l0 ChatGPTで答えさせて3つ出したコードのうちwmic使ったものを手直ししてみた
デコードをutf-8だったのをcp932にしたり文字列の整形あたりを改変しなきゃだったけどこういうとき結構良い答え持ってくる
Windows環境で、「アプリと機能」の一覧に表示されるソフトウェア名一覧をPythonから取得するにはどうしたら良いですか??
Windowsで「アプリと機能」の一覧を取得するには、次のような方法があります。
wmic コマンドを使用する
Windows Management Instrumentation (WMI) を使用する
PowerShell を使用する
以下は、いずれの方法もPythonから実行するための例を示します。
import subprocess
result = subprocess.run(['wmic', 'product', 'get', 'name'], stdout=subprocess.PIPE)
output = result.stdout.decode('cp932')
applications = [line.strip() for line in output.split('\n')]
for app in applications:
print(app)
デコードをutf-8だったのをcp932にしたり文字列の整形あたりを改変しなきゃだったけどこういうとき結構良い答え持ってくる
Windows環境で、「アプリと機能」の一覧に表示されるソフトウェア名一覧をPythonから取得するにはどうしたら良いですか??
Windowsで「アプリと機能」の一覧を取得するには、次のような方法があります。
wmic コマンドを使用する
Windows Management Instrumentation (WMI) を使用する
PowerShell を使用する
以下は、いずれの方法もPythonから実行するための例を示します。
import subprocess
result = subprocess.run(['wmic', 'product', 'get', 'name'], stdout=subprocess.PIPE)
output = result.stdout.decode('cp932')
applications = [line.strip() for line in output.split('\n')]
for app in applications:
print(app)
360デフォルトの名無しさん (スッププ Sdba-9yt5)
2023/01/02(月) 19:23:19.67ID:gNyrLSWLd >>359
すごい!ありがとうございます!
すごい!ありがとうございます!
361デフォルトの名無しさん (アウアウウー Sac7-IAh0)
2023/01/02(月) 19:38:51.68ID:qfqFAF6wa >>359
サンプルが少ないからほぼ直コピペなんだろうな
サンプルが少ないからほぼ直コピペなんだろうな
362デフォルトの名無しさん (ワッチョイ 9733-QAWg)
2023/01/02(月) 20:50:28.36ID:xWUsdzOR0 自演はいいって
363デフォルトの名無しさん (ワンミングク MM8a-+uJR)
2023/01/02(月) 21:06:38.35ID:gHhSLzFgM すごくいいです
364デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/02(月) 21:08:42.90ID:9G/14EFS0 subprocessの書き方古くない?
365デフォルトの名無しさん (ワッチョイ 9733-QAWg)
2023/01/02(月) 21:18:09.07ID:xWUsdzOR0 いやrunは新しいAPIだよ
366デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/02(月) 21:20:08.80ID:9G/14EFS0 cmdを起動せずにリストを渡すのと、cmdにコマンドの文字列渡すやり方があるよね
367デフォルトの名無しさん (ワッチョイ 9733-QAWg)
2023/01/02(月) 21:30:45.62ID:xWUsdzOR0 文字列渡すパターンは危険だからね
チェックをちゃんとしないと予期せぬコマンドが実行される
shell=Trueしてると特にやばい
チェックをちゃんとしないと予期せぬコマンドが実行される
shell=Trueしてると特にやばい
368デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/02(月) 21:32:02.96ID:9G/14EFS0 別にリストでも変わらないと思うけど
面倒なだけで
面倒なだけで
369デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/02(月) 21:36:28.26ID:1k7qyNCA0 >>364
新しい書き方教えて
新しい書き方教えて
370デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/02(月) 21:38:52.52ID:9G/14EFS0 時系列はよく知らんけど、リストで渡す方法がまずあって、
不便だからと文字列の方法が追加されたんじゃないの?
不便だからと文字列の方法が追加されたんじゃないの?
371デフォルトの名無しさん (ワッチョイ 4e10-uhAF)
2023/01/02(月) 22:12:07.01ID:65aHjL4I0 shlex.split("date +%a")
# -> ["date", "+%a"]
run に渡すリストはこうやって作ると便利だよ (´・ω・`)
# -> ["date", "+%a"]
run に渡すリストはこうやって作ると便利だよ (´・ω・`)
372デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/02(月) 22:23:15.59ID:9G/14EFS0 普通にf文字列がいい
373デフォルトの名無しさん (ワッチョイ b690-dt7s)
2023/01/02(月) 22:47:14.11ID:+OShonpv0 ModuleNotFoundError: No module named 'xml.etree'; 'xml' is not a package
ElementTreeでXMLを作成すると上のエラーがどうしても出てしまいます。
ElementTree以外にXMLがいじれるのって何がいいですか?
BeautifulSoupですか?
ElementTreeでXMLを作成すると上のエラーがどうしても出てしまいます。
ElementTree以外にXMLがいじれるのって何がいいですか?
BeautifulSoupですか?
374デフォルトの名無しさん (ワッチョイ 0ec9-U0ia)
2023/01/02(月) 23:55:25.20ID:VCjQSWZY0 xml.pyかxmlなディレクトリがあるんちゃうか
ググっても同じこと書いてる記事多数
ググっても同じこと書いてる記事多数
375デフォルトの名無しさん (ワッチョイ b690-dt7s)
2023/01/03(火) 00:26:25.58ID:o2Yi6Z0r0 >>374
レスありがとうです。その記事を見て確認したんですけど特に問題はなく、それ以外の解決法も見当たらずでお手上げ状態です
レスありがとうです。その記事を見て確認したんですけど特に問題はなく、それ以外の解決法も見当たらずでお手上げ状態です
376デフォルトの名無しさん (ワッチョイ 0754-i7z+)
2023/01/03(火) 00:37:01.34ID:hRecP/5n0 エラーが出ますは自力で解決しろとしか
ただの間違いなんだから
ただの間違いなんだから
377デフォルトの名無しさん (ワッチョイ 1a79-ZNv9)
2023/01/03(火) 02:55:11.90ID:LZW0ef8O0 誰もやらないと思うけど
こんな感じのエスケープだと、失敗してしまう
(コマンドプロンプトやshell=Trueだと、成功する)
C:¥"Program Files"¥Python¥python.exe -V
こんな感じのエスケープだと、失敗してしまう
(コマンドプロンプトやshell=Trueだと、成功する)
C:¥"Program Files"¥Python¥python.exe -V
378デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/03(火) 06:11:34.42ID:cXTWG1PB0 そりゃ " " を剥ぎ取るとかは c m d.exe がやってるんだからそれを食わせたいなら同じ事をしてやらないと失敗するのは当たり前
379デフォルトの名無しさん (ワッチョイ 1a79-ZNv9)
2023/01/03(火) 09:57:15.62ID:LZW0ef8O0 文字列で渡すときはWinAPIのCreateProcessを見てね
って、書いてあったわ
実行ファイルの解釈から違うとは思わなかった
すまん
って、書いてあったわ
実行ファイルの解釈から違うとは思わなかった
すまん
380デフォルトの名無しさん (ワッチョイ 76b7-eEnI)
2023/01/03(火) 15:48:59.80ID:E/lRcWz50 ファイル名の取得という基礎の基礎が
ようやく安定したレベルですまない。
import glob
files = glob.glob("./images/**", recursive=True)
print("recursive", files)
フォルダ直下にjpgファイル21個のみ入っている場合、結果が、
recursive [1.jpg 2,jpg,〜,21.jpg]
と横長に表示されると思う。
これをExcelに貼り付けたときも同じかな。
これを縦に表示させることってできる?
recursive[
1.jpg,
2.jpg,
|
21.jpg]
みたいなイメージで結果を出力したい。
そもそもできることなのか分からないけど、
素直にWordに貼り付けて、
カンマを特殊文字で改行に置き換えた方がはやいかな?
ようやく安定したレベルですまない。
import glob
files = glob.glob("./images/**", recursive=True)
print("recursive", files)
フォルダ直下にjpgファイル21個のみ入っている場合、結果が、
recursive [1.jpg 2,jpg,〜,21.jpg]
と横長に表示されると思う。
これをExcelに貼り付けたときも同じかな。
これを縦に表示させることってできる?
recursive[
1.jpg,
2.jpg,
|
21.jpg]
みたいなイメージで結果を出力したい。
そもそもできることなのか分からないけど、
素直にWordに貼り付けて、
カンマを特殊文字で改行に置き換えた方がはやいかな?
381デフォルトの名無しさん (ブーイモ MMba-DakT)
2023/01/03(火) 16:00:07.29ID:xk3Wdt8AM >>380
“\n”.join(files)
“\n”.join(files)
382デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/03(火) 16:04:23.85ID:HKIHgf/70 globはいろいろ謎だよな
歴史的な何かとの互換性で微妙に使いにくい
歴史的な何かとの互換性で微妙に使いにくい
383デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/03(火) 16:06:39.39ID:HKIHgf/70 とりあえず、import glob はやらなくて、
from pathlib import Path
p = Path("./")
for file in [str(x) for x in p.glob("*")]:
print(file)
みたいに使ってるけど、これでもしっくり来ない
from pathlib import Path
p = Path("./")
for file in [str(x) for x in p.glob("*")]:
print(file)
みたいに使ってるけど、これでもしっくり来ない
384デフォルトの名無しさん (ワッチョイ f668-U0ia)
2023/01/03(火) 16:15:41.39ID:97qfA6UK0 自分でフィルタしたいならos.walk
385デフォルトの名無しさん (ワッチョイ 76b7-eEnI)
2023/01/03(火) 16:25:05.94ID:E/lRcWz50 >>381
ありがとう。
一見すると、単に","が"n"に変わっただけのように見えるけど、
Excelに貼り付けたときの挙動がまったく異なるんだね。
しかし検索してもアフィみたいなサイトしかなくて大変だな
入門書探してみるノシ
ありがとう。
一見すると、単に","が"n"に変わっただけのように見えるけど、
Excelに貼り付けたときの挙動がまったく異なるんだね。
しかし検索してもアフィみたいなサイトしかなくて大変だな
入門書探してみるノシ
386デフォルトの名無しさん (ワッチョイ 4e10-8u9e)
2023/01/03(火) 17:15:05.41ID:90wq8UOz0 \nただの改行だよ
387デフォルトの名無しさん (ワッチョイ 76b7-eEnI)
2023/01/03(火) 18:00:04.32ID:E/lRcWz50 失礼。
print("\n".join(files))
こういうことね。
print("\n".join(files))
こういうことね。
388デフォルトの名無しさん (ワッチョイ 5b2c-Hg2a)
2023/01/03(火) 22:20:57.30ID:dIZcTCs/0 定期的に
tuple[str, tuple[int200個]] #key: valueです
を1万件取得して
既存の辞書に追加、更新していきます
このときkeyがなければkey, valueを登録するのはいいとして
keyが既存のときのvalueの更新はどうするのが常道ですか? 高速なのがいいです。または不要な書き換えがないほうがいいです
valueに差異があれば書き換え がいいのか、問答無用で全部更新しちゃうべきなのか…
tuple[str, tuple[int200個]] #key: valueです
を1万件取得して
既存の辞書に追加、更新していきます
このときkeyがなければkey, valueを登録するのはいいとして
keyが既存のときのvalueの更新はどうするのが常道ですか? 高速なのがいいです。または不要な書き換えがないほうがいいです
valueに差異があれば書き換え がいいのか、問答無用で全部更新しちゃうべきなのか…
389デフォルトの名無しさん (ワッチョイ f668-U0ia)
2023/01/03(火) 22:55:20.83ID:97qfA6UK0 理解も進むしベンチとるのがいいよ
すでに新しいタプルを構築してるなら問答無用でいいと思うけどね
キーの確認や差異がないかしらべるコストもゼロじゃないし
すでに新しいタプルを構築してるなら問答無用でいいと思うけどね
キーの確認や差異がないかしらべるコストもゼロじゃないし
390デフォルトの名無しさん (アウアウウー Sac7-9j0N)
2023/01/03(火) 22:58:56.25ID:n4oKw/VOa データベースで言う、upsert だろ。
データが無ければinsert、有ればupdate
基本中の基本
データが無ければinsert、有ればupdate
基本中の基本
391デフォルトの名無しさん (ブーイモ MM7f-UGA+)
2023/01/04(水) 01:07:35.19ID:O+gUhHpWM 30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
392デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 08:56:21.55ID:fFs0aGwQ0 perlから来るとkeyが既にあるか無いか気にしないといけないdictがうざくて仕方ない
393デフォルトの名無しさん (ワッチョイ f397-HbQu)
2023/01/04(水) 10:43:47.27ID:xfkX5cN10 dictを継承したmydict作って、setitemをオーバーライドすればいいんじゃない?なんかその辺のパッケージにありそうだけど
394デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 11:09:24.58ID:fFs0aGwQ0 autovivificationは便利だけどどう考えても邪悪なのでpythonには似合わないとは思う
多次元のdictとか何も考えずに作れて楽なのに
多次元のdictとか何も考えずに作れて楽なのに
395デフォルトの名無しさん (ワッチョイ cebb-FKhm)
2023/01/04(水) 11:54:12.95ID:3yoX2IMb0 perlから来たからdefaultdictを知らないってことか
396デフォルトの名無しさん (ブーイモ MM13-DakT)
2023/01/04(水) 11:57:20.58ID:PRI0tLaEM defaultdictとか関係なくないか?
単にfoo[key] = valueってしてけばいいだけの話じゃないの?
単にfoo[key] = valueってしてけばいいだけの話じゃないの?
397デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 12:17:46.09ID:fFs0aGwQ0 文章に単語が何回登場したかカウントする
みたいなことをしたい時に、
if word in count:
count[word] += 1
else:
count[word] = 1
みたいに毎回判定が入る
perlなら問答無用に
$count[$word] += 1;
で済んでしまう
みたいなことをしたい時に、
if word in count:
count[word] += 1
else:
count[word] = 1
みたいに毎回判定が入る
perlなら問答無用に
$count[$word] += 1;
で済んでしまう
398デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 12:21:49.86ID:fFs0aGwQ0 で、この場合はdefaultdictで解決できるのだけれど、
そうも行かないケースがままある
そうも行かないケースがままある
399デフォルトの名無しさん (ワッチョイ cebb-FKhm)
2023/01/04(水) 12:27:21.02ID:3yoX2IMb0 そうもいかないケースを挙げてみ?
400デフォルトの名無しさん (ワッチョイ 9733-QAWg)
2023/01/04(水) 13:21:09.09ID:hHvDsnQT0 俺はこっち派
count[word] = count.get(word, 0)+1
count[word] = count.get(word, 0)+1
401デフォルトの名無しさん (ブーイモ MM26-DakT)
2023/01/04(水) 14:05:48.69ID:hsLqwQpIM402デフォルトの名無しさん (ワッチョイ 0e30-9yt5)
2023/01/04(水) 16:11:58.90ID:Y9cKLIFN0403デフォルトの名無しさん (ワッチョイ 4e46-g5YV)
2023/01/04(水) 16:31:04.37ID:nnn7+JHJ0 perlの糞文法の轍を踏まず、perl屋さんが億劫に感じる方向でおながいしまつ
404デフォルトの名無しさん (アウアウウー Sac7-Dewi)
2023/01/04(水) 16:33:02.89ID:s5vEki4Ca そりゃ言語が違うんだから当たり前だろ
そんなにperlが好きなら一生perl浸かってろ
そんなにperlが好きなら一生perl浸かってろ
405デフォルトの名無しさん (ワッチョイ 4e63-TwI4)
2023/01/04(水) 16:46:54.88ID:169GBKXC0 Perlはこそっと使え
決して異教徒の目に触れさせるな
決して異教徒の目に触れさせるな
406デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 17:03:28.83ID:fFs0aGwQ0 初期化してない変数をいきなり参照したら0で構わないと思うんだけどな
99%はバグってるんじゃなくて初期化を忘れただけなんだから
99%はバグってるんじゃなくて初期化を忘れただけなんだから
407デフォルトの名無しさん (ガックシ 06b6-Lwvu)
2023/01/04(水) 17:46:01.10ID:R0FkSoR+6 バグの原因を初期化忘れだけに絞れるなら恩恵としては大きいな
408デフォルトの名無しさん (ワッチョイ 9a01-+uJR)
2023/01/04(水) 18:04:46.20ID:lFNs7lW+0409デフォルトの名無しさん (ワッチョイ 9733-QAWg)
2023/01/04(水) 18:08:36.66ID:hHvDsnQT0 >>406
99%は言い過ぎ
99%は言い過ぎ
410デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 18:23:39.40ID:fFs0aGwQ0 関数内の0や""で初期化してる処理を、スコープ先頭に移して挙動が変わるかどうか
変わらないならそれは省略可能だった初期化
変わらないならそれは省略可能だった初期化
411デフォルトの名無しさん (ワッチョイ 5bcf-/EFQ)
2023/01/04(水) 18:23:43.29ID:oLi3mo910 >>406
そこはNoneでいいだろ。つか、初期化してなきゃ型も決まらないから0にもしようがない。
そこはNoneでいいだろ。つか、初期化してなきゃ型も決まらないから0にもしようがない。
412デフォルトの名無しさん (ワッチョイ 0754-TwI4)
2023/01/04(水) 18:50:16.06ID:fFs0aGwQ0 だからこその動的型付けで、0だったことにする
文字列として参照されてたら""だったことにする
dictとして参照されてたら{}だったことにする
文字列として参照されてたら""だったことにする
dictとして参照されてたら{}だったことにする
■ このスレッドは過去ログ倉庫に格納されています
