X



Pythonのお勉強 Part66
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん (ワッチョイ 1f3b-7lFM)
垢版 |
2021/11/12(金) 07:48:11.11ID:vp8lzav70
!extend:default:vvvvv:1000:1024
!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://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その55
https://mevius.5ch.net/test/read.cgi/tech/1633070807/

〇前スレ〇
Pythonのお勉強 Part65
https://mevius.5ch.net/test/read.cgi/tech/1621749112/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
0004デフォルトの名無しさん (スププ Sd43-8hHT)
垢版 |
2021/11/12(金) 10:26:50.95ID:uCoii1J0d
乙py
0005デフォルトの名無しさん (スププ Sd43-8hHT)
垢版 |
2021/11/12(金) 10:28:18.45ID:uCoii1J0d
https://ideone.com/EAfGGN
エラーでない警告でないNaNにもならない
import numpy as np
a = np.array([[1,2,3],[4,5,6],[7,8,9]])
print(a)
print(np.linalg.inv(a))
0006デフォルトの名無しさん (ワッチョイ 4b10-PeR0)
垢版 |
2021/11/12(金) 12:51:52.82ID:dmTMZhmo0
>>5
先にフルランクかチェック
0007デフォルトの名無しさん (ワッチョイ 1536-+8FJ)
垢版 |
2021/11/12(金) 12:56:23.56ID:7GKDM9BX0
0008デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/12(金) 15:16:53.81ID:vp8lzav70
ファイルを指定するとそれを読み込んで加工したデータを返す
という関数を共通化したいのでclass化した

data = MyClass(file).get_data()
みたいな感じにして、処理は全部__init__()に書いて、get_data()はreturnするだけ

なんかすごくもにょるけど、どうするのがかっこいいだろう
0009デフォルトの名無しさん (ワッチョイ d55f-a5wI)
垢版 |
2021/11/12(金) 15:34:41.07ID:PCxC9/Mt0
>>8
__init__()の中身は最低限にして
内部的にデータ加工用にメソッド作ったほうが良くない?
__init__に処理全部書いたらテスト面倒やん

ユニットテスト書いてみて、「これ面倒すぎじゃね……?」ってなったら
なんかおかしいイメージがある
0010デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/12(金) 15:56:57.93ID:vp8lzav70
改造元に初期化部分みたいなのが無いので難しい
やるなら、ファイル名だけ__init__で保存して、実行兼取得のメソッドを呼ぶとか

結局クラス化はやめて、関数のままimportすることにした
importにクラスと関数が並ぶと、それはそれで気持ち悪い
0012デフォルトの名無しさん (アウアウウー Saa9-09aj)
垢版 |
2021/11/12(金) 18:37:46.63ID:JnXYuZWYa
>>8
genrator/iterator
0013デフォルトの名無しさん (ワッチョイ 1536-+8FJ)
垢版 |
2021/11/12(金) 19:25:30.81ID:7GKDM9BX0
まあ、無理してクラスにしなくても関数で処理した方がいいかもね。
クラスはカプセル化だから、与えたファイルに対して、

読み込む、書き込む、処理A(データ加算した結果を返す)、処理B(データ乗算した結果を返す)

みたいに、色々処理があるなら意味があるけど。一つだけの処理なら関数のがすっきりするかもね。
0014デフォルトの名無しさん (ワッチョイ 4b10-PeR0)
垢版 |
2021/11/12(金) 21:52:46.61ID:dmTMZhmo0
>>8
クラス化する理由が分からん
data=get_data(file)じゃいかんのか?
0017デフォルトの名無しさん (アウアウウー Saa9-09aj)
垢版 |
2021/11/13(土) 12:28:44.78ID:GR8tTV2xa
あなたはJava病です
御愁傷様です
0018デフォルトの名無しさん (ワッチョイ 4d33-U6JD)
垢版 |
2021/11/13(土) 13:09:30.79ID:0SlXheyX0
Javaに染まるとこうなるのか?
おっかねぇ
0019デフォルトの名無しさん (アウアウウー Saa9-XXAb)
垢版 |
2021/11/13(土) 16:14:47.55ID:ykLruLAta
基本的に関数で作ってから後からこれ、もっとまとめられるんじゃね?ってなってからクラスにする感じ

最初からクラスを作ったり難しい事をするとバグに気づきにくくなる
0025デフォルトの名無しさん (ワッチョイ a3ad-RdVS)
垢版 |
2021/11/14(日) 00:13:54.03ID:xnhKIbNQ0
>>21
おいオメー さっきからうるせえぞ
「設計する」「設計する」ってよォ〜〜〜
どういうつもりだてめー
そういう言葉はオレたちの世界にはねーんだぜ…
そんな弱虫の使う言葉はな………
0026デフォルトの名無しさん (ワッチョイ 4b10-PeR0)
垢版 |
2021/11/14(日) 01:20:39.27ID:L6aMQe6P0
>>24
Python使ってる時点でこれ以上気にする程遅くならんやろ
0028デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/14(日) 08:19:51.45ID:KajEYa8D0
再利用する必要が発生したらクラス化だな

この世の全てはオブジェクトなのであるー、とトップダウンでオブジェクト思考しようとしても無理で、
あんなもんは上等なライブラリに過ぎない
002919 (ワッチョイ 9b66-XXAb)
垢版 |
2021/11/14(日) 11:52:14.47ID:1vDNCXCc0
別にクラス出来ないとも言ってないし、Python速くしようと思えばだいぶ速くできるんだけども
0031デフォルトの名無しさん (ワッチョイ 63bd-/fak)
垢版 |
2021/11/14(日) 12:55:06.17ID:r+uJUw0M0
そういう部分って塵積だから実際に困ってからリファクタしたらいいんだけど
エンジニア思考的には誤差でも遅い選択肢をとりたくないよね
余計な仕組みが介在してると読み解こうとミスリードしがちだし
0035デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/14(日) 14:17:15.55ID:KajEYa8D0
コード上は明確に分離はしてないけど、処理としてはちゃんと分離していて、
ブロックとブロックの受け渡し部分にいくつかのグローバル変数がある

という状態のものを引数や戻り値に変更して、関数やクラスに切り分けて
すっきりさせるのは簡単
0037デフォルトの名無しさん (ブーイモ MM39-+EiL)
垢版 |
2021/11/15(月) 16:52:45.22ID:wu1uqKJYM
お前らってわざとミスリードな読み方するよね
0043デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/15(月) 20:36:51.02ID:trxoMZbv0
既に言語はあって、それで目的のことはできるだろうに、
それでも新たな言語を作る奴というのは何か振り切ってるので、
出来上がった言語もそれぞれに振り切っている

pythonは何ていうか、全てに中庸なんだよな
力を抜きすぎないけど凝りすぎない
0044デフォルトの名無しさん (ワッチョイ 1536-+8FJ)
垢版 |
2021/11/15(月) 22:22:57.49ID:vWqBfheN0
python は qt との相性が抜群なので、120%満足です。

力技でperl/Qtを使ってた頃がバカみたい w

perl と qt の相性は最悪。
0045敵基地攻撃能力保有 (ワッチョイ ddb0-lRA9)
垢版 |
2021/11/16(火) 01:10:42.53ID:iwzdrBCN0
ソ連の核は綺麗な核
ポル・ポトはアジア的優しさ
北朝鮮は地上の楽園
珊瑚自作自演事件
南京・慰安婦捏造
教科書書き換え「誤報」事件
朝日・武富士裏献金事件
拉致問題切り捨て
サイレント魔女リティ
風の息遣い
五味ボマー
変態新聞
村木局長犯人扱い
その他人民裁判ならぬマスコミ裁判は数知れず
そしてマスコミお得意の「報道しない自由」

これでも貴方は新聞を信用しますか
これでも貴方は新聞を購読しますか

よく考えて下さい
0046デフォルトの名無しさん (ワッチョイ d55f-4MRk)
垢版 |
2021/11/16(火) 01:17:12.27ID:lkEbsocr0
>>44
他のGUI toolkitと比べてQtの優位性って何がある?
最近GUIにもちょっと手を出そうとしてるんだけど、QtがヨサゲならQtopia触ってた身としては他の模索省いてこのまま進めたい
0049デフォルトの名無しさん (ワッチョイ 1536-+8FJ)
垢版 |
2021/11/16(火) 08:44:38.99ID:mgTVYsIn0
Qt-designerが使えるのが一番だな、GUIで画面が作れないとメチャクチャ大変から。
0050デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/16(火) 09:05:22.55ID:nevdyZlN0
excelとかxmlとかいろんなファイルを読んで別のファイルを生成するツールがあって
自分用で使うなら設定用のテキストファイルに
読み込むファイルや出力ファイルを記述する方式で十分なんだけど、
社内で共有して使う用にアホでも使えるGUIを用意したい場合、
何を使うのがいいだろう
0051デフォルトの名無しさん (エムゾネ FF43-09aj)
垢版 |
2021/11/16(火) 10:21:21.37ID:5D9mKY7bF
>>42
あっちのスレで引き留めて置いて欲しいんだが
色んなスレに拡散感染拡大して迷惑
それだけの吸引力も無いようだ
0052デフォルトの名無しさん (エムゾネ FF43-09aj)
垢版 |
2021/11/16(火) 10:24:40.56ID:5D9mKY7bF
>>39
ハゲにハゲと言うのはハゲであることは事実だが名誉棄損にはなるらしい
0054デフォルトの名無しさん (エムゾネ FF43-09aj)
垢版 |
2021/11/16(火) 10:31:29.98ID:5D9mKY7bF
>>50
設定ファイルのテンプレをexcelで造って
excelから設定を読み込めば喜ばれる
0055デフォルトの名無しさん (ワッチョイ e33b-7lFM)
垢版 |
2021/11/16(火) 11:15:16.57ID:nevdyZlN0
設定のexcelファイルはいいな
以前の設定の流用がしやすいし、操作にも慣れてる
説明も書き放題

ボタンをクリックするとpythonが起動する部分の設定が最難関だけど、
カレントにあると決め打ちでいいか
0056デフォルトの名無しさん (ワッチョイ a501-HhTJ)
垢版 |
2021/11/16(火) 13:50:36.62ID:dtmpxDpX0
誰もがエクセル使えると思わないほうがいいよ
UIとして使うにも限度があるしマクロ使うといちいち警告でるし複数PCからアクセスされると編集禁止とか余計なエラーが出てとにかくみんなイラつくだけ
UIデザインはHTMLにまかせてNode.jsなりで管理するのが楽かと
0059デフォルトの名無しさん (ワッチョイ 4dda-+EiL)
垢版 |
2021/11/16(火) 16:51:29.18ID:iw6chFt80
>>47
Qt6でようやくasync/awaitってな…
0060デフォルトの名無しさん (ワッチョイ 1536-+8FJ)
垢版 |
2021/11/16(火) 20:17:26.68ID:mgTVYsIn0
チラッとネットで見たけど、async/awaitって真面目に使うとなると面倒そうだね。

これって主に何に使うの?fork()して実行より、楽って事?
0061デフォルトの名無しさん (ワッチョイ 7501-09aj)
垢版 |
2021/11/16(火) 20:49:59.34ID:LLUTRYIZ0
コンピュータの性能を100%引き出し、最高のユーザー体験をお約束します。
0064デフォルトの名無しさん (ワッチョイ 7501-09aj)
垢版 |
2021/11/17(水) 02:16:34.56ID:TmFCV0x+0
寒冷地域と温暖地域の温度差が少なくなると対流が起きず地球が冷やされないからでは?
0065デフォルトの名無しさん
垢版 |
2021/11/17(水) 02:24:11.13ID:vyPEPYRk
あんまりpython関係ないかもだけど
ちょっとした設定情報をjson形式で保存してて
更新とかするときに
json.loads,json.dumpsとopenで丸ごと上書き
ってやってるんだけどダメかな?
(他の重要というかシステムに近い設定とかはenvとかDBで管理してる)
jsonじゃなくてそういうのに特化した規格ってあるのだろうか。
0072デフォルトの名無しさん (ワッチョイ ed5f-09aj)
垢版 |
2021/11/17(水) 10:36:40.12ID:wlAtkNPK0
jsonは無駄が多い
SQLiteでええやん
0078デフォルトの名無しさん (ワッチョイ ed5f-09aj)
垢版 |
2021/11/17(水) 14:16:22.07ID:wlAtkNPK0
print
0080デフォルトの名無しさん (オイコラミネオ MM71-K2Uy)
垢版 |
2021/11/18(木) 09:17:27.97ID:tpBIFt92M
最初からSQLite使えばいい。
ジャーナリングも標準であるし。
0084デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/19(金) 07:39:18.17ID:OFtNpZ320
3.8.5でwin8.1で動くものをwin7に持っていくと、
subprocess.Popenでエラーになって動かない

最新のpythonはそもそもwin7にインストールできない
win7で動くもっと新しいバージョンはある?
無い場合は何か解決方法はある?
0086デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/19(金) 08:01:48.17ID:OFtNpZ320
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません。

実行しようとしてるのはbatファイルで、.batまで書くとエラーにはならない
でもサブプロセスとしては動かなくて、処理はそっちに移行して終了してしまう
shell=Trueを付けても同様の動作になる
やりたいのは、いつ止まるか判らないコマンドをサブプロセスとして動かして監視すること
0089デフォルトの名無しさん (オッペケ Srdf-9iZ5)
垢版 |
2021/11/19(金) 10:47:38.84ID:fOs9i175r
この辺が時々問題になるから
じゃあwheelで取ってくるかと思い
pep425とかget_supportedとかやってみたら無くなってる

調べたらutils.compatibility_tagsとかになってた

それをふざけてcolaboratoryでやってみたら3.7までしか対応してなかった次第
0090デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/19(金) 11:03:06.60ID:OFtNpZ320
perlだとwin7の時点で既に固まってたので、環境が古くて困ることは無かったけど、
pythonはまだ進化を続けてるので、後方互換性はかなり怪しいな
本番環境側をwin10にしてしまおう
0100デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/20(土) 06:35:11.10ID:MZWWAxGE0
cp932で表せないファイル名のリストを作る

cp932にencodeしてみてエラーになったらそれを出力する、という方式なんだけど、
printするとエラーになってしまうので、リダイレクトでファイルにできない
仕方ないので、encoding="utf-8"でopenしてwriteしてるけど、
改行とか付けないといけないし、printで済ませたい

printしてもエラーにならない方法とか無いのかな
python2ならそのまま行けた
0102デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/20(土) 08:24:40.92ID:MZWWAxGE0
cp932のエンコードなんだからcp932でないものは通さない
という例外を認めない姿勢は厳密ではあるけど融通がきかないよな

漢字のファイル名も使えるのに、たまに'〜'とか変なスペースとかで
処理できないツールは大抵そういう厳密さで引っかかってる
ノーチェックで通してれば処理も減るしツールも使える側に倒れるのに
0103デフォルトの名無しさん (オイコラミネオ MM67-83eS)
垢版 |
2021/11/20(土) 11:19:01.66ID:/kqPbqrTM
なんとなく筋違いのことを言っているのだけはわかった。
0104デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/20(土) 12:11:56.36ID:MZWWAxGE0
既にファイルは開いてるんだから、そこにwriteするかprintでfile=を指定するかは、
処理上何も変わらない

知りたいのは、リダイレクトしてエラーにならない方法
os側は何が来ようがそのままファイルにリダイレクトするので、
標準出力に出す時点でのチェックを止めればいい
0111デフォルトの名無しさん (ワッチョイ 775c-+VBe)
垢版 |
2021/11/22(月) 04:46:02.24ID:X0+jYONh0
a = ['a', 'b', 'c']
if 'x' not in a: print('hello') #1
if not 'x' in a: print('hello') #2

#1はaに'x'が含まれていない
#2は(aに'x'がふくまれている)の否定

この二つは全く同じものだと考えて良いのでしょうか?
0112デフォルトの名無しさん (ワッチョイ 0610-0sbD)
垢版 |
2021/11/22(月) 07:57:31.23ID:sf/6XMlW0
同じ
0116デフォルトの名無しさん (アウウィフ FF3b-YgSv)
垢版 |
2021/11/22(月) 12:23:27.94ID:vmkVXbGEF
if a is not None:
if a not is None:
if not a is None:
Python は書き方が一つしかない()っていったのは誰?
0120デフォルトの名無しさん (ワッチョイ e763-9IQd)
垢版 |
2021/11/22(月) 13:58:34.46ID:WOttMYR/0
変数hogeに値がある場合はfugaにhoge(の値)を代入したい場合
if文や条件式を使わずに表現する方法ってある?
# python
hoge = "piyo"
fuga = hoge if hoge else ""

