当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その53
https://mevius.5ch.net/test/read.cgi/tech/1615846784/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その54
■ このスレッドは過去ログ倉庫に格納されています
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
311デフォルトの名無しさん
2021/07/07(水) 14:46:15.07ID:JFEXb6g2 pep8に
単一の文字 'l' (小文字のエル)、'O' (大文字のオー)、'I'(大文字のアイ) を決して変数に使わないでください。
フォントによっては、これらの文字は数字の1や0と区別が付かない場合があります。
ってあるけど、上のような理屈であれば、単一の文字でなくても同じ理由で使うべきではないことになるんでは?
単一の文字 'l' (小文字のエル)、'O' (大文字のオー)、'I'(大文字のアイ) を決して変数に使わないでください。
フォントによっては、これらの文字は数字の1や0と区別が付かない場合があります。
ってあるけど、上のような理屈であれば、単一の文字でなくても同じ理由で使うべきではないことになるんでは?
312デフォルトの名無しさん
2021/07/07(水) 15:11:46.21ID:49748z4f 10ng と long と IONG を間違うかって話だな
313デフォルトの名無しさん
2021/07/07(水) 16:43:31.83ID:2KJNjcti $python hoge.py 10 | python hoge2.py | python hoge3.py
### hoge.py ###
import sys
for i in range(int(sys.argv[1])):
_print(i)
### hoge2.py ###
import sys
a=''.join(sys.stdin.readlines()).strip().split('\n')
a.append(len(a))
for n in a:
_print(n)
### hoge3.py ###
import sys
print(len(''.join(sys.stdin.readlines()).strip().split('\n')))
ざっくり
(1)hoge.py 10で10個数字を出力
(2)hoge2.pyで受け取り、値を追加して出力
(3)hoge3.pyで受け取り、1個増えたことを確認
なのですが、受け取った値を成形する
''.join(sys.stdin.readlines()).strip().split('\n')
の部分はこの書き方でよいでしょうか?
そもそも標準出力をprintでやるのかもわかりません
それ専用の標準ライブラリとかあるのかな
### hoge.py ###
import sys
for i in range(int(sys.argv[1])):
_print(i)
### hoge2.py ###
import sys
a=''.join(sys.stdin.readlines()).strip().split('\n')
a.append(len(a))
for n in a:
_print(n)
### hoge3.py ###
import sys
print(len(''.join(sys.stdin.readlines()).strip().split('\n')))
ざっくり
(1)hoge.py 10で10個数字を出力
(2)hoge2.pyで受け取り、値を追加して出力
(3)hoge3.pyで受け取り、1個増えたことを確認
なのですが、受け取った値を成形する
''.join(sys.stdin.readlines()).strip().split('\n')
の部分はこの書き方でよいでしょうか?
そもそも標準出力をprintでやるのかもわかりません
それ専用の標準ライブラリとかあるのかな
314デフォルトの名無しさん
2021/07/07(水) 17:49:17.95ID:vUBZA2na >>313
標準出力はprintでやるのでいいよ
1行ごとに処理したいわけじゃなければ.read().splitlines()すればいいと思う
#hoge2.py
import sys
a = sys.stdin.read().splitlines()
a.append(len(a))
for n in a:
__print(n)
#hoge3.py
import sys
print(len(sys.stdin.read().splitlines()))
標準出力はprintでやるのでいいよ
1行ごとに処理したいわけじゃなければ.read().splitlines()すればいいと思う
#hoge2.py
import sys
a = sys.stdin.read().splitlines()
a.append(len(a))
for n in a:
__print(n)
#hoge3.py
import sys
print(len(sys.stdin.read().splitlines()))
315デフォルトの名無しさん
2021/07/07(水) 18:46:33.05ID:2KJNjcti316デフォルトの名無しさん
2021/07/08(木) 21:41:26.17ID:g5ngXWNu raspbian buster上のpython3.7.3で、
subprocess上で読み込むcsvファイルをStringIOにするとうまくいかず困っています。
以下2つのソースで、異なるのは1行目だけです。
[test1.py]
CSVFILE = '/tmp/1.csv'
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
[test2.py]
CSVFILE = io.StringIO()
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
$ python3 test1.py
12,34,56
$ python3 test2.py
/bin/sh: 1: Syntax error: end of file unexpected
何を見落としてるんでしょうか…?
subprocess上で読み込むcsvファイルをStringIOにするとうまくいかず困っています。
以下2つのソースで、異なるのは1行目だけです。
[test1.py]
CSVFILE = '/tmp/1.csv'
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
[test2.py]
CSVFILE = io.StringIO()
with open(f'{CSVFILE}', 'a') as CSV:
writer = csv.writer(CSV)
writer.writerow([12,34,56])
CSV.close()
cmd = (f'cat {CSVFILE}')
proc = subprocess.run(cmd, shell=True)
$ python3 test1.py
12,34,56
$ python3 test2.py
/bin/sh: 1: Syntax error: end of file unexpected
何を見落としてるんでしょうか…?
317デフォルトの名無しさん
2021/07/08(木) 22:38:29.83ID:PyDOiOef 何をしたいかが全く分からないがとにかく
そのエラーは/bin/shが
cat <_io.StringIO object at 0x7f1360de01f0>
とかいう文字列を実行しようとして
>が出力のリダイレクトと解釈してその後にファイル名がないからエラーになってる
そのエラーは/bin/shが
cat <_io.StringIO object at 0x7f1360de01f0>
とかいう文字列を実行しようとして
>が出力のリダイレクトと解釈してその後にファイル名がないからエラーになってる
318316
2021/07/09(金) 07:49:00.55ID:6wIK8ZSE >>317
ありがとうございます!
例で実現したいことは、
$ python3 test2.py
12,34,56
この結果が出るにはどうしたら良いかが知りたいです。
シェルから見て実体のあるファイル名でないとダメってことですね。それはそうか。
一度ファイルシステムに書き出せば良いのでしょうが、それ以外の手はないでしょうか。
なお、例では長くなるのでcatコマンドに書き換えましたが、実際にやりたいことは
「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」というプログラムです。
処理結果の数字は毎秒積み上がっていくのと、プログラム終了時には実体のcsvファイルに書き出したいのとで
プログラム上では、StringIOを使ったcsvファイルとして処理したいです。
ありがとうございます!
例で実現したいことは、
$ python3 test2.py
12,34,56
この結果が出るにはどうしたら良いかが知りたいです。
シェルから見て実体のあるファイル名でないとダメってことですね。それはそうか。
一度ファイルシステムに書き出せば良いのでしょうが、それ以外の手はないでしょうか。
なお、例では長くなるのでcatコマンドに書き換えましたが、実際にやりたいことは
「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」というプログラムです。
処理結果の数字は毎秒積み上がっていくのと、プログラム終了時には実体のcsvファイルに書き出したいのとで
プログラム上では、StringIOを使ったcsvファイルとして処理したいです。
319デフォルトの名無しさん
2021/07/09(金) 08:12:26.61ID:2AR12dC9 >>318
>「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」
だったら質問の意味が尚更分からん
上記の処理を1プログラムでやりたいなら
Pythonで前処理⇒直接前処理結果をグラフ作画⇒作画後に必要に合わせてデータをcsv出力
っていう流れの方が良くね?
書き込んでから読み込む必要性が全く分からん
>「pythonの前段処理結果をcsvに書き込み、そのcsvをgnuplotで読み込んで作図(を毎秒繰り返し)」
だったら質問の意味が尚更分からん
上記の処理を1プログラムでやりたいなら
Pythonで前処理⇒直接前処理結果をグラフ作画⇒作画後に必要に合わせてデータをcsv出力
っていう流れの方が良くね?
書き込んでから読み込む必要性が全く分からん
320316
2021/07/09(金) 08:30:32.97ID:6wIK8ZSE >Pythonで前処理⇒直接前処理結果をグラフ作画
前処理では複数行複数列の数字(時間と温度です)を積み上げていくので、
その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです。
それとも、そもそもpythonスクリプトとしては前処理のアウトプットだけでexitし、
gnuplotはOS側シェルで普通に動かして前処理結果を使えば?という意味だとすれば、
今回はpythonスクリプト内でgnuplotを動かしたいです。
前処理では複数行複数列の数字(時間と温度です)を積み上げていくので、
その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです。
それとも、そもそもpythonスクリプトとしては前処理のアウトプットだけでexitし、
gnuplotはOS側シェルで普通に動かして前処理結果を使えば?という意味だとすれば、
今回はpythonスクリプト内でgnuplotを動かしたいです。
321デフォルトの名無しさん
2021/07/09(金) 08:51:54.66ID:sj/mydTS データが来るたびにファイルに追記していく(writeのあとにflush)
gnuplotは別に起動して毎秒ファイルを読み直す
と分けるのがよさそうに見える
gnuplotは別に起動して毎秒ファイルを読み直す
と分けるのがよさそうに見える
322デフォルトの名無しさん
2021/07/09(金) 09:04:12.08ID:2AR12dC9 >>320
>その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです
gunplotのマニュアル確認したけど、それなら素直にCSVファイルとして書き出さないと無理じゃないか?
大学か会社の都合か分からんけど
Pythonで素直に一連の動作をさせるなら
matplotlibの方がよっぽど楽だけど、それだとダメなんだよな
>その前処理結果のgnuplotへの渡し方としてcsvが適当かな、と思ったためです
gunplotのマニュアル確認したけど、それなら素直にCSVファイルとして書き出さないと無理じゃないか?
大学か会社の都合か分からんけど
Pythonで素直に一連の動作をさせるなら
matplotlibの方がよっぽど楽だけど、それだとダメなんだよな
323316
2021/07/09(金) 09:08:57.43ID:6wIK8ZSE もともとはシェルスクリプトでそんな感じでやっていて、
拾ってきたpythonで温度を測定し、結果を/tmp/temp.csvに書いてそれをgnuplotに読ませてました。
実はgnuplotが書いたグラフ(png)をまた(拾ってきた)pythonでOLEDに描画するという後処理もあって、
全工程で1秒ちょっとかかってました。
そこで、おっしゃ自前でpythonの1スクリプト化して高速化や!コピペマンから脱却するやでー!
という素人考えで今に至っています。
pythonの1スクリプトで、>>316に書いたtest1の方法(中間ファイル書く)でも
シェルスクリプト版の倍は速く動いてるので、あとはStringIOさえできれば…と思ってました。
何分素人なのでそもそもの考え方が間違ってるところもあるとは思いますが、
なぜそう思うに至ったか、という話でした。
拾ってきたpythonで温度を測定し、結果を/tmp/temp.csvに書いてそれをgnuplotに読ませてました。
実はgnuplotが書いたグラフ(png)をまた(拾ってきた)pythonでOLEDに描画するという後処理もあって、
全工程で1秒ちょっとかかってました。
そこで、おっしゃ自前でpythonの1スクリプト化して高速化や!コピペマンから脱却するやでー!
という素人考えで今に至っています。
pythonの1スクリプトで、>>316に書いたtest1の方法(中間ファイル書く)でも
シェルスクリプト版の倍は速く動いてるので、あとはStringIOさえできれば…と思ってました。
何分素人なのでそもそもの考え方が間違ってるところもあるとは思いますが、
なぜそう思うに至ったか、という話でした。
324316
2021/07/09(金) 09:14:25.66ID:6wIK8ZSE >>322
やっぱ実体としてのcsvファイルがないとダメですかね…ありがとうございます。
matplotlibはグラフ描くがgnuplotより難しそうだから見なかったことにしてました。
いい機会だから、もう一度調べてチャレンジしてみます。
やっぱ実体としてのcsvファイルがないとダメですかね…ありがとうございます。
matplotlibはグラフ描くがgnuplotより難しそうだから見なかったことにしてました。
いい機会だから、もう一度調べてチャレンジしてみます。
325デフォルトの名無しさん
2021/07/09(金) 09:20:09.59ID:2AR12dC9 >>323
すげえ面倒な方法で見える化やってるなwwwwww
慣れたらmatplotlibも描くの簡単だぞ、Pandasとかnumpyとの相性も良いし
ただ根本的な所で言えば、既存の見える化フローが結構ヤバイな
(グラフ画像をOLEDで映し出すっていうのが衝撃だわ)
抜本的に改善したいなら
Pythonでデータ処理⇒データベースに書き込み⇒データ系の見える化ツール
っていうのが理想形だな
TableauとかPower BIみたいなツール使うと見やすくなる(有償だけど)
無償ツールなら英語だけどGrafanaとかかな?
すげえ面倒な方法で見える化やってるなwwwwww
慣れたらmatplotlibも描くの簡単だぞ、Pandasとかnumpyとの相性も良いし
ただ根本的な所で言えば、既存の見える化フローが結構ヤバイな
(グラフ画像をOLEDで映し出すっていうのが衝撃だわ)
抜本的に改善したいなら
Pythonでデータ処理⇒データベースに書き込み⇒データ系の見える化ツール
っていうのが理想形だな
TableauとかPower BIみたいなツール使うと見やすくなる(有償だけど)
無償ツールなら英語だけどGrafanaとかかな?
326316
2021/07/09(金) 09:39:34.13ID:6wIK8ZSE >>325
今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
趣味の焙煎釜の温度変化を熱電対で計測し、手元でリアルタイムにグラフ描画したい、
そして記録をcsvに残したい、というのが目的です。
今は単機能の熱電対プローブでやっていて、温度変化が全くわからないので。
そこでまずはアリエクで300円しないOLEDを買ってラズパイに繋いで
gnuplotのpngをSPI接続のoledに送り出し続けるという形にしました。
ほんとはpythonからoledのライブラリとか使って直接描画とかもできるのかもしれませんが、
matplotlibともどもフタをしてました…
これがうまくいったら、OLEDやめてラズパイケース一体液晶にしても良いかなとは思っています。
GrafanaやPowerBIは別件で使ったこともあって、後分析には良いですよね。
今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
趣味の焙煎釜の温度変化を熱電対で計測し、手元でリアルタイムにグラフ描画したい、
そして記録をcsvに残したい、というのが目的です。
今は単機能の熱電対プローブでやっていて、温度変化が全くわからないので。
そこでまずはアリエクで300円しないOLEDを買ってラズパイに繋いで
gnuplotのpngをSPI接続のoledに送り出し続けるという形にしました。
ほんとはpythonからoledのライブラリとか使って直接描画とかもできるのかもしれませんが、
matplotlibともどもフタをしてました…
これがうまくいったら、OLEDやめてラズパイケース一体液晶にしても良いかなとは思っています。
GrafanaやPowerBIは別件で使ったこともあって、後分析には良いですよね。
327デフォルトの名無しさん
2021/07/09(金) 09:47:38.88ID:2AR12dC9 >>326
>今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
あーなるほど、そういう使い方もあるのか……俺の知識不足だったすまん
ただ結局グラフのpng画像を生成出来れば問題なさそうだし、matplotlibの差し替えが無難な気はするな
>今回はラズパイローカルでグラフを物理画面に即描画したいんですよね。
あーなるほど、そういう使い方もあるのか……俺の知識不足だったすまん
ただ結局グラフのpng画像を生成出来れば問題なさそうだし、matplotlibの差し替えが無難な気はするな
328デフォルトの名無しさん
2021/07/09(金) 23:58:06.76ID:dI9qqvw1 int型の足し算ではintクラスの持っている__add__メソッドが暗黙的に呼び出されていると思います。
ですが、
1.__add__(2)
のようにすると1+2が実行されず構文エラーになります。これは何故でしょうか?
str型の場合は問題なく実行され、以下の場合"aabb"が返ってきます。
"aa".__add__("bb")
ですが、
1.__add__(2)
のようにすると1+2が実行されず構文エラーになります。これは何故でしょうか?
str型の場合は問題なく実行され、以下の場合"aabb"が返ってきます。
"aa".__add__("bb")
329デフォルトの名無しさん
2021/07/10(土) 00:16:00.86ID:8UKJFvZ/ 詳しくないが 1. が小数になるのが原因だろう
(1).__add__(2)
とか
1..__add__(2)
ならエラーにならない
(1).__add__(2)
とか
1..__add__(2)
ならエラーにならない
330デフォルトの名無しさん
2021/07/10(土) 00:16:24.03ID:Rm9mfcPV 1.x(float)か1のメソッドなのか決まらないから
1.1.__add__とかはメソッドなのが分かるから通る
1.1.__add__とかはメソッドなのが分かるから通る
331デフォルトの名無しさん
2021/07/10(土) 00:59:10.02ID:MSe133Oz332デフォルトの名無しさん
2021/07/10(土) 10:33:46.40ID:chyfa+iT Python3.7で、pdbのtrace中とそれ以外でプログラムの挙動が異なるという問題に悩んでいます。
■現象
PySimpleGUIのpng画像をwhile True:で延々と更新し続ける処理が、
・pdb set_trace中は想定通りに画像が更新され続ける(ただし途中でpdbが止まる)
・traceを外すとそもそも画像が表示されない
■処理
"conv_image"を別関数で更新し続け、
このwindow更新行をwhileで回すだけの処理です。
window['-image-'].update(data=get_img_data(conv_image))
■pdbが止まる件
不思議なのは、通常pdbはデバッグ中に一度nで次に進むと、次行からはEnterだけでエラーのない限り進みますよね。
でもEnter押しっぱなしにしてると、この行でエラーの表示もなくpdbがいったん止まります。
nを押すと進み、画像が更新されます。
そこが問題のポイントなのかなと思いますが、それ以上の手がかりがありません。
■現象
PySimpleGUIのpng画像をwhile True:で延々と更新し続ける処理が、
・pdb set_trace中は想定通りに画像が更新され続ける(ただし途中でpdbが止まる)
・traceを外すとそもそも画像が表示されない
■処理
"conv_image"を別関数で更新し続け、
このwindow更新行をwhileで回すだけの処理です。
window['-image-'].update(data=get_img_data(conv_image))
■pdbが止まる件
不思議なのは、通常pdbはデバッグ中に一度nで次に進むと、次行からはEnterだけでエラーのない限り進みますよね。
でもEnter押しっぱなしにしてると、この行でエラーの表示もなくpdbがいったん止まります。
nを押すと進み、画像が更新されます。
そこが問題のポイントなのかなと思いますが、それ以上の手がかりがありません。
333デフォルトの名無しさん
2021/07/10(土) 10:43:05.45ID:lk+ovMEl >>332
再現できる最小限のコードを提示しましょう
再現できる最小限のコードを提示しましょう
334デフォルトの名無しさん
2021/07/10(土) 11:13:10.52ID:Ai3MLyk0 > get_img_data(conv_image)
この計算は一回でいいんじゃ
この計算は一回でいいんじゃ
335デフォルトの名無しさん
2021/07/10(土) 13:30:27.85ID:nAGZi/ZP GUIがメッセージを処理する時間がねえんじゃねえの
336332
2021/07/10(土) 14:33:07.51ID:chyfa+iT >>333
すみませんでした…
ttps://dpaste.com/AQL5WPNUS
手元のraspbian buster python3.7.3では、ここまで削っても
後ろから4行目のpdb.set_trace()有無で、>>332に書いた現象が出ます。
>>334
window['-image-'].update(data=conv_image)
こうでいいんじゃないの?と思って最初はこう書いてたんですが、
BytesIOが生で見えてるのか何なのか、"TypeError: 'int' object is not callable"エラーが出ます。
ググったところ、get_img_data関数(割と一般的らしい)を使えとあったのでそのようにしたところ、表示できるようになりました。
>>335
試しに2ヶ所あるwindow.updateの直後にtime.sleep(1)を入れてみたんですが、変化なしでした。
すみませんでした…
ttps://dpaste.com/AQL5WPNUS
手元のraspbian buster python3.7.3では、ここまで削っても
後ろから4行目のpdb.set_trace()有無で、>>332に書いた現象が出ます。
>>334
window['-image-'].update(data=conv_image)
こうでいいんじゃないの?と思って最初はこう書いてたんですが、
BytesIOが生で見えてるのか何なのか、"TypeError: 'int' object is not callable"エラーが出ます。
ググったところ、get_img_data関数(割と一般的らしい)を使えとあったのでそのようにしたところ、表示できるようになりました。
>>335
試しに2ヶ所あるwindow.updateの直後にtime.sleep(1)を入れてみたんですが、変化なしでした。
337デフォルトの名無しさん
2021/07/10(土) 16:36:24.47ID:c5RJ/qlV338デフォルトの名無しさん
2021/07/10(土) 18:01:51.33ID:lk+ovMEl window.read()してないのでtk.update()が呼ばれず画面が更新されない
window.TKroot.update()を呼べば画面が更新されるが
直接呼ばずにwindow.read()を使ってメッセージループを作るほうがいい
デバッグセッション時はそれだと使いにくいから何か対処されてるっぽい
window.TKroot.update()を呼べば画面が更新されるが
直接呼ばずにwindow.read()を使ってメッセージループを作るほうがいい
デバッグセッション時はそれだと使いにくいから何か対処されてるっぽい
339332
2021/07/10(土) 18:38:29.97ID:chyfa+iT ありがとうございます。なるほど…!
どこかでサンプルプログラムをコピペしつつ、ボタンはどうでもいいから
とりあえず画像表示ループだけ回そうと適当かつ中途半場に行を削除してしまったので、
その結果イベント処理が進まない状態ということですね。
すごく良くわかりました。
どう処理するかよく考えて書き直してみます。
どこかでサンプルプログラムをコピペしつつ、ボタンはどうでもいいから
とりあえず画像表示ループだけ回そうと適当かつ中途半場に行を削除してしまったので、
その結果イベント処理が進まない状態ということですね。
すごく良くわかりました。
どう処理するかよく考えて書き直してみます。
340デフォルトの名無しさん
2021/07/11(日) 08:30:07.56ID:k6naGpL9 ユニークな長いリスト src があって
おのれはユニークだけどsrcと重複しうるリスト reqがある
reqの要素がひとつでもsrcにあれば云々したい
速いのを探しています。外部ライブラリは使えない
test = set(req)
bool([i for i in req if i in test])
?
おのれはユニークだけどsrcと重複しうるリスト reqがある
reqの要素がひとつでもsrcにあれば云々したい
速いのを探しています。外部ライブラリは使えない
test = set(req)
bool([i for i in req if i in test])
?
341デフォルトの名無しさん
2021/07/11(日) 09:23:01.16ID:FD6lxZ3g any()かfor-loopのearly breakを使う
srcは長くて固定的、reqは短くて毎回変わるなら
srcのほうをsetにして管理したほうがいい
srcは長くて固定的、reqは短くて毎回変わるなら
srcのほうをsetにして管理したほうがいい
342デフォルトの名無しさん
2021/07/11(日) 10:48:10.63ID:k6naGpL9 いや冷静に考えたら
フツーにset(src)&set(req)か
フツーにset(src)&set(req)か
343デフォルトの名無しさん
2021/07/11(日) 10:50:02.39ID:BLRKNf/m 共通要素を全て調べ上げる必要が無いなら>>341の方が速いな
344デフォルトの名無しさん
2021/07/11(日) 11:14:07.88ID:k3ZSGeVZ345デフォルトの名無しさん
2021/07/11(日) 12:26:28.31ID:k6naGpL9346デフォルトの名無しさん
2021/07/11(日) 12:57:32.61ID:xAgoNPlJ >>258
分かりやすい
分かりやすい
347デフォルトの名無しさん
2021/07/11(日) 19:05:49.41ID:akfEDp81 違和感というのは[]を()のように捉えてるから
リストや文字列に対する*は数学の掛け算とは無関係
要素数を増やせという機能
> [3*3] -> [9]
数学の掛け算
> [3]*3 -> [3, 3, 3]
リスト内の要素3を数で3つに増やせ
> [[3*3]] -> [[9]]
掛け算
> [[3]*3] -> [[3, 3, 3]]
内側のリストの要素3の数を3つに増やせ
> [[3]]*3 -> [[3], [3], [3]]
リストの要素[3]を3つに増やせ
リストや文字列に対する*は数学の掛け算とは無関係
要素数を増やせという機能
> [3*3] -> [9]
数学の掛け算
> [3]*3 -> [3, 3, 3]
リスト内の要素3を数で3つに増やせ
> [[3*3]] -> [[9]]
掛け算
> [[3]*3] -> [[3, 3, 3]]
内側のリストの要素3の数を3つに増やせ
> [[3]]*3 -> [[3], [3], [3]]
リストの要素[3]を3つに増やせ
348デフォルトの名無しさん
2021/07/11(日) 20:54:53.44ID:yIl0mON7 どうした急に
349デフォルトの名無しさん
2021/07/11(日) 21:15:21.80ID:BeeJLMuH 発作よ
お薬を忘れたみたいね
お薬を忘れたみたいね
350デフォルトの名無しさん
2021/07/12(月) 00:05:06.94ID:hfOyhNhX サブクラスからスーパークラスのメソッドを呼び出す場合、次の@とAは同じ意味ですか?
同じならどちらで書いた方がいいとかありますか?
class MyClass1:
def __init__(self, name):
self.name = name
class MyClass2(MyClass1):
def __init__(self, name):
@ super().__init__(name)
A MyClass1.__init__(self, name)
同じならどちらで書いた方がいいとかありますか?
class MyClass1:
def __init__(self, name):
self.name = name
class MyClass2(MyClass1):
def __init__(self, name):
@ super().__init__(name)
A MyClass1.__init__(self, name)
351デフォルトの名無しさん
2021/07/12(月) 00:29:53.14ID:2Zpr4/N8 わざわざsuper というキーワードが用意されているのだから使わない理由ないだろ
クラス名を変更した際の影響範囲を考えてみよう
クラス名を変更した際の影響範囲を考えてみよう
352デフォルトの名無しさん
2021/07/12(月) 11:10:07.04ID:4WArcuIG >>350
その例だと同じだけど複数から継承するようなクラスを使う場合は
super()が返すものが普通に想像するものとは違ってくるケースもあるので注意が必要
https://fuhm.net/super-harmful/
その例だと同じだけど複数から継承するようなクラスを使う場合は
super()が返すものが普通に想像するものとは違ってくるケースもあるので注意が必要
https://fuhm.net/super-harmful/
353デフォルトの名無しさん
2021/07/12(月) 19:50:10.58ID:QV5M7VnV >>347
数学と無関係ではないよ、加群としてとらえても矛盾のない演算になってるでしょ
数学と無関係ではないよ、加群としてとらえても矛盾のない演算になってるでしょ
354デフォルトの名無しさん
2021/07/12(月) 20:27:18.44ID:HIUYKm1A それは*3が同じものを3つ足し合わせなさいという
常識的な意味合いをわかりやすさのために利用してるだけで
数学的なことなら割り算もあるでしょ
常識的な意味合いをわかりやすさのために利用してるだけで
数学的なことなら割り算もあるでしょ
355デフォルトの名無しさん
2021/07/12(月) 21:40:52.58ID:4WArcuIG 常識的な意味合いかぁ・・・
演算子オーバーロードの悪い見本にしか見えない
演算子オーバーロードの悪い見本にしか見えない
356デフォルトの名無しさん
2021/07/13(火) 01:00:18.86ID:o9TqNFAF357デフォルトの名無しさん
2021/07/13(火) 05:15:40.15ID:eWSxSU0S 数学っぽくやるなら
[3]*3->[9]
[1, 2]*3->[3, 6]
のほうがより直感的だった気はする
[3]*3->[9]
[1, 2]*3->[3, 6]
のほうがより直感的だった気はする
358デフォルトの名無しさん
2021/07/13(火) 05:42:16.34ID:QsXB5/qu numpyはそうなってるね
359デフォルトの名無しさん
2021/07/13(火) 11:39:29.89ID:Oq4/PEVt pythonバージョン3.8.1で次のようなことをしようとしていますが、関数の配置に困っています。
次にするイベントを抽選する
↓
イベントを実行する
↓
イベント終了後にイベント抽選へ戻る
しかし、これだとイベントを抽選する関数をイベントの関数より上に置くとイベント抽選の関数がイベントの関数を認識してくれず、
下に置くと、各イベントの関数がイベント抽選の関数を認識してくれません。
なんとか動かす方法はないものでしょうか?
次にするイベントを抽選する
↓
イベントを実行する
↓
イベント終了後にイベント抽選へ戻る
しかし、これだとイベントを抽選する関数をイベントの関数より上に置くとイベント抽選の関数がイベントの関数を認識してくれず、
下に置くと、各イベントの関数がイベント抽選の関数を認識してくれません。
なんとか動かす方法はないものでしょうか?
360デフォルトの名無しさん
2021/07/13(火) 11:45:58.98ID:uAPVX+Xy 5chのこの板のAndroid版のスレタイトル一覧を取得したいのですが、スレタイトル部分だけ抜けてしまいます。
htmlを見ると、スレタイトル部分はjava scriptを呼び出して(?)表示しているようです。
このような別から呼び出す仕組みの検索語だけでも知りたいです。
実行環境はWindows10のcolabです。
何卒よろしくお願いします。
以下がソースとhtml抜粋です。
https://pastebin.com/dq4FFsM3
htmlを見ると、スレタイトル部分はjava scriptを呼び出して(?)表示しているようです。
このような別から呼び出す仕組みの検索語だけでも知りたいです。
実行環境はWindows10のcolabです。
何卒よろしくお願いします。
以下がソースとhtml抜粋です。
https://pastebin.com/dq4FFsM3
361デフォルトの名無しさん
2021/07/13(火) 11:52:22.48ID:eWSxSU0S 相互参照は常に避けるよう心がけるべき。
回避する方法はいろいろあるけど、
イベント抽選関数はイベントの関数に引数として渡してあげるとか、
イベントの関数はすべて同じ引数、戻り値にしておいて、イベント抽選システムへ予め登録しておく方式にするとか
回避する方法はいろいろあるけど、
イベント抽選関数はイベントの関数に引数として渡してあげるとか、
イベントの関数はすべて同じ引数、戻り値にしておいて、イベント抽選システムへ予め登録しておく方式にするとか
362デフォルトの名無しさん
2021/07/13(火) 11:55:28.21ID:I5G4+d/9 知らんけどmain関数のなかにwhile True: 抽選関数()
みたいにしてループさせて抽選されたイベント自体は抽選関数を呼ばなければいいだけじゃないの
みたいにしてループさせて抽選されたイベント自体は抽選関数を呼ばなければいいだけじゃないの
363デフォルトの名無しさん
2021/07/13(火) 11:59:46.95ID:0QNuXsy/ ttps://mevius.5ch.net/tech/subject.txt
> スレタイトル一覧を取得したい
> このような別から呼び出す仕組みの検索語だけでも知りたい
どっち?
スレタイ取得ならsubject.txt読ませればいいじゃん
わざわざしかもitestのhtmlをスクレイピングする理由あるの?
> スレタイトル一覧を取得したい
> このような別から呼び出す仕組みの検索語だけでも知りたい
どっち?
スレタイ取得ならsubject.txt読ませればいいじゃん
わざわざしかもitestのhtmlをスクレイピングする理由あるの?
364デフォルトの名無しさん
2021/07/13(火) 12:22:40.44ID:WUJYnH4r365デフォルトの名無しさん
2021/07/13(火) 12:24:59.10ID:WUJYnH4r >>359
前方参照でぐぐれ
前方参照でぐぐれ
366デフォルトの名無しさん
2021/07/13(火) 12:26:33.03ID:WUJYnH4r >>360
5chはスクレイピング禁止
5chはスクレイピング禁止
367デフォルトの名無しさん
2021/07/13(火) 12:31:27.78ID:QsXB5/qu >>359
イベントの関数定義と、抽選・実行をする処理とはファイルを分けて
前者を後者のファイルでimportして使う
1ファイルでできなくもないけど
モジュール分割を早めに覚えておいたほうが散らかりにくい
イベントの関数定義と、抽選・実行をする処理とはファイルを分けて
前者を後者のファイルでimportして使う
1ファイルでできなくもないけど
モジュール分割を早めに覚えておいたほうが散らかりにくい
368デフォルトの名無しさん
2021/07/13(火) 12:43:35.25ID:dtNqNBdW >>360
Ruby, selenium-webdriver では、
execute_script で、そのまま、JavaScript ソースコードを実行できる
ただし、5ch で頻繁にスクレイピングすると、アク禁にされるかも
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り放す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 15 # 要素の検索の timeout
url = "サイトのURL"
driver.navigate.to url # 移動する
js_code = <<"EOT"
var elem = document.getElementById( 'abc' );
EOT
driver.execute_script js_code # JavaScript を実行
Ruby, selenium-webdriver では、
execute_script で、そのまま、JavaScript ソースコードを実行できる
ただし、5ch で頻繁にスクレイピングすると、アク禁にされるかも
require "selenium-webdriver"
options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り放す
options.add_argument( '--start-maximized' ) # 画面最大
driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 15 # 要素の検索の timeout
url = "サイトのURL"
driver.navigate.to url # 移動する
js_code = <<"EOT"
var elem = document.getElementById( 'abc' );
EOT
driver.execute_script js_code # JavaScript を実行
369368
2021/07/13(火) 13:03:34.95ID:dtNqNBdW 5ch は最初に、空のHTML を送ってきてから、
その後、JavaScript(Ajax)で通信して、内容を取り込む
だから単に、Ruby のNokogiri などでスクレイピングをしても、
空のHTML が取れるだけで、まだ内容が読み込まれていない
だから、15秒ぐらいスリープして、内容が読み込まれるまで待つ必要がある
または、selenium-webdriver で、ブラウザを自動操作して、
driver.manage.timeouts.implicit_wait = 15 # 要素の検索の timeout
みたいに、要素が存在しない場合に、何秒待つか指定する
その後、JavaScript(Ajax)で通信して、内容を取り込む
だから単に、Ruby のNokogiri などでスクレイピングをしても、
空のHTML が取れるだけで、まだ内容が読み込まれていない
だから、15秒ぐらいスリープして、内容が読み込まれるまで待つ必要がある
または、selenium-webdriver で、ブラウザを自動操作して、
driver.manage.timeouts.implicit_wait = 15 # 要素の検索の timeout
みたいに、要素が存在しない場合に、何秒待つか指定する
370359
2021/07/13(火) 13:16:57.35ID:Oq4/PEVt ご回答ありがとうございました。
私があまりに初心者過ぎて、せっかくの具体的なご回答をほぼ理解できませんでしたが、
この状態を相互参照と呼ぶことが分かってようやくググることができ、
>>362さんのレスから着想を得て、main関数を作ってプログラムを全部括れば動くということが判明しました。
以上ご報告と御礼申し上げます。
私があまりに初心者過ぎて、せっかくの具体的なご回答をほぼ理解できませんでしたが、
この状態を相互参照と呼ぶことが分かってようやくググることができ、
>>362さんのレスから着想を得て、main関数を作ってプログラムを全部括れば動くということが判明しました。
以上ご報告と御礼申し上げます。
371360
2021/07/13(火) 17:54:03.79ID:28i3hfQd372デフォルトの名無しさん
2021/07/13(火) 18:33:25.76ID:KwvhlQcy373デフォルトの名無しさん
2021/07/13(火) 20:54:54.99ID:4WrY8hy5 何このruby基地外の自作自演
きっしょ
きっしょ
374デフォルトの名無しさん
2021/07/15(木) 02:12:23.66ID:0WF/Cs9d スクレイピングでrequestsで上手く取得できないサイトはSeleniumで取得するようにしてるんだけどこれにThreadPoolExecutorを使用するとしたらどういう書き方すればいいの
今までは複数のサイトのURLが入ったリストをfor文で回しつつif文でドメインが一致するかどうかでrequestsとSeleniumを使い分けていたけど非同期にするとなるとさっぱりわからん
今までは複数のサイトのURLが入ったリストをfor文で回しつつif文でドメインが一致するかどうかでrequestsとSeleniumを使い分けていたけど非同期にするとなるとさっぱりわからん
375デフォルトの名無しさん
2021/07/15(木) 12:00:52.16ID:Rdfymp1t クラスのメンバをforループのように回す方法はないですか?イメージは、
class Test:
a=0
b=0
c=0
def _print(self):
for member in self:
print(member)
みたいなことをやりたいです。
class Test:
a=0
b=0
c=0
def _print(self):
for member in self:
print(member)
みたいなことをやりたいです。
376デフォルトの名無しさん
2021/07/15(木) 12:05:26.72ID:erbvpp8v __iter__か__getitem__を定義すればいけるはず
377デフォルトの名無しさん
2021/07/15(木) 12:46:48.66ID:82cJAwkj 試してないけど、
for v in vars(self):
print(getatter(self, v))
for v in vars(self):
print(getatter(self, v))
378デフォルトの名無しさん
2021/07/15(木) 15:25:55.52ID:ygp86UHP379デフォルトの名無しさん
2021/07/15(木) 16:37:18.28ID:0u9iXN8m そういうクラスのためのdataclass
astuple, asdictでイテレートもできる。
自分で用意できないクラスのオブジェクトの時は、dir()で列挙した後にごにょごにょしていく必要があるけど。
astuple, asdictでイテレートもできる。
自分で用意できないクラスのオブジェクトの時は、dir()で列挙した後にごにょごにょしていく必要があるけど。
380デフォルトの名無しさん
2021/07/15(木) 16:50:42.66ID:TtIRjd2i この度pyinstallerでどのshell環境でも動作するコマンドを作成しました。
しかし5年前くらいのIntelMacでさえ快適に動作しますが、
M1macbookではかなりもっさりして遅いのです。
これはarm64アーキテクチャのせいで遅い可能性はありますか??
またこういったケースでの改善策などありますか??
arm64用にコンパイル方法などありましたら教えてください。
コマンドはスクレイピングした結果を別ファイルに落とす
シンプルなコマンドです。
shellscriptだとちょい面倒だったのでpythonで書きました。
しかし5年前くらいのIntelMacでさえ快適に動作しますが、
M1macbookではかなりもっさりして遅いのです。
これはarm64アーキテクチャのせいで遅い可能性はありますか??
またこういったケースでの改善策などありますか??
arm64用にコンパイル方法などありましたら教えてください。
コマンドはスクレイピングした結果を別ファイルに落とす
シンプルなコマンドです。
shellscriptだとちょい面倒だったのでpythonで書きました。
381デフォルトの名無しさん
2021/07/15(木) 20:50:47.41ID:Rdfymp1t382デフォルトの名無しさん
2021/07/15(木) 21:02:10.64ID:gFOIdhYR >>374
AWS なら、Lambda, SQS などを使えば?
AWS なら、Lambda, SQS などを使えば?
383デフォルトの名無しさん
2021/07/15(木) 21:48:55.17ID:NjXHl1NW >>381
for v in sorted(vars(self))でどう?
for v in sorted(vars(self))でどう?
384デフォルトの名無しさん
2021/07/17(土) 15:16:05.35ID:eTC1af8g 定義順に出てくれないと困ってしまう
source を parse 汁
source を parse 汁
385デフォルトの名無しさん
2021/07/17(土) 15:16:05.74ID:eTC1af8g 定義順に出てくれないと困ってしまう
source を parse 汁
source を parse 汁
386デフォルトの名無しさん
2021/07/17(土) 17:21:49.51ID:6TQt0Sye seleniumって、3つくらいタブを開いて作業して、そのままwindowsを休止状態にして翌日立ち上げ直すと、開いていたタブを忘れるよね。
no such window とかエラー吐く
no such window とかエラー吐く
387デフォルトの名無しさん
2021/07/17(土) 19:16:44.63ID:m/nn+SPH スリープ時にsession ID無効にしてるんじゃ
仕様でそうであっても不思議ではない
仕様でそうであっても不思議ではない
388デフォルトの名無しさん
2021/07/18(日) 16:26:22.10ID:8WwhxwTZ 質問です。
https://docs.python.org/ja/3.10/library/typing.html
に記載の
-----
@overload
def process(response: None) -> None:
...
@overload
def process(response: int) -> tuple[int, str]:
...
@overload
def process(response: bytes) -> str:
...
def process(response):
<actual implementation>
-----
の「...」はどういう意味でしょうか。
vscodeでそのまま...で書いたら特にmypyやflake8はエラーも吐かずに、
そのまま実行できたので、何かしらの文法かとは思っていますが、検索して見つからず、passとの違いが気になりまして。
https://docs.python.org/ja/3.10/library/typing.html
に記載の
-----
@overload
def process(response: None) -> None:
...
@overload
def process(response: int) -> tuple[int, str]:
...
@overload
def process(response: bytes) -> str:
...
def process(response):
<actual implementation>
-----
の「...」はどういう意味でしょうか。
vscodeでそのまま...で書いたら特にmypyやflake8はエラーも吐かずに、
そのまま実行できたので、何かしらの文法かとは思っていますが、検索して見つからず、passとの違いが気になりまして。
389デフォルトの名無しさん
2021/07/18(日) 16:35:53.43ID:sC7cbule インタプリタを起動して...だけ入力してEnterしてみれば分かるよ
答え言っちゃうと...はEllipsisオブジェクトを作る省略記法だな
ただし引用されてるコードはEllipsisオブジェクトを作ることを意図してる訳ではなく
単に「ここには任意の実装がありますが、説明したいことの本質とは無関係なので省略しますよ」という意味で書かれているだろう
プログラムの話というよりは国語の話だ
答え言っちゃうと...はEllipsisオブジェクトを作る省略記法だな
ただし引用されてるコードはEllipsisオブジェクトを作ることを意図してる訳ではなく
単に「ここには任意の実装がありますが、説明したいことの本質とは無関係なので省略しますよ」という意味で書かれているだろう
プログラムの話というよりは国語の話だ
390デフォルトの名無しさん
2021/07/18(日) 16:53:56.22ID:8WwhxwTZ >389
ちょっとEllipsisでしらべてみましたが、オブジェクトを返すんですね。
理解しました、ありがとうございました。
ちょっとEllipsisでしらべてみましたが、オブジェクトを返すんですね。
理解しました、ありがとうございました。
391デフォルトの名無しさん
2021/07/18(日) 17:44:08.93ID:UkQCwsAx お聞きしたいことがあります。変数の定義に1以上□以下。とやりたいのですが、□にまた別の変数を入れたいのです。この場合どうすればいいのでしょう。別の変数はちゃんと整数で定義してあります。
そして、その定義内の全部の数字を一つずつ代入して計算する。というのもやりたいです。立式はもちろんできるんですけど、プログラムに反映させるのがどうにも難しくて。調べてもよくわからないのです。恐らく調べ方が悪いだけなのかもしれませんが。。よろしくお願いします。
そして、その定義内の全部の数字を一つずつ代入して計算する。というのもやりたいです。立式はもちろんできるんですけど、プログラムに反映させるのがどうにも難しくて。調べてもよくわからないのです。恐らく調べ方が悪いだけなのかもしれませんが。。よろしくお願いします。
392デフォルトの名無しさん
2021/07/18(日) 18:00:24.58ID:jPlpwmso numpy 使え
linspec
linspec
393デフォルトの名無しさん
2021/07/18(日) 18:07:48.06ID:aN3/9svp >>391
foo = range(1, x + 1)
foo = range(1, x + 1)
394デフォルトの名無しさん
2021/07/18(日) 18:19:36.49ID:UkQCwsAx >>392>>393
申し訳ないです。numpyは入れましたが分かりませぬ。そして393さんの式が何を意味してるのかも分かりません。
当方中学生なもので。プログラミングの知識が皆無と言って良いほどなんです。すみません
申し訳ないです。numpyは入れましたが分かりませぬ。そして393さんの式が何を意味してるのかも分かりません。
当方中学生なもので。プログラミングの知識が皆無と言って良いほどなんです。すみません
395デフォルトの名無しさん
2021/07/18(日) 18:54:09.31ID:Xl9gD1Ws >>394
中学生が5chのプログラム板に流れ着くっていうのも凄いな
簡単なサンプルコードをとりあえず出しておくけど
入門書とかまだやってないなら、一旦そっちやった方が良いかもな
(質問の内容ぐらいだったら、ライブラリとかは不要で基本を組み合わせるだけで出来る)
https://ideone.com/q7v4da
中学生が5chのプログラム板に流れ着くっていうのも凄いな
簡単なサンプルコードをとりあえず出しておくけど
入門書とかまだやってないなら、一旦そっちやった方が良いかもな
(質問の内容ぐらいだったら、ライブラリとかは不要で基本を組み合わせるだけで出来る)
https://ideone.com/q7v4da
396デフォルトの名無しさん
2021/07/18(日) 19:40:52.85ID:gLxBARQW 半年ROMって無さそう
397デフォルトの名無しさん
2021/07/18(日) 20:14:56.68ID:KenitbzS s=15
list1=range(1,s+1)
map(f,list1)
list1=range(1,s+1)
map(f,list1)
398デフォルトの名無しさん
2021/07/20(火) 09:21:51.96ID:2ecX9oPq 自称中学生のおっさん臭プンプン投稿
399デフォルトの名無しさん
2021/07/20(火) 09:31:55.38ID:2ecX9oPq400デフォルトの名無しさん
2021/07/20(火) 12:30:08.20ID:Mdyk1C1W 命名規則スレに書くか迷ったんだけどとりあえずこっちで…
tkinterでラベルとかボタン複数作るとき
各々text埋め込むんじゃなくて、名前テーブル参照するようにしたい
このときたとえば
self.x_btn = tk.Button(root, text=self.db.name[0])
てすると、これインデックスがマジックナンバー化すると思うんだけど
通常どのような呼び出し設計にするのですか?
self.db.name["ウィジェット名"]とか?
tkinterでラベルとかボタン複数作るとき
各々text埋め込むんじゃなくて、名前テーブル参照するようにしたい
このときたとえば
self.x_btn = tk.Button(root, text=self.db.name[0])
てすると、これインデックスがマジックナンバー化すると思うんだけど
通常どのような呼び出し設計にするのですか?
self.db.name["ウィジェット名"]とか?
401デフォルトの名無しさん
2021/07/20(火) 18:51:14.03ID:zCG2UJGN 通常はリテラルで直接textに代入して
数が多かったらwidth等と合わせてリスト化して
for i inで回すかな
数が多かったらwidth等と合わせてリスト化して
for i inで回すかな
402デフォルトの名無しさん
2021/07/20(火) 19:37:39.84ID:b4jpo/5+ テーブルにする必要があるのか?
直でいい気もするけど、それが嫌ならどこかに
BUTTON_NAME_XXX = "XXXのボタン名"
・・・
とか羅列していってそこ参照して終わり
テキスト以外にフォントや背景色とか配置情報まで全部まとめてdbのように管理して自動配置したいってなら分からなくもないけど
テキストだけならいらない、やってる感出るだけで意味があまりない
直でいい気もするけど、それが嫌ならどこかに
BUTTON_NAME_XXX = "XXXのボタン名"
・・・
とか羅列していってそこ参照して終わり
テキスト以外にフォントや背景色とか配置情報まで全部まとめてdbのように管理して自動配置したいってなら分からなくもないけど
テキストだけならいらない、やってる感出るだけで意味があまりない
403デフォルトの名無しさん
2021/07/20(火) 21:14:39.90ID:Mdyk1C1W あー定数のようなものにして
テーブル相当の場所に列挙しとく感じですね
なるほど
テーブル相当の場所に列挙しとく感じですね
なるほど
404デフォルトの名無しさん
2021/07/24(土) 07:46:47.19ID:7TtC0ooc requestsでtry:except:で特に問題なく使ってたけど
なぜかプログラムが止まることがあってどこでループでもしてるのかと探してたらrequestsのタイムアウトが原因だった
今までのサイトでtimeout設定なしで止まったことなかったので新たな発見だった
なぜかプログラムが止まることがあってどこでループでもしてるのかと探してたらrequestsのタイムアウトが原因だった
今までのサイトでtimeout設定なしで止まったことなかったので新たな発見だった
405デフォルトの名無しさん
2021/07/24(土) 14:55:00.78ID:hiQTHxs1 Scrapyくわしい人おるか?
Spiderにインスタンス変数持たせたいんだけど
__Init__をオーバライドしてやるしかないの?
スパイだのobjectが変数持ってくれたら何でもいいんだけど
Spiderにインスタンス変数持たせたいんだけど
__Init__をオーバライドしてやるしかないの?
スパイだのobjectが変数持ってくれたら何でもいいんだけど
406デフォルトの名無しさん
2021/07/24(土) 16:34:15.11ID:rOUP+Gb+ __init__が要件を満たさない理由を書けよ
それが明らかでないと、別の方法を提案しても同じ理由で要件を満たさないかもしれないし
そうなると二度手間だろ
それが明らかでないと、別の方法を提案しても同じ理由で要件を満たさないかもしれないし
そうなると二度手間だろ
407デフォルトの名無しさん
2021/07/24(土) 17:01:57.99ID:hiQTHxs1 >>406
単純にSuperするのがマンドクセからです
重厚なフレームワーク使ってるんだからなんか他の方法あるかなーと思いました。
Response.meta に入れたら次のResponse にも引き継げる?
単純にSuperするのがマンドクセからです
重厚なフレームワーク使ってるんだからなんか他の方法あるかなーと思いました。
Response.meta に入れたら次のResponse にも引き継げる?
408デフォルトの名無しさん
2021/07/24(土) 18:51:04.23ID:LBBZ+Kmj しょうもな
409デフォルトの名無しさん
2021/07/24(土) 19:18:50.35ID:vC93mKDQ 馬鹿には無理
410デフォルトの名無しさん
2021/07/24(土) 19:22:14.64ID:zcVNczsi pythonしか知らないんですが
普通のアプリケーションってリリース後にパッチ当てれますよね
pythonをpyinstallerしたやつを公開したあと
パッチリリースってできるんですか?
検索ワードすら思いつかない(モンキーパッチばかりヒットする)ので、ヒントだけでもください
普通のアプリケーションってリリース後にパッチ当てれますよね
pythonをpyinstallerしたやつを公開したあと
パッチリリースってできるんですか?
検索ワードすら思いつかない(モンキーパッチばかりヒットする)ので、ヒントだけでもください
411デフォルトの名無しさん
2021/07/24(土) 19:23:20.77ID:zcVNczsi 失礼
普通のアプリケーション ☓
普通の(Cとかの)言語のアプリケーション ○
普通のアプリケーション ☓
普通の(Cとかの)言語のアプリケーション ○
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★3 [お断り★]
- アメリカ議会 「中国が台湾武力侵攻する準備を急速進展中」 ★4 [お断り★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁 [七波羅探題★]
- 【高市自民】中国軍SNS 高市首相に怖すぎる地獄絵で警告、火の海の靖国神社「自ら墓穴を掘り、戻れない道へ進む」 [夜のけいちゃん★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★9 [樽悶★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 [蚤の市★]
- 【悲報】大手経済誌が年収が低い会社ランキングを発表、Vtuberのにじさんじがランクインしてしまう…
- 【憲法改正】起草委員会、設置へ [476729448]
- 3K新聞「高市首相「馬車馬」の1カ月…宿舎で猛勉強、外交乗り切る 会食なく睡眠不足、心配の声も」 [834922174]
- 【35🌸専】なんG さくらみこ桃鉄配信実況スレ🏡【ホロライブ▶】
- 即席ラーメンとウィンナーがあるんだけどラーメンの中にウィンナー入れる?別々に食う?
- 「薬屋のひとりごと」←こいつに対する正直な感想
