↑スレ立てる毎に減るので、減ってたら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/
※前スレ
Pythonのお勉強 Part70
https://mevius.5ch.net/test/read.cgi/tech/1677856680/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part71
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cffb-p/wP)
2023/09/20(水) 09:13:41.41ID:u6xixiUt0607デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 15:02:43.48ID:Fo7n9qIpa import decimal
decimal.getcontext().prec = 15
decimal.getcontext().prec = 15
608デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:11:21.88ID:iUBVM1B70 とりあえずPython3でもMpmathでprecを巨大にすれば巨大数が扱えて誤差は出ないようだが、
検算にPython3のMpmath、計算にPyPy2.7.13のDecimalを使っている。
環境が異なるために1つのプログラムで検算までできないという問題点がある。
ちなみに2^128倍精度浮動小数点数の最大値の計算をするときには、
PyPy2.7.13のDecimalではprecを1000に、Python3のMpmathではprecを10000とか100000とかにしないと誤差が出る。
検算にPython3のMpmath、計算にPyPy2.7.13のDecimalを使っている。
環境が異なるために1つのプログラムで検算までできないという問題点がある。
ちなみに2^128倍精度浮動小数点数の最大値の計算をするときには、
PyPy2.7.13のDecimalではprecを1000に、Python3のMpmathではprecを10000とか100000とかにしないと誤差が出る。
609デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 15:14:41.36ID:Wk14M+OK0610デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:21:06.86ID:iUBVM1B70611デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:31:52.00ID:iUBVM1B70 python3では
getcontext().prec = 1000
getcontext().Emax = 999999999999999999
まで、
PyPy2.7.13では
getcontext().prec = 1000
getcontext().Emax = 10**10**5
程度まで、Emaxを10**10**6にするとエラーになる。
getcontext().prec = 1000
getcontext().Emax = 999999999999999999
まで、
PyPy2.7.13では
getcontext().prec = 1000
getcontext().Emax = 10**10**5
程度まで、Emaxを10**10**6にするとエラーになる。
612デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 15:54:04.12ID:iUBVM1B70 mpmathでprecが1000での実行結果
2023-11-09 15:40:37.341115
8.693707727864259530039258884770161044063845806590697696822196758051010321507084364738474185393716049143428269592664416299506985821607020...
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235723
2023-11-09 15:40:37.821113
0:00:00.479998
mpmathでprecが100での実行結果
2023-11-09 15:40:42.917141
1.73874154557285190600785177695403220881276916131813953936443935161020206430141687294769483707874321
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235724
2023-11-09 15:40:42.969102
0:00:00.051961
precが100だと明らかに誤差がある。これも問題。
前者は先頭から100桁程度までと桁数は正確なのを確認している。
2023-11-09 15:40:37.341115
8.693707727864259530039258884770161044063845806590697696822196758051010321507084364738474185393716049143428269592664416299506985821607020...
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235723
2023-11-09 15:40:37.821113
0:00:00.479998
mpmathでprecが100での実行結果
2023-11-09 15:40:42.917141
1.73874154557285190600785177695403220881276916131813953936443935161020206430141687294769483707874321
e+258313751232903212140244172706732768962283773495639777019746650509389263410185892774365178070439343470463409842392677007886631633129570799399839688363235724
2023-11-09 15:40:42.969102
0:00:00.051961
precが100だと明らかに誤差がある。これも問題。
前者は先頭から100桁程度までと桁数は正確なのを確認している。
613デフォルトの名無しさん (アウアウウー Saa5-CWlg)
2023/11/09(木) 16:07:17.61ID:Fo7n9qIpa614デフォルトの名無しさん (ワッチョイ 0954-MVD/)
2023/11/09(木) 16:16:09.89ID:Wk14M+OK0615デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 16:16:32.99ID:iUBVM1B70 >>602
PyPyのDecimalの誤差の問題は言いにくいが、Python3のDecimalの桁数限界の問題は言っても良さそうだよな。
Python3で動くMpmathの誤差の問題についても言っていいのかな?
Pythonの計算能力は非常に高いので高く評価できる。そのことも言っておきたい。
あとMSのVscodeからダウンロードできるPythonではいまだに3.10が使われているが、なぜまだ3.11や3.12にならないのか?も。
PyPyのDecimalの誤差の問題は言いにくいが、Python3のDecimalの桁数限界の問題は言っても良さそうだよな。
Python3で動くMpmathの誤差の問題についても言っていいのかな?
Pythonの計算能力は非常に高いので高く評価できる。そのことも言っておきたい。
あとMSのVscodeからダウンロードできるPythonではいまだに3.10が使われているが、なぜまだ3.11や3.12にならないのか?も。
616デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 16:33:36.64ID:iUBVM1B70 こういう計算ではprecを大きくしないと誤差が出る。
また、2^16倍精度浮動小数点数の最大値あたりから桁数が999999999999999999を超えてしまいPython3のDecimalではオーバーフローする。
https://ideone.com/B7quXx
2^256倍精度浮動小数点数の最大値は計算してみたが、2^512倍精度浮動小数点数の最大値は未確認。
また、2^16倍精度浮動小数点数の最大値あたりから桁数が999999999999999999を超えてしまいPython3のDecimalではオーバーフローする。
https://ideone.com/B7quXx
2^256倍精度浮動小数点数の最大値は計算してみたが、2^512倍精度浮動小数点数の最大値は未確認。
617デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 18:53:31.64ID:iUBVM1B70 Python2のDecimalのEmaxの最大値はたぶん10**999999
https://paiza.io/projects/_3oy4rG43bzr-zUb-bO3CQ
これを超えてもエラーすら出ないが計算結果も出ないのでたぶん最大値。
https://paiza.io/projects/_3oy4rG43bzr-zUb-bO3CQ
これを超えてもエラーすら出ないが計算結果も出ないのでたぶん最大値。
618デフォルトの名無しさん (ワッチョイ 4910-ZTan)
2023/11/09(木) 18:54:46.14ID:iUBVM1B70 書くのが面倒くさいので10の指数表現にしてしまったので、実際にはもっと大きいかも?
619デフォルトの名無しさん (ワッチョイ 02ea-TR5P)
2023/11/10(金) 15:53:55.15ID:5sYei61M0 >>585
xなんか使うからややこしいだけでnum=num+1にしたら誰でもわかる
xなんか使うからややこしいだけでnum=num+1にしたら誰でもわかる
620デフォルトの名無しさん (ワッチョイ 2e46-tR/v)
2023/11/10(金) 16:33:17.33ID:FbH8Mxce0 ヌムって何
621デフォルトの名無しさん (ワッチョイ fd54-EDsj)
2023/11/10(金) 19:08:35.02ID:smhSXpZ/0 変数か定数かにざっくり2種類に分かれるので、
xとかvarならいいけど、numと書いてしまうとそれは定数
xとかvarならいいけど、numと書いてしまうとそれは定数
622あぼーん
NGNGあぼーん
623デフォルトの名無しさん (ワッチョイ 1f01-qIOU)
2023/11/11(土) 10:26:25.79ID:HDC3RNtv0 >>622
こういう方法もあるんだな
こういう方法もあるんだな
624デフォルトの名無しさん (ワッチョイ 1f27-xIya)
2023/11/13(月) 22:27:11.06ID:V0ByRftD0 paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
というプログラムで、フォルダ内の画像を作成日時順にソートできたのですが、
ここの中から上位10個を取り出してそれぞれ関数に入れたいのですが、
どのような手法でやったらいいのでしょうか?
(例:001.png→data1,002.png→data2へのような形にしたいのです。)
よろしくお願いします。
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
というプログラムで、フォルダ内の画像を作成日時順にソートできたのですが、
ここの中から上位10個を取り出してそれぞれ関数に入れたいのですが、
どのような手法でやったらいいのでしょうか?
(例:001.png→data1,002.png→data2へのような形にしたいのです。)
よろしくお願いします。
625デフォルトの名無しさん (ワッチョイ ff30-hgj4)
2023/11/13(月) 23:08:29.99ID:hIb2N2Ge0 >>624
https://docs.python.org/ja/3/library/stdtypes.html#list.sort
ソート載ってたこの文書にスライスってのがあるのでそれで取り出しはできる
端から公式文書に目を通すつもりないならChatGPTさんに聞くのもいいよ
https://docs.python.org/ja/3/library/stdtypes.html#list.sort
ソート載ってたこの文書にスライスってのがあるのでそれで取り出しはできる
端から公式文書に目を通すつもりないならChatGPTさんに聞くのもいいよ
626デフォルトの名無しさん (ワッチョイ 1f27-xIya)
2023/11/14(火) 00:03:28.13ID:3XtDLzP+0627デフォルトの名無しさん (ワッチョイ 7f19-qIOU)
2023/11/14(火) 00:35:16.33ID:c91qDKwg0 >>622
コスパ良いポイ活だな
コスパ良いポイ活だな
628デフォルトの名無しさん (ワッチョイ 1f01-vgtH)
2023/11/14(火) 00:44:14.40ID:eAuNTGnN0 こいつ自演レス2回やるようになったんだな
以前は1回だった
以前は1回だった
629デフォルトの名無しさん (テテンテンテン MM4f-9Nvu)
2023/11/14(火) 01:34:46.08ID:KAjgCxWWM >>624
画像ファイルを関数に入れるってどういう意味?
画像ファイルを関数に入れるってどういう意味?
630デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/14(火) 09:59:04.47ID:POS4QBLh0 スライスはpython入門の1時間目でやるだろ
631デフォルトの名無しさん (ワッチョイ 1fa7-uZuc)
2023/11/14(火) 12:04:58.19ID:a6f/tVQx0632デフォルトの名無しさん (ワッチョイ 9f7c-gFzT)
2023/11/14(火) 19:06:35.65ID:xujXPfzz0 >>631
画像のバイナリを関数に渡すって考える方が普通じゃ?
画像のバイナリを関数に渡すって考える方が普通じゃ?
633デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/14(火) 19:12:22.18ID:POS4QBLh0 そんなアホな取り回しはせんやろ
634デフォルトの名無しさん (ワッチョイ 7f5c-wD1F)
2023/11/14(火) 20:05:40.30ID:lvDQJ2KR0 ワロタw
635デフォルトの名無しさん (JP 0H4f-9Nvu)
2023/11/15(水) 08:14:14.82ID:PY3kt1RSH そもそも10個の関数を順番に呼び出す仕組みがPythonにはないよね
636デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/15(水) 08:38:19.84ID:+heJlrgN0 >>624に書いてある、data1というのは関数名なのか
命名のセンスが悪い
命名のセンスが悪い
637デフォルトの名無しさん (ワッチョイ 9f46-uMtu)
2023/11/15(水) 10:00:41.77ID:4ca/PT+K0638デフォルトの名無しさん (ワッチョイ ff89-Xl/w)
2023/11/15(水) 11:08:40.78ID:t2csacDc0639デフォルトの名無しさん (ワッチョイ 9f54-NzoM)
2023/11/15(水) 11:11:13.85ID:+heJlrgN0 似たような関数が並んでるなら引数でどうにかするし、
全然違うのならテーブルで並べるか、シーケンシャルに書いちゃうか
全部画像を処理するんだから、似てると思うけど
全然違うのならテーブルで並べるか、シーケンシャルに書いちゃうか
全部画像を処理するんだから、似てると思うけど
640デフォルトの名無しさん (JP 0H4f-9Nvu)
2023/11/15(水) 15:31:22.25ID:PY3kt1RSH641デフォルトの名無しさん (ワッチョイ 1ff0-Gf4c)
2023/11/15(水) 15:38:36.15ID:/tSVEj7/0 そんなことする必要ないことに気がついてくれ
642デフォルトの名無しさん (ワッチョイ ffce-hgj4)
2023/11/15(水) 15:44:53.45ID:VGv7kGCa0 仮にやりたいって話でしょ
Pythonは関数もファーストクラスだから余裕
Pythonは関数もファーストクラスだから余裕
643デフォルトの名無しさん (スプッッ Sd1f-bSx2)
2023/11/15(水) 17:45:49.81ID:olanfxkjd # 超適当に答えてみる
def data1(path):
pass
paths = ["path1.txt","path2.txt","path3.txt",]
datas = [data1,data2,data3,]
# こっちはべた書き
data1(paths[0])
data2(paths[1])
data3(paths[2])
# こっちはグルグル
for data,path in zip(datas,paths):
data(path)
def data1(path):
pass
paths = ["path1.txt","path2.txt","path3.txt",]
datas = [data1,data2,data3,]
# こっちはべた書き
data1(paths[0])
data2(paths[1])
data3(paths[2])
# こっちはグルグル
for data,path in zip(datas,paths):
data(path)
644デフォルトの名無しさん (ワッチョイ 1f79-oqYz)
2023/11/15(水) 20:01:43.64ID:qjPY1w3P0 配列定義する手間で全部書けるだろなにがしたいんだ
645デフォルトの名無しさん (ワッチョイ 1f27-XI6K)
2023/11/15(水) 21:38:54.96ID:SiUAlBQI0 >>629-643
624です。
Lineを使ってStableDiffutionで作成した画像をソートして作成日時が新しいもの10個を自分用に送り付ける方法を考えてました。
んで、関数の話としては>>643のべた書きが近く・・・というかまんまで、文字通りべた書きで10回処理を行いそれぞれ別関数へ突っ込んでます。
本当はもっといい処理方法あると思いまが、あまりプログラム系は触ったことがなく、自分でできる範囲で最適化するつもりです。
>>629 の画像ファイルを関数に入れるに関しては、
im1 = Image.open(data)
という処理を別でやっており、10枚の画像ファイルを、2列5行の画像ファイルで書き出して送信するするつもりです。(ランダムで10枚を1枚にしてLineに送る処理はできたので・・)
LINE NotifyやLineAPIを叩いても、複数画像をまとめて送る手法がなかったので、1つの画像で送る方法をとっています。
で、そのプログラムですが以下のようになってます。
(Google Colabで実行)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
このプログラムでソートした上から3つを取り出せたのですがいかがでしょうか。
また、
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
の処理があまりよくわかっていないのですが、
これは、for file in pathsでフォルダ指定したフォルダ内の全ファイルに対して、{file.stat().st_mtime:.0f} で更新日、{file.name}でファイル名の表示で会っていますでしょうか。
それか、ほかにもっとスマートな手法ありますでしょうか。 よろしくお願いします。
624です。
Lineを使ってStableDiffutionで作成した画像をソートして作成日時が新しいもの10個を自分用に送り付ける方法を考えてました。
んで、関数の話としては>>643のべた書きが近く・・・というかまんまで、文字通りべた書きで10回処理を行いそれぞれ別関数へ突っ込んでます。
本当はもっといい処理方法あると思いまが、あまりプログラム系は触ったことがなく、自分でできる範囲で最適化するつもりです。
>>629 の画像ファイルを関数に入れるに関しては、
im1 = Image.open(data)
という処理を別でやっており、10枚の画像ファイルを、2列5行の画像ファイルで書き出して送信するするつもりです。(ランダムで10枚を1枚にしてLineに送る処理はできたので・・)
LINE NotifyやLineAPIを叩いても、複数画像をまとめて送る手法がなかったので、1つの画像で送る方法をとっています。
で、そのプログラムですが以下のようになってます。
(Google Colabで実行)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
このプログラムでソートした上から3つを取り出せたのですがいかがでしょうか。
また、
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
の処理があまりよくわかっていないのですが、
これは、for file in pathsでフォルダ指定したフォルダ内の全ファイルに対して、{file.stat().st_mtime:.0f} で更新日、{file.name}でファイル名の表示で会っていますでしょうか。
それか、ほかにもっとスマートな手法ありますでしょうか。 よろしくお願いします。
646デフォルトの名無しさん (ワッチョイ fff0-fgGr)
2023/11/16(木) 00:51:14.98ID:Q2M7jM7u0 たぶんやりたいことはこんなかんじだろ
for i in range(10):
eval("data" +i)(paths[i])
for i in range(10):
eval("data" +i)(paths[i])
647デフォルトの名無しさん (ワッチョイ ff89-Xl/w)
2023/11/16(木) 01:17:55.83ID:YpHIXhGK0 >>645
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1] <- ここと同様に似た部分は重複処理なので値の変化量を保存する処理にするともっと良くなるかも
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
from pathlib import Path
import os
paths = list(Path('/content/drive/MyDrive/StableDiffusion/').glob(r'*.*'))
paths.sort(key=os.path.getmtime, reverse=True)
for file in paths:
print(f'{file.stat().st_mtime:.0f} {file.name}')
print (paths.sort)
l_reversed = paths[0::-1] <- ここと同様に似た部分は重複処理なので値の変化量を保存する処理にするともっと良くなるかも
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
print (l_reversed)
print (l2_reversed)
print (l3_reversed)
648デフォルトの名無しさん (アウアウウー Sae3-Xzxn)
2023/11/16(木) 10:39:16.68ID:QXdh7keCa print (l_reversed)
print (l2_reversed)
print (l3_reversed)
かっこわるい
print (l2_reversed)
print (l3_reversed)
かっこわるい
649デフォルトの名無しさん (スプッッ Sd1f-bSx2)
2023/11/16(木) 11:03:41.52ID:pvCpT+Yld もしかして、
「関数」じゃなくて「変数」だったり?
「関数」じゃなくて「変数」だったり?
650デフォルトの名無しさん (ワッチョイ ffce-hgj4)
2023/11/16(木) 13:24:54.46ID:eCSrCCxs0651デフォルトの名無しさん (スプッッ Sd1f-7z1d)
2023/11/16(木) 17:03:02.71ID:1QM1kixjd l_reversed = paths[0::-1]
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
こんな書き方してるのに
> ランダムで10枚を1枚にしてLineに送る処理はできたので
ここまで辿り着けたのがすげぇ
ランダムのソースコード(I/F部分だけでも)を貼ったら、答えがすぐ返ってくると思う
他の部分もめちゃくちゃ言われるだろうけど、そっちはお勉強ということで
l2_reversed = paths[1::-2]
l3_reversed = paths[2::-3]
こんな書き方してるのに
> ランダムで10枚を1枚にしてLineに送る処理はできたので
ここまで辿り着けたのがすげぇ
ランダムのソースコード(I/F部分だけでも)を貼ったら、答えがすぐ返ってくると思う
他の部分もめちゃくちゃ言われるだろうけど、そっちはお勉強ということで
652デフォルトの名無しさん (ワッチョイ ff7b-zK++)
2023/11/16(木) 17:12:01.88ID:KD9PIbB20 このプログラム系の知識感でAPI叩いてるってのが逆にすごい。
653デフォルトの名無しさん (ワッチョイ 1f8a-vmna)
2023/11/17(金) 00:14:30.55ID:7IofKhtq0 subprocessとsubprocess.PIPEを1行でimportする方法ってある?
654デフォルトの名無しさん (ワッチョイ ff7b-zK++)
2023/11/17(金) 09:10:23.93ID:40Zys+6x0 import subprocess; from subprocess import PIPE て事ではなく?
655デフォルトの名無しさん (アウアウウー Sae3-OPKY)
2023/11/17(金) 10:18:44.46ID:BqbQlbW7a inport subprocess
だけでよくね?
だけでよくね?
656デフォルトの名無しさん (ワッチョイ ff46-uMtu)
2023/11/17(金) 11:02:23.16ID:HkmKeaDT0 >>655
許せない。。
>>> inport subprocess
File "<stdin>", line 1
inport subprocess
^
SyntaxError: invalid syntax
>>>
許せない。。
>>> inport subprocess
File "<stdin>", line 1
inport subprocess
^
SyntaxError: invalid syntax
>>>
657デフォルトの名無しさん (スプッッ Sd7f-Xzxn)
2023/11/17(金) 11:28:45.83ID:180/RciHd もちつけ
>>> import subprocess
>>> print(subprocess)
<module 'subprocess' from '.../subprocess.py'>
>>> print(subprocess.PIPE)
-1
>>> import subprocess
>>> print(subprocess)
<module 'subprocess' from '.../subprocess.py'>
>>> print(subprocess.PIPE)
-1
658デフォルトの名無しさん (ワッチョイ 1fb1-u6Hu)
2023/11/17(金) 13:19:32.60ID:FFgkWy7J0 使えなくなるまで
os.system()を使います><。
os.system()を使います><。
659デフォルトの名無しさん (ワッチョイ ff7f-vmna)
2023/11/17(金) 15:17:29.47ID:Y0aXBNXC0660デフォルトの名無しさん (ワッチョイ ff63-kIyz)
2023/11/17(金) 22:22:21.30ID:i6SiN6NQ0661659ではない (ワッチョイ 6e46-eNDp)
2023/11/18(土) 03:49:04.58ID:0Uy+05Nv0 >>660
import subprocess {self as sp, PIPE as spp}
みたいにして、subprocessとsubprocess.PIPE各々を別名にして、1ステートメントでimportする方法ってある?
import subprocess {self as sp, PIPE as spp}
みたいにして、subprocessとsubprocess.PIPE各々を別名にして、1ステートメントでimportする方法ってある?
662デフォルトの名無しさん (JP 0H66-ue97)
2023/11/18(土) 07:14:32.15ID:kMLLK9REH >>661
無理でしょ
subprocess に別名を付けるには import
subprocess.PIPE に別名を付けるには from import
import と from import は別の構文だから並べられない
無理でしょ
subprocess に別名を付けるには import
subprocess.PIPE に別名を付けるには from import
import と from import は別の構文だから並べられない
663デフォルトの名無しさん (ワッチョイ 6e63-Cy+q)
2023/11/18(土) 08:04:12.74ID:Kfn2l2LH0 可読性を犠牲にしてまで1行にこだわるのかが謎だ
664デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/18(土) 17:02:58.33ID:rXJKESWNa from subprocess import *
665デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
2023/11/18(土) 17:19:32.77ID:gr23gvrO0666デフォルトの名無しさん (ワッチョイ 8690-tE+F)
2023/11/18(土) 20:47:54.52ID:fIOteNuc0667661 (ワッチョイ 6e46-4xZ8)
2023/11/18(土) 21:57:39.08ID:gr23gvrO0668デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/18(土) 22:09:39.15ID:2M9ZJit40 昔パールを初めてやってた時
open($fp,"/bin/ls | ") || die 'cant open /bin/ls';
while(<$fp>){
print;
}
close($fp);
これスゲーって思った。
コマンドをパイプつきでオープンして、while文で読み込むって。
でもパールはダメだ、見切りを付けてpythonに移った。
久し振りすぎて、上の書くのも苦労したww
open($fp,"/bin/ls | ") || die 'cant open /bin/ls';
while(<$fp>){
print;
}
close($fp);
これスゲーって思った。
コマンドをパイプつきでオープンして、while文で読み込むって。
でもパールはダメだ、見切りを付けてpythonに移った。
久し振りすぎて、上の書くのも苦労したww
669デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/18(土) 22:57:41.75ID:STIOjWGd0 pythonでも似たようなことやるがな
670デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/18(土) 23:18:59.79ID:2M9ZJit40 え、できるの?知らんかった。
671デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/18(土) 23:26:44.76ID:STIOjWGd0 話題のsubprocess.PIPEにstdoutを流す
672デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/19(日) 00:05:14.88ID:B+HVId7D0 まあ、そりゃそうだけど。
perl の open()関数でコマンド起動してファイルを読み込むのと同じ仕様で書けるって
力技感一杯じゃんw
perl の open()関数でコマンド起動してファイルを読み込むのと同じ仕様で書けるって
力技感一杯じゃんw
673デフォルトの名無しさん (ワッチョイ 6e63-Cy+q)
2023/11/19(日) 02:07:38.68ID:S9/JwIsQ0 >>667
最初、改行文字の節約って思ったけど、
セミコロン+スペースと変わらんもんなぁ
LFなら改行のほうが少ないし
pythonは行あたり80文字という一応の目安を文書化した言語だから、
改行に抵抗がない人が多そうだけど、そうでもないのかな?
最初、改行文字の節約って思ったけど、
セミコロン+スペースと変わらんもんなぁ
LFなら改行のほうが少ないし
pythonは行あたり80文字という一応の目安を文書化した言語だから、
改行に抵抗がない人が多そうだけど、そうでもないのかな?
674デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
2023/11/19(日) 07:30:36.55ID:vAXGDL640 >>673
敢えて利点を挙げるなら、
import urllib2.{Amodule, Bmodule} # Rust風?
と書ければ、キーワードが集約されるので、
import urllib2.Amodule
import urllib.Bmodule # 「2」字脱落
みたいな片ちんばな誤記にならない。
from urllib import Bmodule と誤記して、Bmodule.same_function() を呼ぶと、
urllib2 の関数を扱っているつもりが、実は
urllib を使用していたという、自分では解りにくいミスになるかも。
なまじ Amodule はマトモなので、思い込みに泣く。
敢えて利点を挙げるなら、
import urllib2.{Amodule, Bmodule} # Rust風?
と書ければ、キーワードが集約されるので、
import urllib2.Amodule
import urllib.Bmodule # 「2」字脱落
みたいな片ちんばな誤記にならない。
from urllib import Bmodule と誤記して、Bmodule.same_function() を呼ぶと、
urllib2 の関数を扱っているつもりが、実は
urllib を使用していたという、自分では解りにくいミスになるかも。
なまじ Amodule はマトモなので、思い込みに泣く。
675デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/19(日) 12:19:59.30ID:/G2k3fWta >>667 観て造った
>>653
https://paiza.io/projects/kIZMaC_GHS4Albu4tapOTQ
def rust(mod, names):
globals()[mod] = __import__(mod)
for n in names:
globals()[n] = getattr(__import__(mod, globals(), locals(), [n], 0), n)
rust('subprocess', ['PIPE', 'STDOUT'])
print(dir(subprocess))
print(PIPE)
print(STDOUT)
>>653
https://paiza.io/projects/kIZMaC_GHS4Albu4tapOTQ
def rust(mod, names):
globals()[mod] = __import__(mod)
for n in names:
globals()[n] = getattr(__import__(mod, globals(), locals(), [n], 0), n)
rust('subprocess', ['PIPE', 'STDOUT'])
print(dir(subprocess))
print(PIPE)
print(STDOUT)
676デフォルトの名無しさん (ワッチョイ fe95-fy5B)
2023/11/19(日) 16:33:07.78ID:oPb7CqgG0 >>675
ネタだとしてもサブパッケージ等対応出来てないものがいくつかあるので却下ですね
ネタだとしてもサブパッケージ等対応出来てないものがいくつかあるので却下ですね
677デフォルトの名無しさん (ワッチョイ ae4d-8oJ/)
2023/11/19(日) 16:51:15.74ID:j9gIHEdT0 DAOデザインパターンのセッションオブジェクトって
どこで持つべき?
ロジッククラス?それともセッション管理クラスを新しく作る?
それともDAOの中でセッション張る?
どこで持つべき?
ロジッククラス?それともセッション管理クラスを新しく作る?
それともDAOの中でセッション張る?
678デフォルトの名無しさん (ワッチョイ 2927-Y9g+)
2023/11/19(日) 22:43:20.36ID:9EvVoZ760 >>647-652
いろいろ教えていただきありがとうございました。
646です。
>>650 さんが行ってるように関数じゃなくて、変数ですね・・・勘違いしてました。申し訳ない。
必要に駆られてプログラム書いてたので、コピペと
なんかほしい感じのやり方+APIとかのサンプルプログラムを見てポチポチ書いてた感じです。
>>648 さんの書いたプログラムで上から10個選択できたのでこれで自分なりに最適化をしていこうと思います。
>>652 さんが言ってた、ランダム選択のプログラムは以下の通りです。
file_path = './img/'
file = glob.glob("./img/*")
data =random.choice(file)
こいつでimgファイル内のどれか1つの画像を選ばせてます。
(ほぼコピペです)
また、l_reversed = paths[0::-1] で[0::-1]を[1::-2]のようにすると
ソート順で表示する画像が1つずれるのはちょっと理由がわからないのですが、
理屈を教えていただけないでしょうか。
よろしくお願いします。
いろいろ教えていただきありがとうございました。
646です。
>>650 さんが行ってるように関数じゃなくて、変数ですね・・・勘違いしてました。申し訳ない。
必要に駆られてプログラム書いてたので、コピペと
なんかほしい感じのやり方+APIとかのサンプルプログラムを見てポチポチ書いてた感じです。
>>648 さんの書いたプログラムで上から10個選択できたのでこれで自分なりに最適化をしていこうと思います。
>>652 さんが言ってた、ランダム選択のプログラムは以下の通りです。
file_path = './img/'
file = glob.glob("./img/*")
data =random.choice(file)
こいつでimgファイル内のどれか1つの画像を選ばせてます。
(ほぼコピペです)
また、l_reversed = paths[0::-1] で[0::-1]を[1::-2]のようにすると
ソート順で表示する画像が1つずれるのはちょっと理由がわからないのですが、
理屈を教えていただけないでしょうか。
よろしくお願いします。
679デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/19(日) 22:59:46.66ID:uFm9+T2V0 アンカーどうなっとんねん
680デフォルトの名無しさん (ワッチョイ 6e7b-QUH3)
2023/11/20(月) 09:06:45.18ID:RnUiirN00 >>678
とりあえず配列の使い方を勉強したほうがいい
とりあえず配列の使い方を勉強したほうがいい
681デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/20(月) 09:28:59.78ID:QoOP4h9Z0 https://pbs.twimg.com/media/FRbgL_YaQAA0lyv?format=jpg&name=medium
チートシートが要るくらい判りにくい
チートシートが要るくらい判りにくい
682デフォルトの名無しさん (アウアウウー Sa85-UHOz)
2023/11/20(月) 14:01:18.90ID:MS7hPbOQa Blender4登場でPython用無しへって言われてるけど
Python使った方が描き易くね
Python使った方が描き易くね
683デフォルトの名無しさん (スフッ Sd22-Y9g+)
2023/11/20(月) 15:38:29.00ID:DbfyuSYxd すまん、アンカーつけミスってた
684デフォルトの名無しさん (スプッッ Sd82-OPfZ)
2023/11/20(月) 17:19:06.53ID:39chtrqnd >>678
(なんでsampleじゃなく、choiceなんだ・・・)
data =random.choice(file)
は1つの画像
l_reversed = paths[0::-1]
は1つの画像が入ったリスト
ランダムもソートも、このあとどう使われてるのかさっぱり分からんのだぜ
(別の問題が発覚しそうだけど)
とりあえず、ランダムのプログラムにこの2行入れちゃえば解決しそう
file.sort(key=os.path.getmtime, reverse=True) # ソートして
file = file[:10] # 10個だけにする
あと、最適化とかスマートとか気にするレベルじゃない
(なんでsampleじゃなく、choiceなんだ・・・)
data =random.choice(file)
は1つの画像
l_reversed = paths[0::-1]
は1つの画像が入ったリスト
ランダムもソートも、このあとどう使われてるのかさっぱり分からんのだぜ
(別の問題が発覚しそうだけど)
とりあえず、ランダムのプログラムにこの2行入れちゃえば解決しそう
file.sort(key=os.path.getmtime, reverse=True) # ソートして
file = file[:10] # 10個だけにする
あと、最適化とかスマートとか気にするレベルじゃない
685デフォルトの名無しさん (ワッチョイ 427c-hO6y)
2023/11/20(月) 21:11:58.82ID:uCxOj8y10 Excelの散布図で近似曲線の数式(y=ax+bみたいなの)をすぐ表示できるけど、
plotnineのstat_smooth関数使うときに同じ感じでサクッと表示する方法ないですかね?
plotnineのstat_smooth関数使うときに同じ感じでサクッと表示する方法ないですかね?
686デフォルトの名無しさん (ワッチョイ 2927-Y9g+)
2023/11/20(月) 22:34:11.87ID:QThOiYWP0 >>685
ありがとうございます。
検証したら確かに
file.sort(key=os.path.getmtime, reverse=True)
で行けそうです
(Google Colabだとアップロード順や作成時間の関係でmtime/ctimeが若干思った挙動と違いますが・・・)
この場合だと、べた書きすると
File_1.sort(key=os.path.getctime,reverse=True)←ここで作成日付逆順でソート(getctimeで作成日順でソート)
File_1_Last = File_1[0]←最初の1個(一番直近に作成したやつ)
という理解でであってますかね?
10個絞り込みたかったらFile_1[0~10]でべた書きすればいいということですよね?
初歩的なことですいません・・・(-_-;)
ありがとうございます。
検証したら確かに
file.sort(key=os.path.getmtime, reverse=True)
で行けそうです
(Google Colabだとアップロード順や作成時間の関係でmtime/ctimeが若干思った挙動と違いますが・・・)
この場合だと、べた書きすると
File_1.sort(key=os.path.getctime,reverse=True)←ここで作成日付逆順でソート(getctimeで作成日順でソート)
File_1_Last = File_1[0]←最初の1個(一番直近に作成したやつ)
という理解でであってますかね?
10個絞り込みたかったらFile_1[0~10]でべた書きすればいいということですよね?
初歩的なことですいません・・・(-_-;)
687デフォルトの名無しさん (ワッチョイ 2927-Y9g+)
2023/11/20(月) 22:34:48.05ID:QThOiYWP0 >>684
やん・・・またアンカーミスった(;´д`)
やん・・・またアンカーミスった(;´д`)
688デフォルトの名無しさん (スプッッ Sd82-OPfZ)
2023/11/20(月) 23:42:23.04ID:LeyGRqAQd >>686
公式ドキュメントのチュートリアルの最初の方に書いてある
チュートリアルくらいは、一度目を通してくれ
https://docs.python.org/ja/3/tutorial/index.html
https://docs.python.org/ja/3/tutorial/introduction.html#lists
公式ドキュメントのチュートリアルの最初の方に書いてある
チュートリアルくらいは、一度目を通してくれ
https://docs.python.org/ja/3/tutorial/index.html
https://docs.python.org/ja/3/tutorial/introduction.html#lists
689デフォルトの名無しさん (ワッチョイ 6e89-JCfw)
2023/11/20(月) 23:55:15.19ID:7M4T/4JK0690デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/21(火) 08:23:09.96ID:LcVKgP510 チュートリアルには
from urllib.request import urlopen
が書いてあるけど、
import requests
の方がいいよな
from urllib.request import urlopen
が書いてあるけど、
import requests
の方がいいよな
691デフォルトの名無しさん (ワッチョイ b130-/Wmb)
2023/11/21(火) 09:32:55.38ID:OtSZp9c+0 チュートリアルなんだから、PyPIその他サードパーティモジュールの使い方について学ぶ段階に進む前は、標準モジュールのみで話を進めねば
692デフォルトの名無しさん (ワッチョイ 6e7b-QUH3)
2023/11/21(火) 10:04:19.49ID:QDAC0gh80693デフォルトの名無しさん (ワッチョイ ae68-6Q50)
2023/11/21(火) 12:16:17.16ID:0aCdJNBJ0694デフォルトの名無しさん (ワッチョイ 6e7b-QUH3)
2023/11/21(火) 12:50:42.41ID:QDAC0gh80 どんな言語でも最初はhello worldと相場が決まっている
695デフォルトの名無しさん (ワッチョイ 6e46-4xZ8)
2023/11/21(火) 15:20:50.52ID:aUIDxCId0696デフォルトの名無しさん (アウアウウー Sa85-LQE0)
2023/11/21(火) 15:26:30.08ID:Vub9wpCBa697デフォルトの名無しさん (アウアウウー Sa85-LQE0)
2023/11/21(火) 15:35:40.89ID:Vub9wpCBa inputという関数があるんだ、それは入力を受け取る関数なんだ、じゃなくて
標準入力(キーボード)から入力する方法があるはずだ、それはpythonではinput関数なんだ
こういう発想でやらないとコードなんていつまでも書けんぞ
この思考でやれば他の言語の時も脳の負荷が少ない
俺はこれを抽象的仮説思考と読んでいる
標準入力(キーボード)から入力する方法があるはずだ、それはpythonではinput関数なんだ
こういう発想でやらないとコードなんていつまでも書けんぞ
この思考でやれば他の言語の時も脳の負荷が少ない
俺はこれを抽象的仮説思考と読んでいる
698デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/21(火) 15:41:58.36ID:LcVKgP510 普通に使ってたらinput()なんか使わんやろ
実行を一時停止する時に使うくらい
実行を一時停止する時に使うくらい
699デフォルトの名無しさん (アウアウウー Sa85-LQE0)
2023/11/21(火) 15:59:34.91ID:Vub9wpCBa んなアホなw
700695 (ワッチョイ 6e46-4xZ8)
2023/11/21(火) 16:01:38.28ID:aUIDxCId0701デフォルトの名無しさん (JP 0H66-F30J)
2023/11/21(火) 16:15:26.01ID:is7gJ9QfH AI使い出すとやりたいこと書けばサンプルコード吐いてくれて、更にそれを発展させることも出来てしまうから、なんかアイデアだけで給料貰ってる感じがする
これからはコード書けるとか、ここでやり取りしてるような知識では飯食えんな
これからはコード書けるとか、ここでやり取りしてるような知識では飯食えんな
702デフォルトの名無しさん (ワッチョイ 6e89-JCfw)
2023/11/21(火) 17:03:35.20ID:YwWuHKsv0 オンラインじゃない現場なんてクソあるから
飯は食えるけど、サクッと合意形成とサクッと試作品とサクッと検証するまでがセットにならないと開発者としては落ち目
飯は食えるけど、サクッと合意形成とサクッと試作品とサクッと検証するまでがセットにならないと開発者としては落ち目
703デフォルトの名無しさん (ワッチョイ 6e89-JCfw)
2023/11/21(火) 17:05:25.01ID:YwWuHKsv0 インターネット接続できない場所もあるからね
704デフォルトの名無しさん (ワッチョイ 91ae-YW6P)
2023/11/21(火) 19:33:06.81ID:KWbYnmSX0 >>697
>標準入力(キーボード)から入力する方法があるはずだ、それはpythonではinput関数なんだ
必要に迫られてキーボード入力の方法を探してればそうなるし、そういう場面がなければ
>inputという関数があるんだ、それは入力を受け取る関数なんだ
になる
そんだけの話
>標準入力(キーボード)から入力する方法があるはずだ、それはpythonではinput関数なんだ
必要に迫られてキーボード入力の方法を探してればそうなるし、そういう場面がなければ
>inputという関数があるんだ、それは入力を受け取る関数なんだ
になる
そんだけの話
705デフォルトの名無しさん (ワッチョイ 29b1-ettz)
2023/11/21(火) 22:11:07.25ID:YnWTOShJ0 input()ってデバッグの時に使うな。
ある条件の時の結果を見たい時、input()入れておいて一旦プログラムを止めて結果を見る。
ある条件の時の結果を見たい時、input()入れておいて一旦プログラムを止めて結果を見る。
706デフォルトの名無しさん (ワッチョイ 5d54-fbAv)
2023/11/21(火) 22:29:10.41ID:LcVKgP510 まあ、普通は止まっても何も嬉しくないけど、seleniumでブラウザが動いてる時は、
止めて観察しないと作れない
止めて観察しないと作れない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★9 [ぐれ★]
- 高市首相答弁を“引き出した”立民・岡田克也氏が改めて説明「なぜ慎重な答弁をされなかったのか。非常に残念に思っている」 ★10 [ぐれ★]
- 「母の部屋に安倍氏が表紙の機関誌が」「(安倍氏が被害者なのは)不思議に思いませんでした」山上被告の妹が証言 ★2 [おっさん友の会★]
- 【独占スクープ】元TOKIOの松岡昌宏がSTARTO社を“退所”へ「国分のコンプライアンス違反」問題をきっかけに決断、12月から単独で活動 [Ailuropoda melanoleuca★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【悲報】日本、パンダ0にwwwwwwwwwwww高市さんありがとう🐼 [271912485]
- 中国報道、高市首相を「毒苗」と中傷😡 [399259198]
- 【高市悲報】🇨🇳中国「日本への報復措置? 他にいくらでも方法はある。 まだまだやめないよ」 😨😱 [485983549]
- 高市早苗、約1ヶ月でドル円・10円円安を達成 [256556981]
- 中国専門家の興梠一郎先生「実は中国が一番焦ってるのが総領事の暴言だ。中国は今かなり追い詰められている」 [904151406]
- (´・ω・`)おはよ