bashの変数展開みたいな書式ないよね
# bash
hoge="piyo"
fuga=${hoge:-""}
0123デフォルトの名無しさん (スップ Sd22-/zM5)
垢版 |
2021/11/22(月) 15:12:56.63ID:PHd8OvUid
Python初心者です
https://teratail.com/questions/251676
このページを参考にBytesIOを使おうと考えています

a = np.load(BytesIO(binary))
このように使った場合、BytesIOは不要と判断されて開放されるのでしょうか?

https://docs.python.org/ja/3/library/io.html
The buffer is discarded when the close() method is called.
とのことで、
stream = BytesIO(binary)
a = np.load(stream)
stream.close()
としたほうが良いのでしょうか?
0125デフォルトの名無しさん (ワッチョイ 0610-0sbD)
垢版 |
2021/11/22(月) 15:27:18.74ID:sf/6XMlW0
with BytesIO(binary) as stream:
__a = np.load(stream)

withブロックを抜けるとcloseされるから安全
0128デフォルトの名無しさん (ワッチョイ 067b-cxg+)
垢版 |
2021/11/22(月) 16:37:47.59ID:2MDgP0Vy0
>>120
よくわからんけど
その例だったらfuga=f’{hoge}’でもfuga=hogeでも同じじゃないの?
0129デフォルトの名無しさん (ワッチョイ ef63-9IQd)
垢版 |
2021/11/22(月) 16:54:42.37ID:v4k6kYue0
>>128
変数 hoge に "piyo" が入っているのは一例で、
例えば、hoge がもし None だった場合に ""(空文字)に変換されるので、
そのまま文字列(の一部)として出力したいときに使えるようになる
0131デフォルトの名無しさん (ワッチョイ ef36-QUTC)
垢版 |
2021/11/22(月) 19:05:57.15ID:lkDGIXBn0
まあ、自分しか見ないソースならいいけど見ずらくなりそだな、その書き方。
0132デフォルトの名無しさん (オイコラミネオ MM67-83eS)
垢版 |
2021/11/22(月) 19:36:29.24ID:5E3QcxihM
undefinedに対応できない、Falsyのうっかりとかあるから、褒められる書き方ではないわな。
0137デフォルトの名無しさん (ワッチョイ 062c-C1KD)
垢版 |
2021/11/23(火) 00:17:52.93ID:Ln8GWMq+0
>>120
Ruby では、and/or の遅延初期化をよく使う

p a = a || 1 #=> aが未定義のnil で偽なので、右辺が評価されて1

a = 2
p a = a || 1 #=> aが真なので、短絡評価で2。右辺は評価されない

p b = b && 1 #=> bが未定義のnilで偽なので、短絡評価でnil。右辺は評価されない

b = 2
p b = b && 1 #=> bが真なので、右辺が評価されて1
0138デフォルトの名無しさん (ワッチョイ a32c-pEHs)
垢版 |
2021/11/23(火) 00:44:36.44ID:xEN2JBOU0
>>136
それ
x = a if a else b
じゃね?
なんか避けたいって言ってるやつ
0140デフォルトの名無しさん (ワッチョイ 3bda-ObXG)
垢版 |
2021/11/23(火) 02:02:18.19ID:4MVUDnE90
ヌル合体とか欲しいよねPythonにも、
0142デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/23(火) 10:09:13.49ID:OzyPSNUz0
値が入っていることを想定しているけれど、想定外にNoneだった時の為のガード
みたいな使い方をしたいんだろうけど、
そういうのは明示的にifとかtryで書いた方がいいよな
0143デフォルトの名無しさん (オイコラミネオ MM67-83eS)
垢版 |
2021/11/23(火) 10:41:32.64ID:iYWDXWdAM
むしろ気をつけないといけないのは、想定外にTrueになってしまうケースだ。
たとえば、昔のDjangoのUserモデルのis_authenticatedは、プロパティじゃなくてメソッドだった。
0145デフォルトの名無しさん (ワッチョイ 5701-h5Ey)
垢版 |
2021/11/23(火) 13:32:03.52ID:KM4P0q2w0
結局は>>143の言うとおりなんよ…

我々はすでに知ってるんよ、中身がNullかどうかに注目した結果
普通にコード書くだけでトライキャッチスパムになってしまうJavaとかいう言語を…
0146デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/23(火) 13:40:48.37ID:OzyPSNUz0
エラーの情報をちゃんと持ってて、ずっと上流の呼び元までそれが伝わる言語あったな
なんだっけ

関数は引数に従って値を返します
という前提で普通の言語は設計されているけど、
関数は引数に従って値を返します。返さないこともあります
でないといけなかった
0147デフォルトの名無しさん
垢版 |
2021/11/23(火) 13:43:00.09ID:x4PI0/Sq
fastAPIのルーティングでデコレータ使わずに
app.add_api_route("/hoge", hoge, methods=["GET","POST"])
な感じで分離してやってみたけど、各リクエストメソッドでバリデーションが異なる時に躓いた

このまま共通のhogeだと互いのバリデーションclassが422 Unprocessable Entityを引き起こしてしまうので
app.add_api_route("/hoge", hoge, methods=["GET"])
app.add_api_route("/hoge", hogePost, methods=["POST"])
みたいにして新たにhogePost追加するという書き方に。

かと言ってデコレータ使うと
@app.get("/hoge")
def hoge():
@app.post("/hoge")
def hoge():
みたいにせっかくのルーティングの分離管理が二度手間かつ無駄に
というジレンマ

デコレータ使わない場合
>新たにhogePost追加する
というのが無難なのだろうか・・
0149デフォルトの名無しさん (オイコラミネオ MM67-83eS)
垢版 |
2021/11/23(火) 15:18:14.11ID:nqaaqo53M
app.add_api_route("/hoge", hoge, methods=["GET"])
app.add_api_route("/hoge", hogePost, methods=["POST"])
これでいいんじゃね。関数として分けておけば、
validatorもデコレータ(ファクトリ)にしてみたり、いろいろ柔軟にできる。
@validate('GET')
def hoge()
@validate('POST')
def hogePost()
0150デフォルトの名無しさん
垢版 |
2021/11/23(火) 16:09:24.71ID:x4PI0/Sq
>>148
今はpydanticなvalidor使ってるけどクラス変数の評価前に区別する方法があったりするのだろうか
>>149
うんとりあえずはそんな感じでリクエストメソッド分だけ用意することにした

d
0154デフォルトの名無しさん
垢版 |
2021/11/24(水) 18:01:26.90
キーと値がセットになった各値をどう扱うかによって
インスタンス化するか、辞書にとどめておくか、ライブラリ使うか
変えるかなぁ
0157デフォルトの名無しさん (ワッチョイ a32c-pEHs)
垢版 |
2021/11/24(水) 22:49:34.83ID:Ph9UZvc+0
通常そういうデータってどっかのクラスのメンバ変数で辞書かnamed tupleじゃねえか?
keys:names のみのクラスってどういう状況であり得る?
0158デフォルトの名無しさん (アウアウウー Sa3b-bFQI)
垢版 |
2021/11/25(木) 00:14:54.89ID:Mg+a9DvFa
集計目的ならdefaultdict
0163デフォルトの名無しさん (ワッチョイ c23b-58y4)
垢版 |
2021/11/25(木) 09:23:53.44ID:1AK1NI0N0
いいんじゃない、の加減なんだよな

しなければならない / 是非するべき / した方がいい / しなくてもいい / しない方がいい / しない
そのへんの温度感が経験で違うのだろう
0166デフォルトの名無しさん (ワッチョイ bf1d-5qWq)
垢版 |
2021/11/26(金) 22:16:46.96ID:nRTAMUqI0
https://docs.python.org/ja/3/library/urllib.request.html#urllib.request.urlopen
> HTTP および HTTPS URL の場合、この関数は、わずかに修正された http.client.HTTPResponse オブジェクトを返します。

class HTTPResponse(io.BufferedIOBase)
で__exit__()はオーバーライドされてないから受信データにアクセスできなくなるだけ。
意図してる通りだろうけど
> より高水準のHTTPクライアントインターフェースとして Requestsパッケージ がお奨めです。
だし、説明が追加されることはなさそう。
0168デフォルトの名無しさん (ワッチョイ 9fad-8r9J)
垢版 |
2021/11/27(土) 18:48:32.12ID:Ce5RxaUa0
pygameってみんな使ってないのか?
せっかく二冊ほど読み終えたのに動かそうと思ったら
3.8じゃうごかないとか言われて途方に暮れてるんだが・・・

すなおにゲームはunityつかえってことか・・・・
0173デフォルトの名無しさん (ワッチョイ b72c-pIXc)
垢版 |
2021/11/27(土) 23:14:16.59ID:bPwHecSK0
pygame2やれ
0178デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/11/28(日) 09:26:25.30ID:6NVlX2It0
pythonが使いこなせるかどうかの能力なんて、
各種ライブラリのことをどこまで知ってるかだからなあ
言語仕様の部分はすぐに全員カンストするから差が出ない
標準ライブラリに限定して問題作ると、もっと便利な方法があって現実的でなくなる
0179デフォルトの名無しさん (ワッチョイ ff68-MeBs)
垢版 |
2021/11/28(日) 09:39:22.33ID:o94Sh6rb0
そうだね
そもそもpython自体は簡単だし
ライブラリを使いこなす知識の方が重要だよね

認定試験無いよりはマシだろうけど
認知度が低いから結局試験の内容を説明しないとイケないんだよな
情弱処理持ってる方が話は早い
0181デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/11/28(日) 14:43:59.37ID:6NVlX2It0
改行区切りで書かれたファイルがあって、これを改行無しでリストに読み込みたい
そして、リストを改行区切り形式でファイルに書き出したい

内包表記で改行を削って、書く時にはjoinで改行付けるとかすればできるけど、
もう一段スマートにやれないかな
0183デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/11/28(日) 16:22:25.89ID:6NVlX2It0
読み込み側は、
f.read().splitlines()
ですっきり書けた

この逆をする関数があればいい
リストの各要素を改行で区切って文字列に変換するような関数
ってそれは単にjoinの特殊ケースに過ぎないから、無いのも頷ける
0185デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/11/28(日) 17:39:15.04ID:6NVlX2It0
あるべき姿はpickle
でもテキストエディタでも開きたいので、jsonとかyamlとか
それでも編集しにくいので、どうせリストだしと改行区切りまで落とすと、
スマートな手段が無くなる
0186デフォルトの名無しさん (ワッチョイ d736-5r7x)
垢版 |
2021/11/28(日) 17:57:10.63ID:9rjB7eJM0
自分でjsonEditor作るのは面白いよ。中級クラスのレベルかな。
データも list >> dict >> dict >> list >> list >> dict >>int 見たいにnest構造になってるから編集しようとすると、そこそこ扱いも難しいし。

画面構成から考えれば、いい練習問題になるよ。
0187デフォルトの名無しさん (ワッチョイ ffbb-DHDw)
垢版 |
2021/11/28(日) 19:57:15.81ID:Wh0Bw3X30
>>180
ありがとうございます!


Pythonエンジニア基礎認定試験を受けようと思うのですが、
スッキリわかるPython入門を導入書として使ってからPythonチュートリアルをしようと思うのですが、同じように勉強して合格された方はいますか?
0188デフォルトの名無しさん (ワッチョイ 9fad-39v0)
垢版 |
2021/11/28(日) 21:05:28.72ID:jvvYPFKj0
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
クソチョンはウンコを食べる糞食人種w
ゲリ便をじゅるじゅると
うまそうに食ってるw
0192デフォルトの名無しさん (ドコグロ MM4f-7Kcm)
垢版 |
2021/11/29(月) 06:26:32.46ID:8tyLAOgdM
>>191
writelines(lines)
行区切り文字は追加されないので、書き込む各行の行末に行区切り文字を含ませるのが一般的です。
https://docs.python.org/ja/3/library/io.html
って書いてあるからダメでしょ

そもそもそのリンク先
text = [
"メロンn",
"イチゴn",
"みかんn",
"スイカn",
"ぶどうn"
]
なんて書いてる時点で信用できない
0193デフォルトの名無しさん (JP 0H8b-pIXc)
垢版 |
2021/11/29(月) 09:20:02.45ID:LowbA3aSH
テックアカデミー(笑)
0195デフォルトの名無しさん (アウアウウー Sa5b-lY6R)
垢版 |
2021/11/29(月) 11:03:42.15ID:uzcK9QD5a
Perlの文法も気持ち悪いな。
シェルスクリプトかよ。
Pythonのやり方はJavaかC++からの輸入だな。
0196デフォルトの名無しさん (ワッチョイ 9f01-DInY)
垢版 |
2021/11/29(月) 11:04:55.76ID:Tbj9SxrO0
>>192
ダメじゃねえかwすまんこ
0197デフォルトの名無しさん (ワッチョイ bf66-D8AZ)
垢版 |
2021/11/29(月) 11:29:59.53ID:FdW61dzG0
>>193
クソのくせにやたら検索に引っかかってくるからウザイ
0201デフォルトの名無しさん (スププ Sdbf-UPmv)
垢版 |
2021/11/29(月) 12:04:08.22ID:pAg5RKMOd
昔はインスタントPython、インスタントハッキングがjpy公式にあったから
そこで初心者は学習できた
あと結局pythonは公式ドキュメントとライブラリーリファレンス読み込むことで大抵の問題は解決する
個人的な問題を解決したかったらそれなりにキャリアのある個人ブログ探すのが安定する
0202デフォルトの名無しさん (ワッチョイ bf6a-5qWq)
垢版 |
2021/11/29(月) 12:16:52.32ID:BKJFnTwg0
>>195
Perlはシェルスクリプトの置き換えが目的そのもので順当
PythonはLuaのようなアプリ内スクリプティングな応用が当初多かったし
記述が簡便なのが特徴じゃない?なんで所々厳格でなくて歪なのが残念な点
というかJavaとは同世代だし
0205デフォルトの名無しさん (ワッチョイ bf6a-5qWq)
垢版 |
2021/11/29(月) 23:33:33.84ID:BKJFnTwg0
コード上改行はLFで統一できてる。
何も指定せずテキストモードでopenしたらCRLF→LFの変換はしてくるし
Windowsコンソールに出力したらLF→CRLFも透過的に行う。
バイトストリーム用にos.linesepも用意されてる。
0210デフォルトの名無しさん (オイコラミネオ MMab-umM0)
垢版 |
2021/11/30(火) 06:39:04.04ID:oWvAOz19M
>>205
自動なのがかえってめんどくさい。
0216デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/11/30(火) 07:35:53.88ID:uWG/s7m50
なんでリストが[]でタプルが()なんだろうな
一番使うものが一番普通な方が収まりがいいのに

辞書が{}なのも、別に[]を使っても中にkey:valがあったら辞書と判るのに
中身が無い時に区別付かないけど、そのくらい何とかなるだろ
0217デフォルトの名無しさん (ワッチョイ ff10-1CBA)
垢版 |
2021/11/30(火) 08:13:31.92ID:JFviu3vk0
確かに辞書とsetは同じ{}だしな
0220デフォルトの名無しさん (オッペケ Srcb-1CBA)
垢版 |
2021/11/30(火) 09:29:09.44ID:BeJPAIX2r
>>216
タプルは()、は少し違うな
正確にはカンマがタプルを生成する
a=1,2
もタプルになるから
0229デフォルトの名無しさん (ラクペッ MM6b-EmFN)
垢版 |
2021/11/30(火) 11:48:15.66ID:QYuq9tUEM
netmikoというライブラリを使って
ネットワーク機器のログを定期的に取るようにしてるんだけど、
そのログの任意の行にある値が閾値を越えたらslackに通知させる
仕組みを作りたいんだ。
どっか参考にできるサイトない?
0230デフォルトの名無しさん (ワッチョイ b72c-pIXc)
垢版 |
2021/11/30(火) 13:06:16.43ID:q2Lbl4Ky0
pyエンジニア試験はゴミだぞ
古典的な教本商売。無価値
名札が欲しい、とか、仕事で言われたとかなら仕方ないけど
0232デフォルトの名無しさん (ワッチョイ 9f55-6Gdn)
垢版 |
2021/11/30(火) 13:39:36.66ID:OYiX8qDe0
応用技術者試験って意味ありますか?

昔受験して一応合格したのですが、あんな試験にパスしたからといって、実務には全く役に立ちそうにありません。
IT関連の実務は経験したことがありません。
0234デフォルトの名無しさん (JP 0H8b-pIXc)
垢版 |
2021/11/30(火) 14:02:00.50ID:6g3UGVsgH
実務経験ないのに実務に役立ちそうにありません、とな
もう少し考えてから釣り糸たらせよボンクラ
0235デフォルトの名無しさん (ワッチョイ 9f55-6Gdn)
垢版 |
2021/11/30(火) 14:07:37.43ID:OYiX8qDe0
例えば、ネットワーク関連の問題が応用情報技術者試験には出題されます。

ネットワークをいじったことすらありませんが、試験の問題は簡単に解くことができます。
0237デフォルトの名無しさん (ワッチョイ d736-5r7x)
垢版 |
2021/11/30(火) 15:02:04.18ID:TfmLZpQ00
youtubeでラズパイをpythonで制御できる。って動画をみて面白うそうだなって思ったけど。。
真剣に考えるとやることがないww

LEDをフラッシュさせてもしょうがないしねw
0245デフォルトの名無しさん (ワッチョイ ff10-1CBA)
垢版 |
2021/11/30(火) 21:08:34.16ID:JFviu3vk0
「半分の人間は中央値以下」
バカみたいな文だが忘れがち
0258デフォルトの名無しさん (ワッチョイ ff10-1CBA)
垢版 |
2021/12/01(水) 00:42:15.22ID:X46if3HQ0
>>252
ロバスト統計ってご存知無い?
0259デフォルトの名無しさん (ワッチョイ ff2c-mgIj)
垢版 |
2021/12/01(水) 01:33:15.78ID:J8+WBzZ00
山本太郎の「れいわ」が躍進したのは、
25年の自公政権で、所得の中央値が108万円低下したことを、暴いたから

世界中で全体未聞の、GDP が上がらなかった国。
ほぼ全員を貧乏にした与党

消費税のほとんどが、福祉に使われなかった。
法人税の穴埋めに使われた

でも、こういう事を知らないから、選挙では自公が圧勝する
0262デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/12/01(水) 09:34:10.31ID:pw8MGucb0
配列の範囲外を参照したら0を返してくれたら楽に書ける
初期化してない変数は0や空文字だとしたい

そういうのは許さないのがpythonの思想なんだろうけど、
クラスライブラリとか、「よく判らんけどいい感じにやってくれる」に満ち溢れてると思うんだよな
0266デフォルトの名無しさん (スププ Sdbf-UPmv)
垢版 |
2021/12/01(水) 10:53:16.07ID:kOoI/dimd
なんていうか、出来るからといって
何でもやっていいわけではないよな…?

型宣言して型無視したり、変数名と全然違う振る舞いのコードもかけるけど
やっていいかどうかを現場で議論してるんだよな?
0268デフォルトの名無しさん (エアペラ SDbf-+6Er)
垢版 |
2021/12/01(水) 11:13:00.90ID:+DQyoA+ZD
中央値に意味が無いと言えるのは中央値と平均値の乖離が小さい場合くらいで、
そんな状況はほぼない
日本全体の平均年収が436万円であるのに対して、日本全体の年収の中央値は370万円
これの意味分かるか?
0269デフォルトの名無しさん (ブーイモ MMcf-39v0)
垢版 |
2021/12/01(水) 11:49:03.99ID:kM+Jjoc8M
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
0279デフォルトの名無しさん (ワッチョイ 9f3b-RK7S)
垢版 |
2021/12/01(水) 20:15:58.72ID:pw8MGucb0
モンティ・パイソンのスペイン宗教裁判
NOBODY expects the Spanish Inquisition!
Our chief weapon is surprise...surprise and fear.

単数で始めたのにandで繋げてしまって文法が破綻する、という部分が面白いのに、なかなか伝わらない

Our two weapons are fear and surprise...and ruthless efficiency.
言い直して複数形にしたけど、わざわざtwoを付けて3つ言うという部分はもはや惰性
0285デフォルトの名無しさん (ワッチョイ 9f55-6Gdn)
垢版 |
2021/12/02(木) 17:15:47.74ID:OJ+Rt/5p0
Pythonを使った機械学習の本を読んでいます。

仮想環境を使うことを強く推奨すると書いてあります。

いままで、AnacondaのPythonを使ってきましたが、仮想環境を一切使ってきませんでした。

今から、仮想環境を作ってそれを使っても何も問題はないですか?
0287デフォルトの名無しさん (ワッチョイ 9f55-6Gdn)
垢版 |
2021/12/02(木) 17:29:59.68ID:OJ+Rt/5p0
>>286
ありがとうございます。
趣味でやっているだけなので、必要性が実感できません。
仮想環境を作るとしても結局、最新のライブラリを使っていくだけになるのは目に見えています。
0290デフォルトの名無しさん (ワッチョイ 1797-r9i4)
垢版 |
2021/12/02(木) 19:45:26.75ID:KxC58LYE0
>>284
因果関係がおかしいんだけどな。
プログラミングスキル以外が高い人(たとえは科学技術スキルやデータサイエンススキル)が、参入障壁が低いpythonに群がってるだけであって、pythonだけできたって仕方ない。
OpenCV,TensorFlow,Pytorch,jax,scipy,sclkit-learn,numpy,pandasあたりが使える人が年収高いというだけで、
それはPythonだけできても使える話ではない。
RDBや数学、統計の知識が必要なのだから。
0292デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/03(金) 07:16:52.31ID:9BdS8doY0
マルチコアを活かしてくれないツールを高速化する為に、
複数を非同期で同時に走らせたい
ただ、無制限に subprocess.Popen すると負荷が100%に張り付いてやばいので、
同時起動数の上限を設定したい

で、まあpoll()がNoneかどうか見ながらsleepしながらで動くんだけど、
同じことをやりたいケースがちょこちょこあるので、自前ライブラリ化を考える
でも、そんなもんは既に誰か作ってるのでは? という気がするんだけど、どっかにある?
0293デフォルトの名無しさん (ワッチョイ 4c63-rVqr)
垢版 |
2021/12/03(金) 08:38:51.44ID:mlmp5wts0
オーバーヘッドを気にしないなら
multiprocessing.pool.Poolで任意サイズのプロセスプールを作ってそこからPopenする
threadingにも用意して欲しいんだが, 残念ながら無い

あとFutureでよければThreadPoolExecutorもワーカー数を指定できる
こちらはスレッドベースだ
0294デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/03(金) 09:23:02.26ID:9BdS8doY0
やっぱりそのへんになるよね

たすきに長すぎな感じで、そこまで高度なことをしたい訳でもない
IOがネックになるからそこで詰まらないように並列処理したら効率的になるだろう、という思想だけど、
もっと原始的な、4コアあるのに1コアしか使ってないじゃんというレベルで、ネックの場所が違う
0297デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/03(金) 16:07:39.39ID:9BdS8doY0
100個のファイルに処理1を実行して、次に処理2を実行して、という場合、
並列でやるとしても処理1が全て完了してから処理2に取り掛かった方が安全で、
それは割と簡単にできる

処理順の依存関係まで指定してえいやっと全部一気に渡すと、済んだ人はどんどん先に進める方式だと、
効率最大でやってる内容は魔法みたいになる

キューに入れてもいいタイミングはユーザが判断してね方式だと、そんな怖いことはやりたくない
このへんの技術はとっくに枯れてる訳でもなくて、pythonのバージョンが上がるにつれて
よりシンプルに書けるようになってるっぽいので、いちばんいけてる奴だけ使いたい
0303デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/03(金) 21:05:26.85ID:9BdS8doY0
依存関係はケースバイケースすぎて処理1と処理2が終わってないと処理3ができない、
みたいなのは
p3(p1(), p2())
みたいに引数の関係で書いて、それがうまい具合に遅延して評価されればいい
その時点で結構凄いことだけど、処理10まであって、
p10(p9(p8(p7(p6(p5(p4(p3(p2(p1(
って書くのかと思うと、それも嫌

そのへんは既に解決済みでもっとかっこよく書けるらしいけど、理解できてない
0305デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/04(土) 13:56:24.80ID:OXNHy6KQ0
デフォルトは自動で0になってて欲しい系の代表は defaultdict だな
pythonをperl化してしまう悪魔のモジュール
いわゆるautovivification
声に出して読みたいプログラミング用語
0307デフォルトの名無しさん (ワッチョイ 4601-cP/Y)
垢版 |
2021/12/05(日) 22:33:04.61ID:69iYFx7F0
東熱でデビューまだ?
0308デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/05(日) 22:50:01.39ID:gzedxBTO0
tipsとか説明してる動画がいろいろあるけど、
どう考えても動画で見るよりも文字のサイトで見た方が効率いいな
アニメーションで説明するならまだしも、コード映して音声で説明するだけだし
0309デフォルトの名無しさん (ワッチョイ 9f01-YCX0)
垢版 |
2021/12/06(月) 09:58:30.45ID:bmhBnFtY0
その通り
でも見るより聞くほうが頭に入るっていう人はいる
そして動画なら普通は飛ばされるちょっとしたエラーへの対応なんかも映されてたりしていい
そういう意味じゃまぁまぁ分かってるぐらいのやつが試行錯誤しながらやってる動画が一番いいかもしれない動画なら
それと小技100選みたいなのは動画のほうがサクサク見れていいなって思った
0312デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/06(月) 10:25:23.41ID:KAUrNTmh0
ん、今のとこ理解が追いついてない
と一時停止するのはまだいいとしても、
そこはもう判ったからくどく言わなくていい、
という部分だけ早送りするのは困難
0315デフォルトの名無しさん (ワッチョイ 5c01-uWE3)
垢版 |
2021/12/06(月) 15:04:28.27ID:V3VnXKsr0
python始めたての頃、日本語でpythonを解説してる動画があったんで見てみたけど、
内容の良し悪し以前にタイプ音が耳障りすぎて見てられなかったな
カチャカチャ…ッターン!!ってまんま昔のミサワの画像みたいな
0318デフォルトの名無しさん (ワッチョイ b701-Z6Z9)
垢版 |
2021/12/06(月) 19:03:22.19ID:fIaDMlsG0
python **.sy ディレクトリ1 ディレクトリ2

としてコマンドライン引数2個を使い
ディレクトリ1から特定条件のファイル・ファイルサイズを抽出し
外部プログラムを利用して処理しディレクトリ2の場所にファイル名でフォルダを新規作成しそこにアウトプットしたいのですが

これは難しいですか?
半日かけて色々こねくり回してもファイルを抽出するところまでしかできませんでした
0328デフォルトの名無しさん (ワッチョイ 0333-Z6Z9)
垢版 |
2021/12/06(月) 22:13:57.72ID:rLSBlzT30
>>326
やろうとしてることを段階的に分けて書いてみて
0329デフォルトの名無しさん (ワッチョイ b701-Z6Z9)
垢版 |
2021/12/06(月) 22:22:51.24ID:fIaDMlsG0
>>328
1.ファイルの入ったフォルダをコマンドライン引数1に設定する

2.フォルダ内から特定の拡張子かつ一定以上のファイルサイズのものを抽出する

3.抽出したファイルを外部ツールにかける

4.外部ツールにかけた結果をコマンドライン2引数のディレクトリ内に展開する

5.フォルダは4の指定ディレクトリ内にファイル名で新規作成する

こんな感じです
for + os.walkとendswithでファイル一覧を抽出できてもその抽出したファイルをその先に持って行ったり
外部ツール利用の方法が全くわかりません
0333デフォルトの名無しさん (ワッチョイ f2da-m+op)
垢版 |
2021/12/06(月) 23:24:01.09ID:uKiaXwwm0
シェルの方が早そうだね
0334デフォルトの名無しさん (ワッチョイ 0333-Z6Z9)
垢版 |
2021/12/06(月) 23:29:51.84ID:rLSBlzT30
>>329
>1.ファイルの入ったフォルダをコマンドライン引数1に設定する
>2.フォルダ内から特定の拡張子かつ一定以上のファイルサイズのものを抽出する
>5.フォルダは4の指定ディレクトリ内にファイル名で新規作成する
2と5の間はとりあえずスキップして、ここだけの実装は可能?
0337デフォルトの名無しさん (ワッチョイ e1af-Oe9c)
垢版 |
2021/12/07(火) 00:14:41.57ID:ebSZa7bB0
>>332
バッチてことはWin環境なんかな
Pythonで解決した後でもいいからPowerShellもしらべてみて
習得にあるていど時間かかるけどやれることが広がるよ
あとワイルドカード展開するのはコマンドじゃなくて通常はシェルの仕事
0340デフォルトの名無しさん (ワッチョイ 0c01-zWK8)
垢版 |
2021/12/07(火) 01:31:43.51ID:q8J3SSC40
find -execかfind xargsが鉄板だと思うけど
外部コマンドのstdout/stderr出力をPython側でキャプチャする必要なければそんなにややこしくもない

for path in Path(search_dir).glob(pattern):
__if path.stat().st_size > 1000:
____dir_path = Path(output_dir).joinpath(path.stem)
____dir_path.mkdir()
____new_path = dir_path.joinpath(path.name)
____os.system(f'echo "{path}, {dir_path}" > "{new_path}"')

(同じファイル名があった場合の対処はしてない)
0343デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/07(火) 07:18:25.74ID:Jl0mhXXA0
使うのがffmpegの場合、他にも考えるべきことが大量にあるので、
一括ではうまく行かないんだよな

何が来ても自分好みのファイルに変換する万能スクリプトを一つ書いて、
それに処理するファイル一覧を食わせる方式に落ち着いた
0348デフォルトの名無しさん (ワッチョイ 9f01-YCX0)
垢版 |
2021/12/07(火) 11:49:17.79ID:G7aiaFNj0
ガチでヌーブなんですけどrequestsとbeautifulsoupでスクレイピングやってます
waitかけないとバンされるよと言われましたがどうすればいいですか?
requests.get()でtimeoutは今書きましたがforで同じサイトの似たようなページに何度もアクセスするのでサーバーへの負荷はすごいと思います
これに対してどうすればいいですか?
0351デフォルトの名無しさん (ワッチョイ b701-Z6Z9)
垢版 |
2021/12/07(火) 12:22:57.09ID:P3Md4odo0
>>342
for curDir, dirs, files in os.walk(sys.argv[1]):
for file in files:
if file.endswith("〇〇"):
os.path.getsize(ts)
print(os.path.join(file))

これでファイルは取得できるのですがそのファイルを参照する方法がわからず・・・
0354デフォルトの名無しさん (オッペケ Sr5f-zXcE)
垢版 |
2021/12/07(火) 13:09:23.97ID:A/pvwvVNr
参照って何をしたいのか知らないけど、ファイル名取得出来てるんだからオープンするのも他のコマンドの引数に与えるのも可能では
0355デフォルトの名無しさん (ワッチョイ d02c-oWHg)
垢版 |
2021/12/07(火) 13:32:14.96ID:lMfMxSoR0
>>352
Ruby では、glob に拡張子も指定できる

# 絶対パスのディレクトリ名の後ろに、*.txt を付ける。
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/**/*.txt"

separator = "-" * 30 + "\n"

Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
puts "#{ separator }#{ full_path }\n#{ separator }" + File.read( full_path )
end
0361デフォルトの名無しさん (ワッチョイ b701-Z6Z9)
垢版 |
2021/12/07(火) 21:43:22.87ID:P3Md4odo0
すんげえ苦労したけどなんとか形になりました
バッチなのですれ違いすみません
もっと勉強して最適化していきます
わかってしまえばすごくシンプル

set Tool="Tool"
set template="template"

for %%f in (%1\*.〇〇) do (
mkdir "%2\%%~nf"
%Tool% -i %%f -o "%2\%%~nf\%%~nf.dgi" -a -e
del "%2\%%~nf\%%~nf.log
)
0363デフォルトの名無しさん (ワッチョイ 0333-Z6Z9)
垢版 |
2021/12/07(火) 22:58:20.49ID:I8679kEJ0
嘘だろ
0364デフォルトの名無しさん (ワッチョイ 6eda-9WRP)
垢版 |
2021/12/07(火) 23:00:21.81ID:oV2OkogX0
クソワロタ
0367デフォルトの名無しさん
垢版 |
2021/12/08(水) 01:37:02.26
from datetime import datetime, timedelta
import pytz
dt=datetime.now(pytz.timezone("Asia/Tokyo"))
print(dt)
print(dt.today())# timezone変更 不適用
print(dt.time())# timezone変更 適用
dt_utc=dt.astimezone(pytz.timezone("UTC"))
print(dt_utc)
print(dt_utc.today())#
print(dt_utc.time())#

#2021-12-08 01:34:40.591170+09:00
#2021-12-07 16:34:40.592894
#01:34:40.591170

#2021-12-07 16:34:40.591170+00:00
#2021-12-07 16:34:40.598068
#16:34:40.591170


.today()てtimezone変更引き継いで?くれないんですね・・
0368デフォルトの名無しさん (ワッチョイ b701-Z6Z9)
垢版 |
2021/12/08(水) 02:08:39.64ID:uCheTDCk0
Pythonで組みなおしています
デフォルト関数も多そうだし条件分岐とかが簡単そうですが
外部ツール起動に対するオプション調査中です
ファイル名を取得してその名前でディレクトリを作成するところまではできました

import sys
import os
import subprocess

for i in os.listdir(sys.argv[1]):
file, ext = os.path.splitext(i)
os.mkdir(sys.argv[2]+file)
0370デフォルトの名無しさん (ワッチョイ b701-Z6Z9)
垢版 |
2021/12/08(水) 13:19:52.67ID:uCheTDCk0
外部ツールに抽出ファイルをかけるのが難しいですね

%Tool% -i %%f -o "%2\%%~nf\%%~nf.〇〇〇" -a -e
この処理をPythonでどうやるのか?
subprocess.runあたりを使うっぽいのですがその後の書き方や処理方法が不透明
ターミナルにパイプして処理する?とかになるなら結局バッチかパワーシェルで
統一した方が早いのでしょうか
0371デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/08(水) 13:33:21.38ID:5HATgl/c0
標準出力を取得して、とかやるとそれ用のことを書かないといけないけど、
実行させるだけなら超シンプル

subprocessから取得したデータをパイプでffmpegに渡して、
とかやらせてちゃんと動くとちょっと嬉しい
0381デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/08(水) 17:02:23.43ID:5HATgl/c0
無駄な処理は増えるけど
m1 = re.〜
m2 = re.〜
としておいてから、
if m1:
elif m2:
なら書ける

代入が評価もできる仕組みは、書き間違えてバグるからというよりは、
単純に読みにくくなる
0384デフォルトの名無しさん (ワッチョイ ce3b-uxRD)
垢版 |
2021/12/08(水) 19:30:48.14ID:5HATgl/c0
入力行をsplitして取り込む
arg1, arg2, arg3 = line.split('\t')
みたいな感じ

でも、入力がちゃんとしてなくて数が多くても少なくてもエラーになる
そこはよしなにやって欲しい
足りない部分はNoneで埋めて、余った分は捨てていい

というええかげんなことをしようと思ったら、ええかげん関数を作るしかないのかな
0388デフォルトの名無しさん (ワッチョイ a601-CYhY)
垢版 |
2021/12/09(木) 02:15:13.68ID:WjLFVkiy0
すみません、質問なのですが、
newline= ってpython3じゃないと使えないのですか?
0390デフォルトの名無しさん (ワッチョイ a601-CYhY)
垢版 |
2021/12/09(木) 02:29:06.32ID:WjLFVkiy0
してる
0391デフォルトの名無しさん
垢版 |
2021/12/09(木) 05:36:26.42
"newline= を使う"ってなに?
文字列の中に改行コードは使えるか
って意味じゃないよね
それだとそっこーぐぐったら出てくるし。
なんかのライブラリやらフレームワーク的な話なのだろうか
0399デフォルトの名無しさん (ワッチョイ a601-CYhY)
垢版 |
2021/12/09(木) 10:42:48.76ID:WjLFVkiy0
>>394
ありがとうございます!!!
0403デフォルトの名無しさん (ブーイモ MMba-rU9g)
垢版 |
2021/12/09(木) 12:37:45.04ID:LJEXrIakM
>>401
指定した要素がない状況を考慮する必要があれば階層ごとに自分でハンドリングが必要だからgetだけじゃダメなんだよね

safe navigation operatorがあればlodashのgetやrubyのdigのようなのが簡単に作れる

近いところでglomがあるけど処理を分割したり、つなげたりできないから使い勝手が悪い
0414デフォルトの名無しさん (ワッチョイ d2b1-PP5C)
垢版 |
2021/12/09(木) 20:11:20.59ID:lReNouCA0
すいませーん、入門したばかりなので低次元な質問ですけど教えてください。
DataFrameで行番号100以上のdf["hoge"]の値を全てNoneに置き換え、
って、どうやるんでしょう?
whereを使って列の値をキーにして置き換えみたいな記事はあちこちにあるんですけど、
うまく見つけられなくて…。
0415414 (ワッチョイ d2b1-PP5C)
垢版 |
2021/12/09(木) 20:20:57.64ID:lReNouCA0
一応、出来たみたいです…。

df_subset = df2.query("index > 100")
df2.loc[df_subset.index, "hoge"] = None

2ステップになっちゃいました…。
もっと楽なやり方ってあるんでしょうかね?
0416デフォルトの名無しさん (ワッチョイ 0a10-QDcv)
垢版 |
2021/12/09(木) 21:01:27.61ID:/XpwR6ak0
df.iloc[df.index>100,”hoge”]=None
0417デフォルトの名無しさん (ワッチョイ 0a10-QDcv)
垢版 |
2021/12/09(木) 21:01:57.63ID:/XpwR6ak0
間違えた
df.loc[df.index>100,”hoge”]=None
0419デフォルトの名無しさん (ブーイモ MMcf-+02Y)
垢版 |
2021/12/10(金) 01:50:16.79ID:1XQlciewM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
0424デフォルトの名無しさん (ブーイモ MMcf-+02Y)
垢版 |
2021/12/10(金) 14:44:01.80ID:dPm+RZp8M
クソチョンw
0428デフォルトの名無しさん (ラクッペペ MM8f-NC0B)
垢版 |
2021/12/10(金) 22:33:35.69ID:CbPmL2LvM
javaって言えば今日は大騒ぎだったなw
影響範囲で言えば2年前のstruts2 RCE祭りより酷い

pythonのloggerは大した機能なくてハァ〜〜ってため息が出ることが何度かあったけど
今日だけはチープな実装でホントよかったと思ったわ
0429デフォルトの名無しさん (ワッチョイ bfda-ULLt)
垢版 |
2021/12/11(土) 01:52:28.49ID:ZK42YBmJ0
>>428
穴ってレベルじゃねえよな
0433デフォルトの名無しさん (テテンテンテン MM8f-XjgK)
垢版 |
2021/12/11(土) 07:47:37.23ID:w4ZoaW0AM
すいません。Pythonプログラムでpyxelを使ったゲームを作ったんですが、それを友達に共有したいのですが、どうすればいいですか?
zipとかファイルで送りましたが起動できないと言っていました。
0435デフォルトの名無しさん (テテンテンテン MM8f-XjgK)
垢版 |
2021/12/11(土) 07:53:43.18ID:w4ZoaW0AM
exeにしたんですが、クリックして開いたと思ったらすぐ消えてしまいました。
また、環境はpyxelをインストールするだけでいいのですか?
0441デフォルトの名無しさん (ワッチョイ dfb1-p36F)
垢版 |
2021/12/11(土) 15:51:33.44ID:y0niRYqP0
>>438

{}でブロック定義する言語の場合、
今どきの初学者キッズ達の書くコード、まじでインデント滅茶苦茶ですからね。
『しつけ』という観点においてはPythonのインデント強制が矯正になっていいんじゃないかと思います。
0442デフォルトの名無しさん (ワッチョイ df3b-ryH7)
垢版 |
2021/12/11(土) 15:54:49.98ID:V5XtH56o0
対応する括弧へのジャンプ機能でブロックの先頭に飛べて便利なのに

上に探して行って、今のインデントレベルに最初に何か書いてあるところまでジャンプ
みたいなマクロが要る
0446デフォルトの名無しさん (ワッチョイ 4733-8/hI)
垢版 |
2021/12/11(土) 16:34:44.72ID:lBTOlMPp0
>>443
インデントするかしないかなんて癖とか慣れみたいなもんだし、根性論がどうとかじゃないだろ
それこそ、インデントに限らず変数名のつけ方とかコメントの書き方とかも同じだよ
実際に書きながらじゃないと身につかん
0447デフォルトの名無しさん (ワッチョイ 7fcf-zDwW)
垢版 |
2021/12/11(土) 17:21:54.24ID:E/VsNyVn0
>それこそ、インデントに限らず変数名のつけ方とかコメントの書き方とかも同じだよ
>実際に書きながらじゃないと身につかん

それが根性論。
わかりやすい変数名は自動じゃ付けられないがインデントは自動でできる。
限りある時間と頭は前者に注力するのが合理的ってもんだろう。
0449デフォルトの名無しさん
垢版 |
2021/12/11(土) 17:41:42.05ID:yK8FRSrA
根性が嫌ならもうコーディングは他人にすべてを任せて貴重な時間を経営やコミュニケーションスキル学習へ回した方が合理的
0450デフォルトの名無しさん (ワッチョイ 4733-8/hI)
垢版 |
2021/12/11(土) 17:43:26.35ID:lBTOlMPp0
>>447
わざわざフォーマッタとか使わせるなら最初からまともな開発環境なりエディタなり使わせるわ
0464デフォルトの名無しさん (ワッチョイ 47da-Z7Vi)
垢版 |
2021/12/11(土) 20:16:46.10ID:LVLvmhJV0
意味のない議論だよ
0465デフォルトの名無しさん (ワッチョイ 7fcf-zDwW)
垢版 |
2021/12/11(土) 20:27:04.83ID:E/VsNyVn0
>>463
さすがにブロックや折り返しを正しく認識できない状態で強行するフォーマッタはないだろうし
正しく認識できている状態でフォーマットするならそれが変わることもないはず。
0467デフォルトの名無しさん (ワッチョイ 7f10-LoL2)
垢版 |
2021/12/11(土) 21:04:38.10ID:hm3+CMnM0
こういう話題は盛り上がるんだなあ
自転車置き場の議論だっけか
0480デフォルトの名無しさん (ワッチョイ ff7d-Z7Vi)
垢版 |
2021/12/12(日) 03:26:26.60ID:/VVPjIN/0
まーた意味不明な議論してる
0483デフォルトの名無しさん (ワッチョイ df3b-ryH7)
垢版 |
2021/12/12(日) 17:07:01.91ID:cgjbpF8I0
何かのコンファレンスでいろんな国の人が集まって英語で話している
でもみんな母国語は違う言語

なんかpythonはそんな感じで、他に慣れた言語もあるけどpythonでも書く
だから、いろんな方言が混じる
0484デフォルトの名無しさん (ブーイモ MMff-mLf8)
垢版 |
2021/12/12(日) 17:18:41.81ID:s1cq8TlgM
Pythonって言語というかコード自体に対する関心の乏しい人が多くて、
どっちかというとプログラミングオタクみたいなのより目的志向の人がクールだとされるような空気があるんだよな
だからPythonの流儀とか気にしないで無茶苦茶やる人が多い
最近ではJava専のSIerなんかも参戦し始めてて混迷に拍車がかかっている
0494デフォルトの名無しさん (ワッチョイ 6736-xNO7)
垢版 |
2021/12/13(月) 20:31:56.30ID:bmYI6DhG0
ts
0495デフォルトの名無しさん (ワッチョイ 6736-xNO7)
垢版 |
2021/12/13(月) 20:40:34.40ID:bmYI6DhG0
C++だとクラスを継承して関数を再定義するとき、ヘッダーをみればvirtual関数か見分けがつくじゃん。
pythonだと普通に関数を書けば再定義できちゃうから、見分けが難しいよね。
特に、継承の継承とかしてると更に見分けがむずかしい。

これって、自分で関数名を工夫するとかしか手はないよね?
0499デフォルトの名無しさん (ワッチョイ 4701-p36F)
垢版 |
2021/12/14(火) 02:21:09.13ID:7S3LFIel0
NFTアートが1300万円で落札。VRアーティストせきぐちあいみ「誰もがまだ見ぬ世界を創りたい」

ゴーグルの先に広がるのは、何もない真っ暗な空間。しかし、両手に持ったコントローラーを
振りかざすたびにバーチャルの空間に色が現れ、天地が生まれ、次第に豪華絢爛な異世界が立ち上がる。
その内部は360度から堪能することができ、地を這うことも空を駆けることも自由自在。
VRアーティスト・せきぐちあいみの創作活動は、まさに天地創造だ。
VRと出合ったことで人生が大きく動きだし、今では海外からも注目される存在になった、せきぐち。
VRで人は何を体験できるのか?
そして、彼女のデジタルアート作品に1300万円もの価値をつけたNFTの新たな可能性とは?
0501デフォルトの名無しさん (JP 0H4f-i5II)
垢版 |
2021/12/14(火) 10:10:15.90ID:DUXpvdCJH
変数名スレと迷ったんだけどpython+tkinter限定の話の気がするのでこっちに…

class App():
__def __init__(self):
____self.app = MyWidgets()
____self.app.mainloop()
____self.app.protocol("WM_DELETE_WINDOW", self.on_close)

__def on_close(self):
____global flg
____app.destroy()
____flg = False

if __name__ == '__main__':
__flg = True
__while flg:
____app()

アプリケーションのリセットを実装するためにこういう書き方を考えたんだけど
1 : 問題ないですよね?
2 : flgの適切な変数名はなんですか?
isAlive? loop?
0502デフォルトの名無しさん (JP 0H4f-i5II)
垢版 |
2021/12/14(火) 10:11:31.22ID:DUXpvdCJH
失礼
on_close()内のappはself.appです
0504デフォルトの名無しさん (ワッチョイ 6736-S64G)
垢版 |
2021/12/14(火) 11:12:22.41ID:0CLeNCku0
class App():
__def __init__(self):
____self.app = MyWidgets()
____self.app.mainloop()
____self.app.protocol("WM_DELETE_WINDOW", self.on_close)

こういうのて全角スペースを使うと見易くなるよ。

class App():
 def __init__(self):
  elf.app = MyWidgets()
  self.app.mainloop()
  self.app.protocol("WM_DELETE_WINDOW", self.on_close)

AAの感覚ねw
0505デフォルトの名無しさん (ワッチョイ a701-4A0X)
垢版 |
2021/12/14(火) 11:21:48.60ID:e0HER7LA0
・のほうがまだ見やすいよ
しかし空白文字を制御に使うなんてどこの誰が考えたんだよ

class App():
・def __init__(self):
・・self.app = MyWidgets()
・・self.app.mainloop()
・・self.app.protocol("WM_DELETE_WINDOW", self.on_close)
0509デフォルトの名無しさん (ワッチョイ a701-R9TG)
垢版 |
2021/12/14(火) 11:59:00.43ID:1bs/ZtcG0
どう考えてもこの掲示板がヤバイのにPythonが悪いって発想になる人が一定数いる辺りプロジェクトの破綻ってのは人類がいる限り絶対に避けられないんだろうな

Pythonに型定義が必要だと思ってるとかも...
0510デフォルトの名無しさん (ワッチョイ df3b-ryH7)
垢版 |
2021/12/14(火) 12:04:36.90ID:+EVhZbH90
変数名に全角文字も使えるけど、全角スペースは使えないんだよな
だから、pythonも全角スペースをスペースの一種だとは思ってる
strip()でも削除される
でもインデントには使えない
0511デフォルトの名無しさん (ワッチョイ df01-c3Ov)
垢版 |
2021/12/14(火) 12:23:23.14ID:1PoShsV10
>>501
Appクラスにstart, stop, restartメソッドを実装して使い分ければmainにflgやwhileは必要なくなる

現状のループ実装ならflgの名前はshould_restartとかかな
ただrestartするのがデフォルトの動きなら真偽を逆にしてshould_exitとかにしたほうが意図が伝わりやすい
0513デフォルトの名無しさん (ワッチョイ 7fbb-tKfi)
垢版 |
2021/12/14(火) 12:27:24.63ID:VQ9CDzMD0
どう考えてもこの掲示板がコード貼り付けにむいてないだけなのにこの掲示板の機能が悪いって発想になる人が一定数いる辺りプロジェクトの破綻ってのは人類がいる限り絶対に避けられないんだろうな
0515デフォルトの名無しさん (ワッチョイ 7f2c-KtwX)
垢版 |
2021/12/14(火) 12:55:35.00ID:vLIDlmgW0
5ch は、命令によって表示を変えられる掲示板で、
単に文字列として表示しているだけの掲示板じゃない

色々な命令を受け付けるから、危険な命令を書き込めないようにしている
0516デフォルトの名無しさん (ワッチョイ 872c-p36F)
垢版 |
2021/12/14(火) 13:00:57.82ID:6KyJPdov0
>>511
import tkinter as tk

class App():
__def start(self):
____self.root = tk.Tk()
____self.btn_1 = tk.Button(self.root, text='stop', width=10, command=self.stop).pack()
____self.btn_2 = tk.Button(self.root, text='reset', width=10, command=self.reset).pack()
____self.root.protocol('WM_DELETE_WINDOW', self.stop)
____self.root.mainloop()

__def stop(self):
____self.root.destroy()

__def reset(self):
____self.root.destroy()
____self.start()

app = App()
app.start()

こういう感じですかね
init経由しないの初めてなのでリセット時にきちんと初期化できてるのか不安
0517デフォルトの名無しさん (ワッチョイ df3b-ryH7)
垢版 |
2021/12/14(火) 13:08:39.77ID:+EVhZbH90
Tk使うと途端に思考がイベントドリブンになるんだよな

コンソールに出力してちらつくのが嫌だから、
単に表示用のウィンドウが欲しいだけなのに、
実行開始ボタンみたいなのを追加した方がスムーズに作れる
0520デフォルトの名無しさん (ワッチョイ 6736-S64G)
垢版 |
2021/12/14(火) 13:44:53.68ID:0CLeNCku0
Tkか。
perlで使ってたな。
で、本格的なGUIを作りたくてQtに移行した。でもperl/Qtの使いにくさは異常ww

pythonに移ったらQtとの相性が抜群で驚いた。
本格的にGUIを使うならQtがいいと思う。少なくともTkはダメだな。

python/tkの現在のレベルがどの程度がしらんけどw
0521デフォルトの名無しさん (ワッチョイ df3b-ryH7)
垢版 |
2021/12/14(火) 14:16:08.35ID:+EVhZbH90
手軽にGUI化したいか、ちゃんとやりたいかだよな

同じモジュールで簡単に作れるし凝ったものも作れるといいけど、
どちらかに特化してるので結局いろいろ手を出すことになる
0522デフォルトの名無しさん
垢版 |
2021/12/14(火) 17:36:00.21ID:EGYSSl+K
おれはpythonのGUIは全部webアプリに作り直したわ
個人でやる分にはwebアプリの方が使い勝手が良いというところに帰結した
一番の理由は仮想環境で安定して完結出来る、すぐにデプロイできるという点だったかな
(まぁその考えもまた変わるかもしれないけど)

GUIで作ってた頃はPySimpleGUIってライブラリがめちゃ直感的で使いやすかったな
0523デフォルトの名無しさん
垢版 |
2021/12/14(火) 17:39:17.97ID:EGYSSl+K
ライブラリというかフレームワークだった
他に何か補助的なライブラリをインストールするとかは必要なく
pysimpleguiだけでほとんどできた記憶
0524デフォルトの名無しさん (アウアウウー Sa6b-hAzQ)
垢版 |
2021/12/14(火) 17:46:18.30ID:gY9N+5Mqa
人名の、外字をreportlabでPDFに出力したいのだけど、□になってしまいます。
PDFにフォント埋め込んで表示させる事はできないのでしょうか?
ちなみにエクセルからPDFに書き出すとちゃんと表示させる。
0525デフォルトの名無しさん (ワッチョイ df3b-ryH7)
垢版 |
2021/12/14(火) 17:56:05.21ID:+EVhZbH90
特定の文字種だけ読めなくなってるpdfとかたまに見るな
あれは実は作った本人は読めてるのかもしれない
つまり、pdf自体は正しくて表示する側の問題かもしれない
0532デフォルトの名無しさん (ワッチョイ 67ad-hAzQ)
垢版 |
2021/12/14(火) 21:54:50.72ID:3xSGx3Cz0
自作外字でも、エクセルからPDF書き出ししたらちゃんと見ることが出来るんだわ。windows10のエクセルで書き出したPDFがMacでちゃんと外字も見れるので出来るはずなんだ。
で、それをreportlabでやりたいんだけどやり方が分からんのです。
0535デフォルトの名無しさん (ボンボン 078b-hAzQ)
垢版 |
2021/12/15(水) 13:08:06.22ID:XQabx2r27
>>534
これはできる。
ただ、表示する文字列に自作外字が入ると□になる。
なので、pdfに外字の情報を埋め込まなきゃいけないと思うのだけど、やり方が分からないのです。
誰か教えて下さい。
0537デフォルトの名無しさん (ワッチョイ dfad-1bVk)
垢版 |
2021/12/15(水) 14:18:04.11ID:0wo19brQ0
Jupyter Notebookに本のサンプルプログラムを
表示させたとき
in ソース
out 処理結果
って表示させられるんですけど
in ソースの部分だけを抜き出したくて困ってます
その部分だけ選択してコピペするには手間がかかります

質問なんですが
Jupyter Notebookで
out の部分を非表示にするいい方法ないですかね?
0539デフォルトの名無しさん (ボンボン 078b-Bxpu)
垢版 |
2021/12/15(水) 14:32:36.32ID:NuYoj3Sh7
>>536
えーと、windowsの場合、EUDC.TTEとEUDC.EUFの二つのファイルがシステム標準の外字となっており、すべてのフォントにリンクできます。ですので、MS明朝でも、MSゴシック
でも同じ外字が出力されます。
ので、MS明朝をベースにして作った外字をMSゴシックで表示させると、外字だけ明朝っぽい表示になりその他はゴシックに
なります。
要するに外字のデータはフォントファイルに保存されているのではなくて、別ファイルからリンクが張られているのです。
なお、フォント個別に外字ファイルを作成して個別にリンクさせることもできますが、そっちをreportlabでやってもダメでした。
ExcelからPDF吐いたらちゃんと埋め込まれるのに・・・。
誰か教えて。
0548デフォルトの名無しさん (ワッチョイ dfad-qOh4)
垢版 |
2021/12/16(木) 23:22:11.35ID:ufzc6HJ10
>>539
予め決められた標準フォント以外は埋め込むPDF規格が
PDF/x-1a
ISO 15930
です。
印刷業界でよく使われてます
reportlabがサポートしてるか調べてみて

まあghostscriptで簡単に変換できますが
0555デフォルトの名無しさん (ブーイモ MM17-QNbc)
垢版 |
2021/12/20(月) 11:23:14.07ID:sxGOmJ2JM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
0557デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/20(月) 14:14:55.57ID:sn5XhEky0
BeautifulSoupでスクレイピングしようとしてるけど、全然楽にならない
素性のいいhtmlからさっくり持ってくるなら簡単に書けるけど、
そういうのはベタで書いても楽

素性の悪いhtmlから複雑なことしようと思うと、小回り効かなくて何も使わずに書くしかない
楽になるケースが無い
0559デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/20(月) 15:25:46.48ID:sn5XhEky0
対象がごちゃごちゃしてて、やりたいことも単純じゃないなら、
どの言語で書いても簡単には行かないと思うな

htmlでやれることが多すぎるので、その中からよくあるやりたい事を選んでも、
大抵はそれでカバーできない
0561デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/20(月) 17:13:58.90ID:sn5XhEky0
d = {}
print(d['a'])
これは当然エラー

from collections import defaultdict
d = defaultdict(dict)
print(d['a'])
これならok

print(d['a']['b'])
でもこれはエラー

d = defaultdict(lambda: defaultdict(dict))
こうしておくとエラーにならない

print(d['a']['b']['c'])
でもこれはエラー

なかなかperlみたいには行かない
0563デフォルトの名無しさん (ワッチョイ 4a36-qxFW)
垢版 |
2021/12/20(月) 18:49:40.73ID:S8OedEgF0
buf = {}
buf['a'] = []
buf['a'].append(10)
buf['a'].append(20)

え、これいいの? って思うんだけど通るんだよねw
0566デフォルトの名無しさん (ワッチョイ a301-izju)
垢版 |
2021/12/20(月) 19:43:53.41ID:ceMzU2Ib0
圏論で言えばAUTOだから、良いのかな??って。
0567デフォルトの名無しさん (ワッチョイ 4a36-qxFW)
垢版 |
2021/12/20(月) 20:09:27.72ID:S8OedEgF0
そうかw
Cから入った自分は、え、これは無理だろ。って感じてしまうw

list = []
list.append(10)
list.append(20)
buf['a'] = list

なら納得いくが。
まあ、最近は昔ほど抵抗は無くなったがw
0569デフォルトの名無しさん (ワッチョイ 4f33-g56a)
垢版 |
2021/12/20(月) 20:39:54.46ID:4NByXHes0
Cから入ると組み込み関数名を変数に使うことに抵抗なくなる?
それとも>>567が特殊なの?
0571デフォルトの名無しさん (ワッチョイ 4a36-qxFW)
垢版 |
2021/12/20(月) 21:03:52.20ID:S8OedEgF0
数値はいいとして、普通はアドレスが格納されるから
list配列に値をいれて、そのlistのアドレスをdictに格納する。ってのが手順だよね。

まあ、いいか。気にしないでww
0572デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/20(月) 21:23:50.21ID:sn5XhEky0
宣言が必要と思うのは、入れ物を用意しないとと思うからで、
int i
と書くと整数の入れ物が、
float i
と書くと実数の入れ物が用意される

でもpythonは、いきなり
i = 1
と書くと整数が入るし、
i = 'abc'
だと文字列が入る

自由すぎやろと
何かの哲学に違反してねえかと

実際には、オブジェクトの入れ物でしか無いから、中身は何でもいいんだよな
0575デフォルトの名無しさん (ワッチョイ a301-izju)
垢版 |
2021/12/20(月) 21:41:02.13ID:ceMzU2Ib0
カレーの匂い。
0576デフォルトの名無しさん (ワッチョイ a301-izju)
垢版 |
2021/12/20(月) 21:47:39.96ID:ceMzU2Ib0
カレー味のウンコの匂い。
0579デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 22:08:39.93ID:LaroeVvp0
アルゴリズムの問題で解けないやつがあるんですが、ここで聞くのはスレチですか?
0583デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 22:16:38.83ID:LaroeVvp0
Pythonの解くことを前提に与えられた問題なのですが、多分Python以外でも解けると思います。
一応投下させてください。
[問題]
n人の人間の身長が与えられる。
このn人を1列に並ばせるとき、「各々の人間において、自分より身長が高い人間が自分より前に1人以下である」という条件を課した際に、並び方は何通りあるか求めよ。
ただし、同じ身長の人間が複数人いるものとする。

方針だけでもいいので、教えて頂けると幸いです。
0586デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 22:20:53.13ID:LaroeVvp0
>>585
友人から相談された問題なのですが、確かにテスト問題の可能性がありますね。
確認しておきます。
0588デフォルトの名無しさん (ワッチョイ ea55-MOPJ)
垢版 |
2021/12/20(月) 22:29:28.14ID:2brWBIvz0
>>583

>ただし、同じ身長の人間が複数人いるものとする。

この条件はどう効いてくるのでしょうか?
n 人の身長を h_1, …, h_n とするとき、 #{h_1, …, h_n} = n となる場合をなぜ除外しているのか?
0589デフォルトの名無しさん (ワッチョイ ea55-MOPJ)
垢版 |
2021/12/20(月) 22:32:40.36ID:2brWBIvz0
もちろん、この問題は速いアルゴリズムじゃないと駄目なんですよね?
0590デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 22:33:02.10ID:LaroeVvp0
>>587
151, 150, 153, 152 …(cm 略)
の並び方も考えられるので、ソートを崩していいのは1人限定とは限らないと考えました
0591デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 22:34:52.54ID:LaroeVvp0
>>588
分からないです…
少し問題が複雑になるんですかね?
0592デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 22:36:20.06ID:LaroeVvp0
>>589
速さに関する制約はないと思いますが、流石に全並びを考えてカウントするのは違う気がします
0593デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/20(月) 22:56:10.96ID:sn5XhEky0
なるほど
ざっくりソートされてれば細かい部分で無数に違反してていいのか
151 150 153 152 153
でもokなので、同じ身長を1つに縮退させることがそもそも無理

これは、とりあえず片端からやってみて、違反したらバックトラックして、
みたいに数えていくしかないのでは
0594デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/20(月) 23:12:03.13ID:LaroeVvp0
>>593
やっぱり、ほぼ全通り考えるしかないんですかね…

あと関係ないですけどアルゴリズムの世界でも縮退って言葉使うんですね笑
0595デフォルトの名無しさん (ワッチョイ 3b01-jbri)
垢版 |
2021/12/20(月) 23:28:55.61ID:nWR8HCa10
数学問題やね

まず同じ身長の奴がいない場合の並び方はA(N)通りとすると
A(1)=1
A(2)=2=2^1
A(3)=4=2^2
A(4)=8=2^3
...
A(N)=2^N通り

同じ身長の奴がいる場合はちょっと複雑
これをB(N)通りとすると
N人の中に150cmが3人いる場合
B(N)=A(N-2)*(3*2)
N人の中に150cmが3人と152cmが2人
B(N)=A(N-3)*(3*2)*(2)
0597デフォルトの名無しさん (ワッチョイ 2a01-7mHJ)
垢版 |
2021/12/20(月) 23:54:28.57ID:2rYNI2GJ0
分割統治でやって欲しいんじゃないの

ソート済みの状態から一番高い身長のやつをピボットにして左半分と右半分の問題に分割
右半分は同じ身長のみ入れ替え可能
左半分は一番高い身長のやつをピボットにしてさら左半分と右半分の問題に分割
左半分が1人になったらピボットの位置を移動させる
0598デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/21(火) 00:03:41.16ID:0/0mhKq10
>>595
A(N)=A(N-1)*2の証明を考えてみましたが、思いつきませんでした…
あとB(N)の計算例が何故そうなるのか理解できません🙇
0599デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/21(火) 00:04:48.55ID:0/0mhKq10
>>597
具体的な操作のイメージが分からないです…
0601デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/21(火) 00:54:36.36ID:0/0mhKq10
>>600
コードの理解に努めましたが、難しいです…
ヒントを頂けないでしょうか🙇
0603デフォルトの名無しさん (ワッチョイ 3b01-jbri)
垢版 |
2021/12/21(火) 07:07:48.53ID:meTPjnW+0
>>598
A(N)=A(N-1)*2の証明
時間がないから手っ取り早くヒント

背の高さでソートされた順列(a,b,c,...,x,y,z)があるとする
ここで一番背の高いzの位置に注目するのがポイント

zが一番後ろにいる場合を (abc...xy)zとする
ここで(abc...xy)の並び方の数をZ(N,1)とする
Z(N,1)=A(abc...xy)=A(N-1)

zが後ろから2番目にいる場合は
(abc...x)zy 
Z(N,2)=A(abc...x)=A(N-2)

整理すると
Z(N,1)=A(N-1)
Z(N,2)=A(N-2)
...
Z(N,N-1)=A(2)
Z(N,N)=A(1)

よって
A(N)=A(1)+A(2)+....A(N-2)+A(N-1)
変形して
A(N)-A(N-1)=A(1)+A(2)+....A(N-2)
すなわち
A(N)-A(N-1)=A(N-1)
A(N)=2*A(N-1)
0606デフォルトの名無しさん (ワッチョイ b3ad-j66Y)
垢版 |
2021/12/21(火) 10:22:33.61ID:0/0mhKq10
皆様、大変勉強になりました。
ありがとうございました。

この問題を聞いてきた人は、友人と言っても連絡先も知らない、週一でしか会わないクラスメイトなので、確認には少々時間がかかると思います。
>>604
この方の言う通りなので、ご教示はここまでで大丈夫です。

繰り返しになりますが、ありがとうございました。
0610デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/22(水) 09:15:13.63ID:/f6dB3Se0
new_list = old_list.append(1)
old_list.append(1)

new_str = old_str.replace('aaa', 'bbb')
old_str.replace('aaa', 'bbb')

new_list = old_list.sort()
old_list.sort()

new_list = old_list.sorted()
old_list.sorted()

どっちが正しいでしょうと、pythonをよく知らない人に聞いても正しく答えられない
個別に覚えるしかないというのは辛い
0612デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/22(水) 09:51:11.06ID:/f6dB3Se0
pandasだと、基本的には非破壊で、
inplace=True
を付けると破壊的に処理する

sortみたいに、replaceとreplacedを用意するというのでもいい
デフォルトがどちらかに寄ってるべき
0614デフォルトの名無しさん (スププ Sd8a-UH91)
垢版 |
2021/12/22(水) 11:57:09.52ID:BoOcuWzad
破壊的というか、参照渡しだから同じもの見てるだけ
値で渡したかったら、つまり別々のものを見るようにしたかったら
空スライスまたはコピー関数で値をコピーするか
ミュータブルに一度変換して対象オブジェクトに再変換するかでいい

こう考えたらnewしたいな、と感じるときもある
だから関数設計するときも紛らわしさを考慮してリターンするオブジェクトは
関数内で新しく作ったものを出すようにした方が誤りが減る
0615デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/22(水) 17:46:32.03ID:/f6dB3Se0
ヘッダ
中身
ヘッダ
中身
...

というデータがあって、中身の数は不定
これをそれぞれのブロック毎に処理したい
シーケンシャルにやると、とりあえず次の行を読んでみて、
ヘッダだったらプールしておいたブロックを処理して、ブロック切り替え
そして、全部読み終わった時にもプールしてあるブロックを処理する

いかにも嫌なので、一度全部読み込んで、部分リストに分割して処理したい
でも、普通にやると部分リスト分割のところで、とりあえず次の行を読んでみて、になるので、
リストを一発でsplitしたい
splitのlist版みたいなのは無い?
厳密にはセパレータも残すのでsplitとも違うけど
0617デフォルトの名無しさん (ワッチョイ eb2d-soN7)
垢版 |
2021/12/22(水) 22:30:11.21ID:inR83KhS0
splitも次の要素をみてから判断してるにちがいないけど
じぶんのコードで書きたくないってこと?
ヘッダや中身も同時にパースできるし同じく正規表現(re.finditerあたり)推す
0624デフォルトの名無しさん (ワッチョイ 4f33-g56a)
垢版 |
2021/12/22(水) 23:48:36.46ID:5pcWLKDp0
>>615
本来、そのデータを受け取る側はどうやって処理してるの?
0627デフォルトの名無しさん (ワッチョイ 3b01-jbri)
垢版 |
2021/12/23(木) 06:08:20.68ID:W/nbBjGX0
>>622
処理速度とか気にしないなら自前で書いたほうが融通が利くだろうよ
でもヘッダとコンテンツというブロック構造は頻繁に現れるデータ構造だから一般化したものを使いたいね

この形はDB形式そのもの
sqlに落として使うのもいいかもな
0629デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/23(木) 07:39:18.70ID:df0C7LZ20
listをsplitしたいという質問に対して、答えが判った今なら、
そんなもんはnumpyで一発でできるよ、という簡単な問いにしか見えない

ごちゃごちゃ変な回答してる人はどうせnumpy知らないんでしょ?
0632デフォルトの名無しさん (ワッチョイ eada-6rN2)
垢版 |
2021/12/23(木) 13:59:07.99ID:4BWUo4Pe0
ちょっと教えてほしいんだけど、print関数で出力される文字列を
変数に入れたいんだけどどうしたらいいだろう?
printと似たようなstringを返す関数を作れるならそれでもいいんだけど
カンマ区切りで複数パラメータを渡せる宣言がわからない
0636デフォルトの名無しさん (ワッチョイ 4f33-g56a)
垢版 |
2021/12/23(木) 14:49:22.66ID:qzls8RBa0
>>632
>>> def f(*args): return args

>>> f('abc', 'def', 'ghi')
('abc', 'def', 'ghi')

こういうことではなくて?
0639デフォルトの名無しさん (アウアウエー Sae2-RmhO)
垢版 |
2021/12/23(木) 16:46:24.32ID:wVsy9mb3a
msg = 'a,b,c'
print(msg)
values = msg.split(',')

こういうこと?
0643デフォルトの名無しさん (ワッチョイ be10-w0pt)
垢版 |
2021/12/23(木) 19:33:07.91ID:lssFGhba0
>>629
numpy覚えたてみたいでかわいい
0646デフォルトの名無しさん (ワッチョイ ca3b-YqKX)
垢版 |
2021/12/23(木) 22:51:15.20ID:df0C7LZ20
import numpy as np
l = [-1, 1, 2, 3, -1, 1, 2, -1, 3, 4]
header_position = list(filter(lambda x: l[x] == -1, range(len(l))))
for a in np.split(l, header_position):
print(a)

-1だとヘッダだとする
ヘッダ位置のリストをsplitの第2引数に渡すと、その場所でsplitしたarrayのlistが得られる
先頭のは要らないので捨てる
0648デフォルトの名無しさん (ワッチョイ 5d36-rb6c)
垢版 |
2021/12/24(金) 06:48:08.59ID:v3ycTrGF0
よく、more_itertoolsなんて知ってるね。
0655デフォルトの名無しさん (ワッチョイ 83b1-j5Xv)
垢版 |
2021/12/26(日) 11:22:31.20ID:p3QxfO7m0
先日Pythonに入門したビギナーですけど、おおむねPythonは便利ですね。
プログラミング言語というよりはどっちかっていうと利便性の高い道具といった感じです。
道具なのでこれで業務システムは作りたくないけど、これがあると業務のめんどくさいところをいろいろ楽にできるといったイメージ。
加えてライブラリ類が超強力なのばっかりなので『そりゃ、これは流行るわ』と思いました。

いまんとこの不満はスタックトレースがASCじゃなくてDESCならよかったなーっていうのと
switch〜caseがほしいなーっていうのと、
三項演算子ほしなーっていうのくらいですね。
0661デフォルトの名無しさん (アウアウエー Sa93-8t7q)
垢版 |
2021/12/26(日) 17:15:39.98ID:Xt1KUxKEa
いい感じのGraphQLライブラリないかなと探してて見つけたTartifletteが最強だった
さらっとGraphQLいじりたいならgrapheneがあるけどこれ微妙なんだよね
Tartifletteマジおすすめ
0669デフォルトの名無しさん (ブーイモ MM26-QwP1)
垢版 |
2022/01/01(土) 06:44:25.87ID:96//zQriM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw
クソチョンはウンコを食べる糞食人種w
朝鮮人はゲリ便をじゅるじゅると
うまそうに食うw
0675デフォルトの名無しさん (ワッチョイ e52c-45BR)
垢版 |
2022/01/01(土) 18:30:18.48ID:p7FpLgzA0
windowsの隠し属性などの判定で

import os
from stat import (
FILE_ATTRIBUTE_SYSTEM as S,
FILE_ATTRIBUTE_HIDDEN as H,
FILE_ATTRIBUTE_READONLY as R
)

path = '\foo\bar'
if os.stat(path).st_file_attributes & (S | H | R):

というような書き方を見たんですが
&から先って何してるんですか?
ビット演算? このカッコとパイプはなんですか?
0676デフォルトの名無しさん (ワッチョイ e52c-45BR)
垢版 |
2022/01/01(土) 18:35:36.69ID:p7FpLgzA0
attr = os.stat.st_file_attributes
res = (attr & S) + (attr & H) + (attr & R)
と同じ?
0678デフォルトの名無しさん (ワッチョイ 862d-M739)
垢版 |
2022/01/01(土) 21:00:31.24ID:CvAU7HCi0
ファイル属性にSまたはHまたはRが設定されているか判定している
0681デフォルトの名無しさん (ワッチョイ e52c-k4O9)
垢版 |
2022/01/02(日) 10:16:57.70ID:nOoY0tiG0
>>679
おービットマスク
ようやく検索のとっかかりが分かりました
ありがてえ
0682デフォルトの名無しさん (ワッチョイ e23b-Gc8h)
垢版 |
2022/01/02(日) 15:56:44.33ID:nL0v86D90
strの中に'aaa'か'bbb'か'ccc'が含まれている場合
という条件をスマートに書きたい

一致だったら
if str in ('aaa', 'bbb', 'ccc'):
でいいけど、含むになるとうまく書けない
0684デフォルトの名無しさん (ワッチョイ ad33-hDuN)
垢版 |
2022/01/02(日) 16:18:01.84ID:F+6nt4Sk0
strって組み込み関数じゃないの
0686デフォルトの名無しさん (ワッチョイ e23b-Gc8h)
垢版 |
2022/01/02(日) 23:29:29.52ID:nL0v86D90
文字列が何かと一致する、の時は文字列は左辺でいいのに、
文字列が何かを含む、の時は文字列が右辺に来るんだよな

if [パターン1, パターン2, パターン3] in 文字列
みたいな書き方が許されない限りどうやってもすっきりしない
どこかにanyをねじ込まないと意味が判らんけど
0689デフォルトの名無しさん (ワッチョイ 4936-2HqO)
垢版 |
2022/01/03(月) 10:10:38.63ID:lr+q9xK20
all(),any()なんてあるんだね。
ここ見に来ると勉強になるよw
0690デフォルトの名無しさん (ワッチョイ e23b-Gc8h)
垢版 |
2022/01/03(月) 10:20:51.32ID:kXMj+7ik0
allとanyは必須

flag = False
for なんやら:
 if 条件:
  flag = True
  break

みたいなよくある書き方をしなくていい
よくある書き方すぎて、その方が通りが良かったりもするけど
0695デフォルトの名無しさん (ワッチョイ 4136-2HqO)
垢版 |
2022/01/04(火) 20:22:48.31ID:ZoYK5W0O0
文章を読むように書かれたプログラムが一番美しいと、昔し何かで読んだことがある。

まあ、英語圏限定ですけどねww
0698デフォルトの名無しさん (ワッチョイ 4136-2HqO)
垢版 |
2022/01/04(火) 20:40:07.97ID:ZoYK5W0O0
じゃ、日本人は日本語で。

って間違った方向にいたのは秘密ですw
0701デフォルトの名無しさん (ブーイモ MM62-zmFY)
垢版 |
2022/01/04(火) 21:31:38.94ID:/LIoFX6+M
>>694
in演算子が内部的に使う__contains__()っては用意されてる
でも変なこだわりでinに統一させるから拡張性がなく使いにくい仕様になってる

any( a in b for a in ['aaa', 'bbb', 'ccc'] )

ないわー
0707デフォルトの名無しさん (ワッチョイ 3d56-1EB3)
垢版 |
2022/01/05(水) 09:00:51.95ID:+XxZYylm0
atomでpython勉強してるんですけど
以下のところでエラーが出ます

txt = "aaab"
if txt == "aaa":
print("AAA")
else:
print("BBB")
---------------------
else:

^
SyntaxError: invalid syntax


コンソールで実行してもエラーでないんですけど、Hydrogenだとエラー出るんです
なんででしょうか?
0724デフォルトの名無しさん (ワッチョイ 2e10-M739)
垢版 |
2022/01/07(金) 19:25:26.76ID:7jGAmvDk0
エロ画像を収集しようとして、肌色面積で判定するプログラムを書いたら、力士の画像が大量に集まった話を、思い出した。
0725デフォルトの名無しさん (ワッチョイ e23b-Gc8h)
垢版 |
2022/01/07(金) 19:30:28.88ID:ZrHPqEwy0
エロ画像というか、AVのパッケージ画像を深層学習させて、
好みに合いそうなのをピックアップさせたら面白いだろうなとは思う

深層学習は汎用品を使うより、自分しか使わないようなのを各自で作る方が役立つ筈
0726デフォルトの名無しさん (ワッチョイ e52c-k4O9)
垢版 |
2022/01/08(土) 02:17:14.95ID:g/P8vIy30
>>720
それだけならDup File Eliminatorとかあるべ
車輪が云々
0727デフォルトの名無しさん (ワッチョイ e23b-Gc8h)
垢版 |
2022/01/08(土) 06:42:31.41ID:KkBIS3By0
それはやっぱり、謎の理由で重複を消したい人のツールだな

ある画像があって、それが新規ならばIDを登録する
既存ならばどのIDと同じか調べてそこに追加する
そんな処理がしたい
0729デフォルトの名無しさん (バットンキン MM92-k4O9)
垢版 |
2022/01/08(土) 07:51:17.11ID:orDDjzsHM
ワッチョイ c23b-58y4
ワッチョイ e23b-Gc8h
ちょっと前から居着いてるスライスがどうの、改行コードがどうのと
屁理屈こねくり回したいだけで別に解答求めてるわけじゃない
面倒くさいやつだから、相手にするだけ時間の無駄ね
0731デフォルトの名無しさん (ワッチョイ e23b-Gc8h)
垢版 |
2022/01/08(土) 08:15:30.66ID:KkBIS3By0
レベルアップできそうなネタがあったから良ければ一緒に考えてみないかい?
というスタンスなので簡単ではない
手持ちの知識だけで気楽に回答できてお礼を3行以上貰いたい人には居心地悪いだろう
0735デフォルトの名無しさん (ワッチョイ 7f3b-YDnp)
垢版 |
2022/01/08(土) 10:01:51.10ID:KkBIS3By0
あとは相場予測だな
AIで安定して儲けを出してる人はいる
でも、売られてるツールでは儲からない
儲かるツールは絶対世に出ない
自分で作れる人だけ得をする

それもAIが当たり前になってしまったら個人では大手に太刀打ちできなくなる
まだ勘を頼りにやってる人が食い物として一定数いる今だけがチャンス
0737デフォルトの名無しさん (ワッチョイ 7f7c-igs8)
垢版 |
2022/01/08(土) 22:12:42.08ID:OZwS2Y610
PandasのDataFrameのpct_changeで取得した差分を別のDataFrameに適用することはできないでしょうか。
やりたいことは異なる基準を持つデータを全て100を基準としたデータに変換したいです。
変化率を順々に適用していくやり方があれば教えていただきたいです。
0738デフォルトの名無しさん (ワッチョイ ff2c-mvA8)
垢版 |
2022/01/08(土) 22:54:09.74ID:Df3tzX0P0
そいつは、>1 のテンプレをしょっちゅう改変している、テンプレ改変荒らし。
基本的に、ソースコードを書かない香具師は荒らし

「Ruby, Rails, クソチョン」などを、NGワード登録推奨とか、
自分が有利なように、いつもテンプレを改変する

荒らしがスレ主として、居座っているので、
まともな人がスレ立てして、テンプレも元に戻した方がよい

荒らしは必ず、短文で2回以上書き込む。
必ず、複数人がいるように見せかける
0743デフォルトの名無しさん (ワッチョイ ff10-ojRl)
垢版 |
2022/01/09(日) 18:37:32.34ID:ZopVK8Nz0
>>738みたいな奴ってまともな社会生活送れてんのかな
0745デフォルトの名無しさん (ワッチョイ 7ff0-dXQO)
垢版 |
2022/01/10(月) 00:19:24.76ID:MINWORCd0
スレ立てるまでもない質問はここで 158匹目
https://mevius.5ch.net/test/read.cgi/tech/1635193843/538

ここに、YouTube で有名な、雑食系エンジニア・KENTA のサロンの、
Ruby on Rails 初心者用コースの内容を書いておいた

基本的に、Rails以外のフレームワークは、シェアが少ないのでおすすめしない。
学習環境も揃わないので、無理

Railsでは、Railsチュートリアル・Railsガイド・
黒田努の3冊の本・パーフェクト Ruby on Rails・Ruby on Rails 6 エンジニア養成読本とか、
Rubyでは、改訂2版 パーフェクトRuby・改訂2版 Ruby逆引きハンドブックなどの教科書が揃っている

これほど、良い教科書が揃っているフレームワークはない!

Laravel のシェアは少しあるけど、KENTAがPHP は一生やる必要がないと言ったので、
PHP自体がオワコンになってしまったw

日本のウェブ開発の将来は、ほぼKENTAが決めている。
Scala を滅ぼしたのも、KENTA
0749デフォルトの名無しさん (ワッチョイ 7fad-A/Mb)
垢版 |
2022/01/10(月) 04:32:55.87ID:uRBXCWA/0
tkinter使ってるのですが

ボタンとかラベルとかのIDみたいの取得できないのですか?
C#だと自分でlabel1 とかlabel2とかつけられて
label2= でテキストとかラベルを指定して変えられると思うのですが
tkinterだとその指定があるように見えないのですが
0751デフォルトの名無しさん (ワッチョイ 5f2c-XI1N)
垢版 |
2022/01/10(月) 08:15:45.24ID:guhfn5fv0
>>749
そんなエセ質問じゃ賑やかしにもならない
変数名の付け方が分からんって言ってんのか?
0752デフォルトの名無しさん (ワッチョイ ff63-DoHC)
垢版 |
2022/01/10(月) 11:42:21.03ID:c57lS1bu0
WinFormsの話だったら
Control.Nameプロパティで設定した名前をキーに, Controls["hoge"]でコントロールにアクセスすることを言ってると思う
https://dobon.net/vb/dotnet/control/findcontrolbyname.html

tkinterで相当の手段が提供されてるかは知らないけど, 仮に用意されてなかったとしても
Controlsってほとんど単なるDictionaryだから, 自分でdictに入れれば十分でしょ
0756デフォルトの名無しさん (ワッチョイ df97-AkR0)
垢版 |
2022/01/10(月) 12:33:34.38ID:wNGTpI/60
そんなこと言われても、英語版Wikipediaには

The name Tkinter comes from Tk interface.

って書かれてるし、オブジェクト指向とかのインタフェースじゃなくてUIのインタフェースでしょ。

どんだけ頭硬いんだ
0760デフォルトの名無しさん (ワッチョイ 7f3b-YDnp)
垢版 |
2022/01/10(月) 12:45:18.90ID:VSAngJtV0
元からあるC言語で書かれたTkをそのまま使って、それをpythonに繋ぐ部分
という意味のinterfaceか

Tkに慣れてる人は抵抗なく入れるかもしれないけど、
pythonで簡単にGUIを実現したい、という人には新しく作った何かの方が楽なのでは
0764デフォルトの名無しさん (ワッチョイ 7f36-C7Df)
垢版 |
2022/01/10(月) 21:54:22.23ID:m/qphNtT0
QTにしろ。
0777デフォルトの名無しさん (ワッチョイ 7f3b-YDnp)
垢版 |
2022/01/14(金) 08:23:35.77ID:XfI2EzDt0
再帰呼び出しであることをインタプリタが判断して、
関数の呼び方を変えてる、ということだよね

自分で自分を呼ぶなら判断は楽だろうけど、
下請け関数が間に入っても動くんだろうか
0778デフォルトの名無しさん (ブーイモ MM23-c5vG)
垢版 |
2022/01/14(金) 08:43:02.09ID:eZOTyzBHM
>>>772
ちょっと意味が分からないんだが
普通の関数が動くのに、再帰だと動かない可能性があったってこと?オーバーフローするほど繰り返し呼び出した場合のことを言ってる?
0785デフォルトの名無しさん (ワッチョイ df01-KaPh)
垢版 |
2022/01/15(土) 10:51:50.83ID:JQMxAH+/0
seleniumでformに入れた値がおかしかった時にjsのalertを検知して例外をraiseさせる方法を調べていたら偶然if driver.current_url: passで発生することを発見した
何故か分かる人いる?
0802デフォルトの名無しさん (ワッチョイ a23b-a6Oy)
垢版 |
2022/01/15(土) 20:18:11.54ID:qPYmJbcu0
排他が必要になると思えないし、ソートはDBでなくても既にあるし

ツールが自分で使うデータをどうやって持つかだけの違いなら変わらないような
ユーザからのクエリに対して検索して答えを返す、みたいなのが作りたいならDBだろうけど
0803デフォルトの名無しさん (ワッチョイ eebb-H1NS)
垢版 |
2022/01/15(土) 20:23:20.56ID:s73J29SX0
そりゃー思えるか思えないかは要件と君のスキル次第だからな
小規模でも排他の必要な分野はいくらでもあるし、大規模でもいらない案件も当然ある
行列レベルの排他でなくても、トランザクションとかかなり面倒な処理が楽にできる

自分で調べてみることをおすすめしてるんだけどここで断片的な知識を仕入れたいの?
0804デフォルトの名無しさん (ワッチョイ a963-soNI)
垢版 |
2022/01/15(土) 20:23:54.05ID:oXGiUqfh0
やり方は色々あるわけで、その中から自分が簡単でやり慣れていると考える方法を選択すれば良いと思う
一人で使うシステムなら、排他は不要だろう
いろんなソート方法を選択できるようにしたいとなると、DBの方が簡単そうに思える
0805デフォルトの名無しさん (ワッチョイ eebb-H1NS)
垢版 |
2022/01/15(土) 20:30:07.92ID:s73J29SX0
一人が使うシステムにも普通に排他処理が必要なものはあるぞ
排他の要不要はそんな観点で判断できない
何度も言うけど、ちゃんと体系的に自分で学んだほうがいい

まー思うのは勝手だけど^^;
0806デフォルトの名無しさん (ワッチョイ a23b-a6Oy)
垢版 |
2022/01/15(土) 20:33:59.83ID:qPYmJbcu0
結局、決め手になるのは規模で、
DBを使わない方が簡単に実装できても、データ量が大規模になると、
検索やらソートやらに時間がかかるのでDBの方が高速になる
でも個人でそんなデータは普通扱わないから、わざわざDBを使う分面倒なだけ

という思い込みがあるので、何か他にメリットがあるなら知りたいけど、
自分で調べたら(・∀・)ニヤニヤの一点張りで特に説明はできなさそう
0807デフォルトの名無しさん (ワッチョイ eebb-H1NS)
垢版 |
2022/01/15(土) 20:38:28.44ID:s73J29SX0
あー知識をつまみ食いしたい人か^^;
簡単に想像できる範囲だと、マルチスレッドプログラムと組み合わせたり、定時処理を複数走らせたりすること考えてみるといいよ

DB勉強するならRDBから入るのがいいかなぁ。NoSQLから入ると色々理解できなくなる
0814デフォルトの名無しさん (ワッチョイ a23b-a6Oy)
垢版 |
2022/01/15(土) 21:14:41.54ID:qPYmJbcu0
そうそう、それそれ
フリーソフトとか使うと、結構SQLiteを使ってるのがある
内部データの保存に使ってるんだろうけど、DB使うようなことか? と感じてる

pythonだったらpickleで済むのでは?
0817デフォルトの名無しさん (ワッチョイ 9110-ppm9)
垢版 |
2022/01/15(土) 22:57:41.19ID:JjAKhaIN0
素でデータだけいれとくってなくて式やらはいるから万行超えデータはエクセルでやりたくないよね
とはいえエクセルのお手軽uiはありがたいけどね
あとは話しの出だしに戻ってdjangoで例えばあの管理機能をDB無しでってのはやりたくない
0833デフォルトの名無しさん (ワッチョイ 6e10-6KEr)
垢版 |
2022/01/16(日) 11:11:10.06ID:M5QOMeo90
find_element(by=‘xxx’)に統一されると何とか
0838デフォルトの名無しさん (ワッチョイ 9136-vRJH)
垢版 |
2022/01/16(日) 19:28:33.39ID:9K9mwOGs0
seleniumのプログラム初めて作ったけど、ネット情報と感でなんとかなるなw
「XPATHってどうやって探すんだよ」ってブラウザをいじり回してたなw

youtubeを自動で操作するプログラムを作った。
0839デフォルトの名無しさん (ワッチョイ a23b-a6Oy)
垢版 |
2022/01/16(日) 19:55:01.90ID:QQ2GlIIB0
何をするにもネット情報が頼り
毎回ぐぐるのも手間だから自分用にまとめた情報を参照するけど、
見ないで書けない以上ネット情報に頼ってるのと同じ

そら何でも細かく具体的に書けば読めるコードになるけど、覚えるのは無理
0842デフォルトの名無しさん (ワッチョイ 8d33-9BXF)
垢版 |
2022/01/16(日) 22:41:38.31ID:7yetUIaG0
別にググってでも書けるならいいじゃない
ちゃんとググった後に公式ドキュメント見て裏付け取る事さえ忘れなければだけど

それに、自分の知識にある情報がいつまでも正しいとは限らないし
0843デフォルトの名無しさん (ワッチョイ a23b-a6Oy)
垢版 |
2022/01/16(日) 22:44:38.30ID:QQ2GlIIB0
ぐぐれない環境で親切なエディタも無しに書けと言われても書けない
レガシーな言語はそれでも書けた
かなり慣れてもマニュアルみながらガンダム操縦しないといけない
0846デフォルトの名無しさん (ワッチョイ 6e2c-Nrkm)
垢版 |
2022/01/16(日) 23:57:47.02ID:RG8YDX1E0
>>838
XPath で作らない方がよい。
XPathは要素の順番で指定するから、順番が変わるとバグる

CSS Selector の方が、バグりにくい

E2E テストでは、Ruby のSelenium Webdriver, Capybara, Nokogiri、
JavaScript のCypress もある
0849デフォルトの名無しさん (ワッチョイ f901-kaaM)
垢版 |
2022/01/17(月) 09:56:05.08ID:4lMff3fz0
未だに参照の仕様が分からない...
djangoでfor分を使ってmodelオブジェクトを作っていってそれを配列に入れていって、最後にDBに一括保存したいんだけど参照渡しならfor回す度に毎回オブジェクト上書きされるの?
0852デフォルトの名無しさん (ワッチョイ a1f0-T4Xm)
垢版 |
2022/01/17(月) 12:22:45.63ID:G6emDPZd0
もし「参照渡し」だったら __m を上書きすると
append された後の「__mの参照」も上書きされるわけだから……

pythonのは いわゆる「参照の値渡し」なので大丈夫って言ってやるのが楽のよーな気がする
0853デフォルトの名無しさん (ワッチョイ f901-kaaM)
垢版 |
2022/01/17(月) 13:32:51.96ID:4lMff3fz0
分かったかもしれん
インスタンス化する時には暗黙的にnewをする事を思い出した
つまり>>851の場合はmは全部実態は別になるんだね?

そうじゃないと極端に使いにくすぎるもんな
0854デフォルトの名無しさん (ワッチョイ 9232-sTIO)
垢版 |
2022/01/17(月) 13:37:15.96ID:eSi1/nEN0
慣例的に参照渡しという表現は「変数の参照」を渡す事を言う
通常変数が静的領域やスタックに実体を持つ値型の言語では。

しかしPython変数は全て参照型(C言語的にはヒープへのポインタ)
そしてPythonにC++の&やC#のrefに相当する参照渡しはないので
参照を格納している変数の内容を呼び出し先から変更は出来ない
ただし同じ参照(ポンイタ値)を経由する実体の操作は共有される

C# Doc曰く「参照渡しで渡すという概念と参照型の概念とを混同しないでください

>>853 Exactly.
0855デフォルトの名無しさん (ブーイモ MMcd-YXmm)
垢版 |
2022/01/17(月) 13:47:46.96ID:W+/63TdwM
C++の&だって呼び出し側が書き換えられているように見えるのはポインタと同じようにアドレス値を渡してるからであって、"参照の値渡し"と変わらんのでは?
値渡しでない参照が使える言語なんてあるの?
0856デフォルトの名無しさん (ワッチョイ 9232-sTIO)
垢版 |
2022/01/17(月) 14:36:13.35ID:eSi1/nEN0
>>855
本質はそうだけども、Pythonに変数の参照を渡す術がない
元々が参照型(ポインタ)、「変数」ではなく「実体」への参照が渡る
デリファレンスもなく代入は常に参照の割り当てで、元変数も書き換えない

C++やC#で言う参照渡しは変数への参照が与えられ、元変数自体を変更可能
元々が参照型やポインタの場合にはポインタのポインタ状態になる
0857デフォルトの名無しさん (ワッチョイ a136-vRJH)
垢版 |
2022/01/17(月) 16:24:52.14ID:TnyU9nQo0
python で参照渡しにするなら、配列で渡すしかないって事だよね。
0861デフォルトの名無しさん (ワッチョイ a136-vRJH)
垢版 |
2022/01/17(月) 18:49:50.03ID:TnyU9nQo0
昔はリターン値が一つしか返せなかったけど、今は複数個返せるから参照渡しもあまり意味がないんだろ。
まあ、どデカい配列とかを渡すときは、参照渡しは意味あるだろうけど。
0863デフォルトの名無しさん (ワッチョイ f901-yENW)
垢版 |
2022/01/18(火) 22:52:58.92ID:aXITGa9l0
私もここに常駐して皆さんぐらいのレベルに早くなりたいです。
0865デフォルトの名無しさん (ワッチョイ 6e10-6KEr)
垢版 |
2022/01/19(水) 00:31:22.28ID:bCy7bu6O0
>>863
志が低過ぎる
0870デフォルトの名無しさん (ワッチョイ a23b-a6Oy)
垢版 |
2022/01/19(水) 08:22:24.60ID:ov2X7pn30
ぐぐってコピペするとか、作っておいた虎の巻を参照するとか、
ツールが候補を教えてくれるとか、そういう作り方をするのが常道なので、
記憶だけで答える試験は制約が大きい

持ち込み可(google含む)なら意味ある
0877デフォルトの名無しさん (オイコラミネオ MMd5-0hlo)
垢版 |
2022/01/19(水) 13:22:05.24ID:WxcLvF91M
python自体よりファイルのパスの指定方法とかライブラリのデータはどこへ格納してどうやって指定するの?とかpythonのバージョン合わせるのどうやるのとかpipやenvってどういう事?とか色々そっちの方が難しい
0878デフォルトの名無しさん (ワッチョイ 0202-uwVB)
垢版 |
2022/01/19(水) 21:07:39.29ID:MU1QvUuQ0
Python以前にターミナルをちゃんと使えている人どれだけいるのって感じはする。
pythonを教え込まれた学生は脳死でAnaconda prompt開いてpython filepathすることしかできん。
カレントディレクトリ、相対パス、基本コマンドを全く知らないのに実行してるのはむしろ恐怖。
データサイエンスやりたいのはわかるけどpowershell教えたほうが生産的なんじゃないか
0880デフォルトの名無しさん (ワッチョイ 0202-uwVB)
垢版 |
2022/01/19(水) 21:21:07.11ID:MU1QvUuQ0
>>879
プリインストールで非プログラマでも使えるツールの中ではめちゃくちゃ使えると思うけどなぁ
CLIめちゃくちゃ大事なのに、Pythonの入門書でも何でも説明されている方が珍しいし、されていてもイケてないコマンドプロンプトだったりで頭抱える
0882デフォルトの名無しさん (ワッチョイ 6e10-6KEr)
垢版 |
2022/01/19(水) 21:51:30.92ID:bCy7bu6O0
ps使うぐらいならwsl入れろ
0883デフォルトの名無しさん (ワッチョイ a136-vRJH)
垢版 |
2022/01/19(水) 21:52:01.11ID:XG/tmssg0
windowsじゃ無くてlinuxから入るべきだなw
0888デフォルトの名無しさん (ワッチョイ cd7c-0pGs)
垢版 |
2022/01/20(木) 10:17:40.64ID:VZGuEXXO0
公式サイトの1/14のニュースにはM1 Macで開発したとあるけどな
MacBookのトラックパッドが満足に動けばLinuxでもいいんだけどね
どうせ動作確認、CIはコンテナでするから端末はLinuxじゃなくても困らない
0889デフォルトの名無しさん (オイコラミネオ MM29-o6XP)
垢版 |
2022/01/20(木) 11:52:16.52ID:AnlXyinuM
コマンドライン分からん思ってたがガラケーのメニュー入れ替えたり、iPhone3GS脱獄したりネット見ながら色々やってる間に知らないうちに触ってたんだな
無知とは恐ろしい
0896デフォルトの名無しさん (ワッチョイ f901-kaaM)
垢版 |
2022/01/20(木) 20:27:41.96ID:ESGatvgk0
やりたいのはseleniumのdriverを、どんな例外が発生した場合でもclose()すること
ググったらwith使うパターンが良さそうかなとも思ったけど@contextmanagerを使うパターンもあるみたいだけどどっちもよく分からない
とりあえずwithを使えるのは内部に__enter__と__exit__を持つクラスとメソッド?なのは分かった

俺が作ったモジュールではdriverを引数としていくつかのメソッドに渡したりreturnしたりしてるけど機能するんだろうか
試してみようかな
0903デフォルトの名無しさん (ワッチョイ 42ad-e76z)
垢版 |
2022/01/21(金) 08:55:24.44ID:mgMk+9mL0
>>861
関数の副作用として破壊的操作が必要な時
コピーではなく参照による引数渡しは必須の機能だ
なければ純粋関数型言語と同じになる

今どきのスクリプト言語は基本型以外ほぼすべて参照による引数渡し
0910デフォルトの名無しさん (ワッチョイ f901-Nrkm)
垢版 |
2022/01/22(土) 14:06:13.46ID:P7lfAWJG0
args = sys.argv
id = args[1]
【エラー】
IndexError: list index out of range

★”id”には何が入るのですか、どなたか教えてくれませんか。
0918デフォルトの名無しさん (ワッチョイ 8736-3ds2)
垢版 |
2022/01/22(土) 20:30:52.89ID:j0z/5Y+Y0
って言うか、エラーが出てる時点で何も入らないんじゃねえの?
0924デフォルトの名無しさん (ワッチョイ 8701-hH+g)
垢版 |
2022/01/22(土) 22:26:58.29ID:QWAkInsq0
id関数って動くコードで使うこと殆んどないし別に…
ただidって言葉が自然言語として意味がバカ広くて
あとから読んだ時謎の変数に見えてくるのは容易に想像できるから
そういう意味ではおすすめできない
0927デフォルトの名無しさん (ワッチョイ a703-5ssC)
垢版 |
2022/01/22(土) 22:53:38.08ID:f0jQfsum0
>>926
第1引数必須のプログラムなら元コードがシンプルで素直
ヘルプだしたりフォールバックするなら例外補足したらいいんだし
>>912 は可変長を考慮してるんだと思うがさらに解析が必要だし
なら最初からargparse/getoptつかえばってなる
0928デフォルトの名無しさん (ワッチョイ 5f3b-CZ/Q)
垢版 |
2022/01/22(土) 23:01:44.46ID:xJ8GN0MU0
引数で指定するものなんて処理対象だけだし
複数あればずらずら並べるだけ

設定と処理対象を混ぜる方式は面倒なだけなので、
そっちは別で指定して configparser で読み込む
0930デフォルトの名無しさん (JP 0H8f-vKrE)
垢版 |
2022/01/23(日) 00:37:48.64ID:X663g2ceH
ser = serial.Serial('COM4', 9600, timeout=1)
【エラー】
could not open port 'COM4': PermissionError(13, 'アクセスが拒否されました。', None, 5)

どなたかおしえていただけませんか...
0932デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 01:17:24.35ID:X663g2ceH
>>931
管理者権限で実行したところ同じエラーが出ました。
また、COMポート番号はデバイスマネージャーからポートのところを見たらそれしかなかったので間違っていないと思います。
他にシリアルを使っているプログラムがあるかは、デバイスマネージャーのポートの詳細
設定のポートを選ぶ部分で使用中になっていなかったので大丈夫かなと思ったんですけどそれじゃ不十分だったりするんでしょうか...
0933デフォルトの名無しさん (ワッチョイ 27c6-4V6Q)
垢版 |
2022/01/23(日) 01:32:18.11ID:KYoztYh80
>デバイスマネージャーのポートの詳細設定のポートを選ぶ部分で使用中になっていなかった
これは現在使用中って意味じゃない(現に自分にPCには存在しないポートも(使用中)と出る)
閉じていいアプリは全部落としてやってみそ
0934デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 01:37:35.86ID:X663g2ceH
>>933

ありがとうございます!やってみます!
0935デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 01:40:22.24ID:X663g2ceH
VScode以外落としてみたんですけどダメでした...泣
0936デフォルトの名無しさん (ワッチョイ 27c6-4V6Q)
垢版 |
2022/01/23(日) 02:00:02.91ID:KYoztYh80
インタラクティブモードでやってる?
ちょっと試したけど既にポート開いてるなら2回目は PermissionErrorで失敗するみたい
serの中身がSerial<id=0x・・・・, open=True>みたくなってない?
0937デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 02:17:56.46ID:X663g2ceH
インタラクティブモードでやってなかったので今やってみたらこんな風に出ました
Serial<id=0x20237cc3880, open=True>(port='COM4', baudrate=9600, bytesize=8, parity='N', stopbits=1, timeout=1, xonxoff=False, rtscts=False, dsrdtr=False)
0938デフォルトの名無しさん (ワッチョイ 27c6-4V6Q)
垢版 |
2022/01/23(日) 02:26:45.29ID:KYoztYh80
あごめん、言い方悪かった
別にインタラクティブモードじゃなくてもスクリプトでもいいけど
すでに開いてるポートを開こうとするとエラーになるんで
ser.close()せずに再びser=serial.Serial(..)してんじゃない?

>>> import serial
>>> ser=serial.Serial('COM8')
>>> ser
Serial<id=0x2992c530940, open=True>(略
>>> ser=serial.Serial('COM8')

serial.serialutil.SerialException: could not open port 'COM8': PermissionError(13, 'アクセスが拒否されました。', None, 5)
>>> ser.close()
>>> ser
Serial<id=0x2992c530940, open=False>(略
>>> ser=serial.Serial('COM8')
>>> ser
Serial<id=0x2992c043970, open=True>(略
>>>
0939デフォルトの名無しさん (JP 0H8f-z3gx)
垢版 |
2022/01/23(日) 02:49:00.53ID:X663g2ceH
なるほど!
ありがとうございます。2つのファイルを実行して、どちらもserを使うので2回開こうとしてました!どこかで閉じるようにしてみます
0940デフォルトの名無しさん (ワッチョイ c701-z3gx)
垢版 |
2022/01/23(日) 03:03:09.94ID:MLqhVhgC0
>args = sys.argv
>id = args[1]
>【エラー】
>IndexError: list index out of range

>>910の追加項目
私の機械:windows10 Python 3.9 
目的:SQLiteへデータを登録しようとするPG作成中です。
”id"を目的のサンプルPGの一番最初の部分です。
どなたか教えてくれませんか。
0941デフォルトの名無しさん (ワッチョイ 8736-3ds2)
垢版 |
2022/01/23(日) 06:46:02.96ID:PgBhXr380
シリアルポートなんて、いまどき使うんだ。
RS232か、昔はよく使ってたなw
0942デフォルトの名無しさん (ワッチョイ 8736-3ds2)
垢版 |
2022/01/23(日) 06:56:09.26ID:PgBhXr380
>>940

sys.argv[0] が プログラム名
sys.argv[1]が 第一引数。

プログラム起動時に引数を指定してないんじゃねえの?

prog id の所を prog で起動してるとか。
0945デフォルトの名無しさん (ワッチョイ 5f3b-CZ/Q)
垢版 |
2022/01/23(日) 10:41:43.43ID:bZmeHR4M0
いや、判らん状態で>>911読んでも判らんだろこの書き方では
サンプルや動作結果の一つでも無いと

そもそも[0]が本体の名前になるというのが、悪しき伝統な気がする
直感的には1つ目の引数がargv[0]であるべき
でも自分が誰か知りたいとかフルパスを知りたいとかの用途にも応える為に、
[0]にプログラム名を割り込ませた
そのせいで、大抵の場合は先頭を除去する処理が増えた
0950デフォルトの名無しさん (ワッチョイ 5f3b-CZ/Q)
垢版 |
2022/01/23(日) 11:11:17.46ID:bZmeHR4M0
第1文の
> Pythonスクリプトに渡されたコマンドライン引数のリスト
だけ読めば、[0]が1つ目の引数だと解釈して当然

第2文の
> argv[0] はスクリプトの名前となりますが
これがいきなり第1文と矛盾していて、そのことに配慮していないのが問題
0953デフォルトの名無しさん (ワッチョイ 5f3b-CZ/Q)
垢版 |
2022/01/23(日) 11:39:23.65ID:bZmeHR4M0
遠い昔の記憶
ARGC, ARGVの仕様を初めて知った時、何だそれ変なのって絶対思った筈なんだよな
そこからもう変えられない
少なくとも、argvの文字列を使う限りは同じにしないと余計に混乱する
そういうものだとして飲み込んでもらうしかない
0960デフォルトの名無しさん (ブーイモ MMcf-iT+O)
垢版 |
2022/01/23(日) 14:21:29.12ID:j6A/deIZM
知らんけどとりあえずidを引数に期待しているんだからこれを叩いているプログラムやら手入力するidが存在するはずなんで作った人に聞けとしか言えないんだよな
0963デフォルトの名無しさん (ブーイモ MMcf-7oyM)
垢版 |
2022/01/23(日) 17:28:36.97ID:wYttYp2UM
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

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

在日は強姦を繰り返す犯罪者!
皆殺しにすべし!
0965デフォルトの名無しさん (ワッチョイ e72c-FE29)
垢版 |
2022/01/23(日) 19:31:56.43ID:c39OPcdQ0
日本人ではないんだろうなとは思う
あとこのレベルでDBに接続しちゃいかん
まず変数名を_idにするところからやり直し
0967デフォルトの名無しさん (ワッチョイ 7f2c-z3gx)
垢版 |
2022/01/24(月) 03:47:21.15ID:VeWznQkJ0
Python では、
sys.argv[0] が プログラム名
sys.argv[1]が 第一引数

一方、Ruby では、実行するスクリプトファイル名は、ARGV じゃなく、$0 に入る

ruby script.rb 引数1 引数2
ARGV[ 0 ]・[ 1 ] は引数

script.rbの内容が、以下の時、
p $0, ARGV[ 0 ], ARGV[ 1 ]

ruby script.rb 123 abc
と入力すると、

"script.rb"
"123"
"abc"
0968デフォルトの名無しさん (ワッチョイ c701-z3gx)
垢版 |
2022/01/24(月) 20:55:14.10ID:6lZDYIjP0
912>にすると何も表示されませんでした
911>読んでみたのですが意味が分かりませんでした、すみません。
924>id関数ではなく文章の中にある変数見たいです?
927>意味はよく分らずargparse/getopt今後使ってみます。
942>sys.argv[0] が プログラム名、sys.argv[1]が 第一引数見たい?。
945>そもそも[0]が本体の名前になるというのが、悪しき伝統な気がする
直感的には1つ目の引数がargv[0]であるべき
でも自分が誰か知りたいとかフルパスを知りたいとかの用途にも応える為に、
[0]にプログラム名を割り込ませた
そのせいで、大抵の場合は先頭を除去する処理が増えた
948>argumentではないんだよな
950>第1文の> Pythonスクリプトに渡されたコマンドライン引数のリスト
だけ読めば、[0]が1つ目の引数だと解釈して当然
第2文の
> argv[0] はスクリプトの名前となりますが
これがいきなり第1文と矛盾していて、そのことに配慮していないのが問題
953>ARGC, ARGVの仕様を初めて知った時、何だそれ変なのって絶対思った筈なんだよな
そこからもう変えられない
少なくとも、argvの文字列を使う限りは同じにしないと余計に混乱する
そういうものだとして飲み込んでもらうしかない
960>知らんけどとりあえずidを引数に期待しているんだからこれを叩いているプログラムやら手入力するidが存在するはずなんで作った人に聞けとしか言えないんだよな
967>Python では、
sys.argv[0] が プログラム名
sys.argv[1]が 第一引数
一方、Ruby では、実行するスクリプトファイル名は、ARGV じゃなく、$0 に入る
ruby script.rb 引数1 引数2、ARGV[ 0 ]・[ 1 ] は引数script.rbの内容が、
以下の時、p $0, ARGV[ 0 ], ARGV[ 1 ]ruby script.rb 123 abc
と入力すると、
お宅の説明が一番わかりやすかったです、皆さんありがとうございます。
0973デフォルトの名無しさん (アウアウウー Sa4b-Tsl1)
垢版 |
2022/01/25(火) 00:39:21.55ID:YRL+3AJRa
requestを使ってbingの画像検索からセーフサーチを無効にして画像を拾いたんですが、async?q=おっぱい&safeSearch=offで無効にできません><
ブラウザ上でも試したのですが、edgeだけは無効にして検索できます
safeSearch=offの他に何が必要なのか分かる方教えください
0975デフォルトの名無しさん (ワッチョイ 5f1a-5ssC)
垢版 |
2022/01/25(火) 07:29:31.18ID:FbGdwSQ50
>>973
1. www.bing.com (Cookie発行)
2. www.bing.com/settings.aspx?pref_sbmt=1&adlt_set=off&adlt_confirm=1&GUID=MUID (MUIDはCookie MUIDの値)
3. www.bing.com/images/search?q=検索文字列

いつ仕様変わるかわからんからSelenium等で操作する方が堅い
0977デフォルトの名無しさん (アウアウウー Sa4b-Tsl1)
垢版 |
2022/01/26(水) 06:09:37.21ID:osHVDAzya
>>975
レスありがとうございます!
無効にして画像収集できました
Pythonの話題からズレちゃうんですが、settings.aspxにクエリを渡すとかってどうやって調べるんですか?
0978デフォルトの名無しさん (ワッチョイ c701-hZHj)
垢版 |
2022/01/26(水) 16:30:23.64ID:DYVcmqpl0
djangoでmodelを使ってbulk_create()でDBに保存したいがリレーションが分からない

カラムが一つだけでフォーリンキーを持たないモデルaがあってモデルbとcはaをフォーリンキーで参照している

けどcはbも参照している

これだと例えばcは二重にaを参照することになるんじゃないの?
こんがらがってきた
0980デフォルトの名無しさん (ワッチョイ 4736-OMe5)
垢版 |
2022/01/26(水) 17:51:16.76ID:a2ABcE+j0
youtubeにpython、C、 X86 Assm で同時にプログラムを書き始めてどれが一番早く書けるか、実行はどれが一番早いか。
を比べる動画があった。

まあ、当然 python >= C >> assm ソース制作時間。

assm >= C >>>> python 実行時間。

だけどねw

X86 assmでプログラムが書けるのがカッコいいよね。
0985デフォルトの名無しさん (ワッチョイ 5f01-oRbG)
垢版 |
2022/01/26(水) 18:25:43.41ID:/+UFoYsq0
>>978
cのレコードとcが参照してるbのレコードが
必ず同じaのレコードを参照する関係の場合は非正規形になる
ビジネスルールの観点と意図的に非正規化するかどうかという技術的な観点から設計判断が必要
0987デフォルトの名無しさん (ワッチョイ 5f3b-CZ/Q)
垢版 |
2022/01/26(水) 19:47:04.47ID:6lp7RiSR0
pythonは計算が遅いけど、numpyを使えば高速化できる
そして、numpyが要るような高度な計算はアセンブラで書くのは不可能で、
コーディングはC言語よりも速く、実行速度がC言語と同じなら、
それはもうpython一択なのでは
0988デフォルトの名無しさん (ワッチョイ a768-4V6Q)
垢版 |
2022/01/26(水) 19:55:45.82ID:HhYkIzhz0
        ____
        /     \
     /   ⌒  ⌒ \   何言ってんだこいつ
   /    (●)  (●) \
    |   、" ゙)(__人__)"  )    ___________
   \      。` ⌒゚:j´ ,/ j゙~~| | |             |
__/          \  |__| | |             |
| | /   ,              \n||  | |             |
| | /   /         r.  ( こ) | |             |
| | | ⌒ ーnnn        |\ (⊆ソ .|_|___________|
 ̄ \__、("二) ̄ ̄ ̄ ̄ ̄l二二l二二  _|_|__|_
0993デフォルトの名無しさん (ワッチョイ 7f2c-z3gx)
垢版 |
2022/01/26(水) 23:41:44.44ID:e2k0MxNT0
Repl.itは、リンターやデバッガーからサードパーティのパッケージ、ホスティング、デプロイまで、
すべてを備えた、ブラウザー内の完全な共同クラウド開発環境です

以下のようなテンプレートがあります

React, Vue.js, Django, Node.js / Express
個人向けブログサイト、ポートフォリオサイト

A-FrameによるVRプロジェクト

p5.js / Phaser.js用のゲーム開発
Three.jsによる3Dコンテンツの作成

WebGL なら、Three.jsだろ?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 76日 9時間 24分 14秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況