当スレに★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
レス数が1000を超えています。これ以上書き込みはできません。
2021/06/09(水) 21:05:44.61ID:zRBfpo4e
2デフォルトの名無しさん
2021/06/10(木) 09:09:42.55ID:fGM4j9Qy >>> a=10
>>> x=[a]
>>> x
[10]
>>> a=20
>>> x
[10]
>>> a
20
>>>
なんでxが[20]にならないの?
そうなるにはどうすればいいの?
>>> x=[a]
>>> x
[10]
>>> a=20
>>> x
[10]
>>> a
20
>>>
なんでxが[20]にならないの?
そうなるにはどうすればいいの?
2021/06/10(木) 09:52:24.45ID:VzpKjmfX
数は書き換え不可の型なんで無理。
a自体を書き換え可能なオブジェクト、例えば配列に入れ込めば、似たようなことは出来なくもないが…
a = [1]
x = [a]
a = [2]
x
a自体を書き換え可能なオブジェクト、例えば配列に入れ込めば、似たようなことは出来なくもないが…
a = [1]
x = [a]
a = [2]
x
4デフォルトの名無しさん
2021/06/10(木) 11:03:02.88ID:smul9M+b5デフォルトの名無しさん
2021/06/10(木) 11:05:06.12ID:smul9M+b >>3
ちょっと何言ってるか判らない
ちょっと何言ってるか判らない
2021/06/10(木) 11:38:53.73ID:VzpKjmfX
2021/06/10(木) 19:34:32.89ID:lViDT5hn
リストに何でも入るから
思いつきは失敗する
思いつきは失敗する
2021/06/10(木) 21:26:49.02ID:8fi5Ujsh
Pycharmの自動整形には参ったよ
Javaで作ったやつコピペしたらいろいろとやってくれる
リテラルなんか一文字消えてたり空白入れてみたり
実際走らせて気が付くレベル
Javaで作ったやつコピペしたらいろいろとやってくれる
リテラルなんか一文字消えてたり空白入れてみたり
実際走らせて気が付くレベル
2021/06/12(土) 22:29:20.54ID:0anF7A9v
openで開いたファイルオブジェクトをforループで読み込む場合、forにオブジェクトをそのまま添えて一行ずつ読み込めるとのことですが
printするとオブジェクトがそのまま表示されてしまいます(_io.TextIOWrapper〜)
みんなのpythonのとおりにやっているつもりですが何がいけないのでしょうか?
python3.7.4を使用しています
printするとオブジェクトがそのまま表示されてしまいます(_io.TextIOWrapper〜)
みんなのpythonのとおりにやっているつもりですが何がいけないのでしょうか?
python3.7.4を使用しています
2021/06/12(土) 22:40:15.04ID:GOzpxksd
open(a.txt) as f
でfのメソッド使わないと
fがラッパー
そのプログラム見てみたい
でfのメソッド使わないと
fがラッパー
そのプログラム見てみたい
2021/06/12(土) 22:44:23.46ID:0anF7A9v
2021/06/12(土) 22:44:48.20ID:qlTYomdI
2021/06/12(土) 23:31:01.35ID:0anF7A9v
>>12
ありがとうございます、無事解決しました
ありがとうございます、無事解決しました
14デフォルトの名無しさん
2021/06/13(日) 02:45:35.12ID:6oAiR6bp コマンドライン上(bash)で任意のpythonファイルを実行した時に引数に
色を渡してその色で出力したいのですがどう書けばいいでしょうか?
defの引数に(出力したい色, 出力したい文字列)を渡して
色々やってるのですが、詰んでいてどなたか教えてください。。
スッピン書きでは動作確認取れています。(print(pycolor.RED + word + pycolor.END))
class pycolor:
BLACK = '\033[30m'
RED = '\033[31m'
GREEN = '\033[32m'
YELLOW = '\033[33m'
BLUE = '\033[34m'
PURPLE = '\033[35m'
CYAN = '\033[36m'
WHITE = '\033[37m'
RETURN = '\033[07m' #反転
ACCENT = '\033[01m' #強調
FLASH = '\033[05m' #点滅
RED_FLASH = '\033[05;41m' #赤背景+点滅
END = '\033[0m'
色を渡してその色で出力したいのですがどう書けばいいでしょうか?
defの引数に(出力したい色, 出力したい文字列)を渡して
色々やってるのですが、詰んでいてどなたか教えてください。。
スッピン書きでは動作確認取れています。(print(pycolor.RED + word + pycolor.END))
class pycolor:
BLACK = '\033[30m'
RED = '\033[31m'
GREEN = '\033[32m'
YELLOW = '\033[33m'
BLUE = '\033[34m'
PURPLE = '\033[35m'
CYAN = '\033[36m'
WHITE = '\033[37m'
RETURN = '\033[07m' #反転
ACCENT = '\033[01m' #強調
FLASH = '\033[05m' #点滅
RED_FLASH = '\033[05;41m' #赤背景+点滅
END = '\033[0m'
2021/06/13(日) 06:19:52.00ID:d/vYrCOI
VSCode や誰かのモジュールなどに、そういう拡張機能が無いの?
Python の質問と言うよりも、端末の設定の話
Python の質問と言うよりも、端末の設定の話
16デフォルトの名無しさん
2021/06/13(日) 11:13:39.05ID:6oAiR6bp コマンドライン上プロンプトや補完機能の色付けとかはbashrcで全て管理してるので問題ない(色付け)です。
Pythonで便利な機能なスクリプト書いたので、そこから測れるか文字列を色付けする方法を知らなくて困ってました。
Pythonで便利な機能なスクリプト書いたので、そこから測れるか文字列を色付けする方法を知らなくて困ってました。
17デフォルトの名無しさん
2021/06/13(日) 13:08:19.84ID:6oAiR6bp18デフォルトの名無しさん
2021/06/13(日) 13:15:17.58ID:EhTxteT2 黒魔術であるところのgetattrとか使えばラクに出来るんじゃね
pycolor."BLACK"
とかで呼び出したいんだろ
でも普通に考えれば連想配列を使う
pycolor."BLACK"
とかで呼び出したいんだろ
でも普通に考えれば連想配列を使う
2021/06/13(日) 13:31:22.64ID:1nzveETz
何がしたいのかは分かったけど
今度は何でできないのか分からない
今度は何でできないのか分からない
20デフォルトの名無しさん
2021/06/13(日) 14:22:53.04ID:6oAiR6bp class hogehoge:
#
#色の変数リスト省力します
#
def printWithColor(self, color, word):
print(color + word + END)
で出力したいのですが、仮にcolorに赤となる【\033[31m】を展開できないんです。。
selfを消すと引数エラーが出てしまい詰みます。。
#
#色の変数リスト省力します
#
def printWithColor(self, color, word):
print(color + word + END)
で出力したいのですが、仮にcolorに赤となる【\033[31m】を展開できないんです。。
selfを消すと引数エラーが出てしまい詰みます。。
2021/06/13(日) 14:27:14.41ID:tn2YN+mq
windows10のコンソールはエスケープシーケンス効かないけどそれ?
とエスパーしてみる
とエスパーしてみる
2215
2021/06/13(日) 14:29:53.03ID:d/vYrCOI 漏れなら、VSCode の拡張機能・テーマなどで探すけど
Terminal Color and Style Highlighting for VS Code
https://github.com/TobiasFaller/vscode-vt100-syntax-highlight
「vscode terminal colors extension」「vscode terminal color theme」などで検索してみれば?
Terminal Color and Style Highlighting for VS Code
https://github.com/TobiasFaller/vscode-vt100-syntax-highlight
「vscode terminal colors extension」「vscode terminal color theme」などで検索してみれば?
23デフォルトの名無しさん
2021/06/13(日) 14:40:04.09ID:EhTxteT2 dic = {
"BLACK": '\033[30m',
"RED": '\033[31m',
"GREEN": '\033[32m'
}
連想配列にすればラクじゃん
"BLACK": '\033[30m',
"RED": '\033[31m',
"GREEN": '\033[32m'
}
連想配列にすればラクじゃん
2021/06/13(日) 18:45:52.61ID:1nzveETz
COLOR_DICT = {
"BLACK": '\033[30m',
"RED": '\033[31m',
"GREEN": '\033[32m',
}
COLOR_END = '\033[0m'
def printWithColor(color, word):
print(COLOR_DICT[color] + word + COLOR_END)
そして今度は何か縛り条件が出てくんだろ?
知ってる
"BLACK": '\033[30m',
"RED": '\033[31m',
"GREEN": '\033[32m',
}
COLOR_END = '\033[0m'
def printWithColor(color, word):
print(COLOR_DICT[color] + word + COLOR_END)
そして今度は何か縛り条件が出てくんだろ?
知ってる
25デフォルトの名無しさん
2021/06/13(日) 18:51:41.04ID:6oAiR6bp できました!!
ご協力いただいた方ありがとうございます!!
class pycolor:
LIST = {
"BLACK": '\033[30m',
"RED": '\033[31m',
"GREEN": '\033[32m',
"YELLOW": '\033[33m',
"BLUE": '\033[34m',
"PURPLE": '\033[35m',
"CYAN": '\033[36m',
"WHITE": '\033[37m',
"RETURN": '\033[07m', #反転
"ACCENT": '\033[01m',#強調
"FLASH": '\033[05m', #点滅
"RED_FLASH": '\033[05;41m', #赤背景+点滅,
"END": '\033[0m'
}
def printColor(self, color, word):
print(self.LIST[color] + word + self.LIST["END"])
ご協力いただいた方ありがとうございます!!
class pycolor:
LIST = {
"BLACK": '\033[30m',
"RED": '\033[31m',
"GREEN": '\033[32m',
"YELLOW": '\033[33m',
"BLUE": '\033[34m',
"PURPLE": '\033[35m',
"CYAN": '\033[36m',
"WHITE": '\033[37m',
"RETURN": '\033[07m', #反転
"ACCENT": '\033[01m',#強調
"FLASH": '\033[05m', #点滅
"RED_FLASH": '\033[05;41m', #赤背景+点滅,
"END": '\033[0m'
}
def printColor(self, color, word):
print(self.LIST[color] + word + self.LIST["END"])
26デフォルトの名無しさん
2021/06/13(日) 18:52:25.86ID:QtPR3o33 単純に出力するんじゃなくて、bashに解釈させないとダメなんじゃないの?
echo -e "${python hoge.py}"
こういうイメージ
echo -e "${python hoge.py}"
こういうイメージ
2021/06/13(日) 18:58:28.21ID:fUoO1UdQ
import rich
28デフォルトの名無しさん
2021/06/13(日) 21:09:48.44ID:EhTxteT2 こういうことを出来るのは知ってた
Windowsでやったことがある
C言語でターミナルで表示される文字をカラー表示させる : Serendip – Webデザイン・プログラミング
https://www.serendip.ws/archives/4635
スネークゲーム
http://vivi.dyndns.org/tech/games/snake.html
Windowsでやったことがある
C言語でターミナルで表示される文字をカラー表示させる : Serendip – Webデザイン・プログラミング
https://www.serendip.ws/archives/4635
スネークゲーム
http://vivi.dyndns.org/tech/games/snake.html
29デフォルトの名無しさん
2021/06/13(日) 21:47:36.32ID:6oAiR6bp >>27
このモジュールいいですね。
普段からshellscriptは書くのですが、pythonは触ったことがなく四苦八苦しておりました。。。
辞書検索 + 登録アプリでも作ろうかと思ってます。
無事出力出来ました。
みなさんありがとうございます!
https://imgur.com/lYUlTXs
このモジュールいいですね。
普段からshellscriptは書くのですが、pythonは触ったことがなく四苦八苦しておりました。。。
辞書検索 + 登録アプリでも作ろうかと思ってます。
無事出力出来ました。
みなさんありがとうございます!
https://imgur.com/lYUlTXs
2021/06/13(日) 21:59:35.61ID:CH3wHZx1
結局何につまづいていたのか
知りたいものだ
知りたいものだ
2021/06/14(月) 01:45:14.00ID:XgAL3CwN
未だに分からんよな
32デフォルトの名無しさん
2021/06/14(月) 10:37:51.20ID:TNhB31Ko 色の問題じゃなくてpythonの使い方を知らなかっただけだ
2021/06/14(月) 18:34:18.68ID:4CwMrts3
pythonでAndroidアプリを作ろうとしたら、どんな環境がありますか?
VSCodeで作れれば一番いいのですが、可能ですか?
VSCodeで作れれば一番いいのですが、可能ですか?
34デフォルトの名無しさん
2021/06/14(月) 19:04:01.06ID:YySv9lVP 作って作れないことはないけど苦行の極み
1からkotlin覚える方がまだ早いまである
1からkotlin覚える方がまだ早いまである
2021/06/14(月) 19:07:21.04ID:hx6guc/Q
自分でやるならPyQTぐらい
2021/06/14(月) 19:07:37.64ID:4CwMrts3
37デフォルトの名無しさん
2021/06/14(月) 19:13:48.59ID:YySv9lVP 凝ったの作らないならpythonで書いて変換系使ってもいいんだけど
ちょっとでも調子乗った瞬間に動かなくなるでな
主観ではpyinstallerの3倍は気を使う
ちょっとでも調子乗った瞬間に動かなくなるでな
主観ではpyinstallerの3倍は気を使う
2021/06/14(月) 19:58:22.16ID:l+BKKraS
どんなのかにもよるけどandroidで動けばいいんならwebアプリ作ってブラウザで動かすて手もある
それならflaskでもDjangoでもいける
それならflaskでもDjangoでもいける
2021/06/15(火) 10:21:34.56ID:XeCyZroF
Pythonでブラウザ内のJavaScriptが持つ変数の値を読みだすことは可能ですか?
2021/06/15(火) 12:52:49.00ID:NWTMJvL8
スクレイピングしたいのが自分で作ったwebアプリの値取得したいのか分からんけど
スクレイピングならPhantomjsかSeleniumでなんとかなるやろ
webアプリならそもそもjavascript経由せんと直接pythonで受け取ればいいのでは
スクレイピングならPhantomjsかSeleniumでなんとかなるやろ
webアプリならそもそもjavascript経由せんと直接pythonで受け取ればいいのでは
41デフォルトの名無しさん
2021/06/15(火) 15:23:20.86ID:dTl1pSLY >>33
SL4A
SL4A
42デフォルトの名無しさん
2021/06/15(火) 15:24:06.14ID:dTl1pSLY >>39
Brython
Brython
43デフォルトの名無しさん
2021/06/15(火) 16:48:04.29ID:qJPYDaov drop_indices = [1,3,4]
l1 = [1,2,3,4,5]
l2 = [a,b,c,d,e]
l3 = [.....]
l1〜3の要素数は同じです
指定indexを抜いたl1〜3が欲しいのですが一番高速なやつを教えてください
対象リストがひとつなら内包表記使うんですが複数リスト相手だとどうすればいいですか?
new1, new2, new3 = [],[],[]
for i,_ in enumerate(l1):
_if i not in drop_indices:
__new1.append(l1[i])
__new2.append(l2[i])
__new3.append(l3[i])
l1 = new1
l2 = new2
l3 = new3
しか分からないです…
できれば外部モジュールなしでおながいします
l1 = [1,2,3,4,5]
l2 = [a,b,c,d,e]
l3 = [.....]
l1〜3の要素数は同じです
指定indexを抜いたl1〜3が欲しいのですが一番高速なやつを教えてください
対象リストがひとつなら内包表記使うんですが複数リスト相手だとどうすればいいですか?
new1, new2, new3 = [],[],[]
for i,_ in enumerate(l1):
_if i not in drop_indices:
__new1.append(l1[i])
__new2.append(l2[i])
__new3.append(l3[i])
l1 = new1
l2 = new2
l3 = new3
しか分からないです…
できれば外部モジュールなしでおながいします
44デフォルトの名無しさん
2021/06/15(火) 16:50:28.49ID:qJPYDaov なんで速いのが欲しいかというと
実際のl1〜l3が結構長くて
この裁ち落とし処理も複数回呼ぶから
馬鹿にならない感じなのです
実際のl1〜l3が結構長くて
この裁ち落とし処理も複数回呼ぶから
馬鹿にならない感じなのです
45デフォルトの名無しさん
2021/06/15(火) 16:54:06.26ID:YClXDfsH 内包表記3回書けばいいじゃん
それとdrop_indicesはsetにする
それとdrop_indicesはsetにする
46デフォルトの名無しさん
2021/06/15(火) 17:13:12.13ID:yxrEcVUk まあダサいのはわかるが内包3発かなあ…
2021/06/15(火) 17:22:55.07ID:E1asH+ju
アクセス時にdropするindexを考慮するとか。
def get_data(index):
index += sum(1 for x in drop_indices if x < index)
return l1[index]
テストしてないです
def get_data(index):
index += sum(1 for x in drop_indices if x < index)
return l1[index]
テストしてないです
2021/06/15(火) 17:51:26.21ID:ic6VniVo
>>43
新しくリストを生成せずに落としたい箇所をNoneにする方法で対応したら?
drop_indicesの要素数、変更対象リストの要素数、変更対象リストの個数(3個固定?)の
値の取りうる範囲や複数回呼ぶ意味によってどういう実装が望ましいかは変わってくる
新しくリストを生成せずに落としたい箇所をNoneにする方法で対応したら?
drop_indicesの要素数、変更対象リストの要素数、変更対象リストの個数(3個固定?)の
値の取りうる範囲や複数回呼ぶ意味によってどういう実装が望ましいかは変わってくる
49デフォルトの名無しさん
2021/06/15(火) 17:58:15.90ID:dTl1pSLY >実際のl1〜l3が結構長くて
外部モジュール使わない訳がない
素直に numpy なり pandas なり使え
外部モジュール使わない訳がない
素直に numpy なり pandas なり使え
50デフォルトの名無しさん
2021/06/15(火) 18:14:18.09ID:dILRy9B02021/06/15(火) 18:37:20.39ID:TWZkLO+/
inのところリストかセットかの違いだけの問題に一票
52デフォルトの名無しさん
2021/06/15(火) 18:37:58.95ID:YClXDfsH53デフォルトの名無しさん
2021/06/15(火) 18:39:02.16ID:/tfRbTz3 長いって言うんならlはミリオン
dropは1000
あたりだろう
もしかすると何らかのウイルスのDNA解析かもしれない
するとl2,l3にはATとCGがペアになって入ってるかもしれない
で、drop_indicesの逆順を生成してこうする
あとは出たのを全部実測して早いの選ぶのがラク
多分リストのappendでのmalloc回数に左右される
new1 = [x for x in l1]
new2 = [x for x in l2]
new3 = [x for x in l3]
for i in drop_indices_invrese:
_new1.pop(i)
_new2.pop(i)
_new3.pop(i)
dropは1000
あたりだろう
もしかすると何らかのウイルスのDNA解析かもしれない
するとl2,l3にはATとCGがペアになって入ってるかもしれない
で、drop_indicesの逆順を生成してこうする
あとは出たのを全部実測して早いの選ぶのがラク
多分リストのappendでのmalloc回数に左右される
new1 = [x for x in l1]
new2 = [x for x in l2]
new3 = [x for x in l3]
for i in drop_indices_invrese:
_new1.pop(i)
_new2.pop(i)
_new3.pop(i)
54デフォルトの名無しさん
2021/06/15(火) 18:48:50.23ID:dILRy9B0 for i in reversed(drop_indices):
__l1.pop(i)
__l2.pop(i)
__l3.pop(i)
__l1.pop(i)
__l2.pop(i)
__l3.pop(i)
2021/06/15(火) 19:02:46.80ID:u8BqQmUG
dataarray=list(zip(l1,l2,l3))
new.append(dataarray[i])
new.append(dataarray[i])
2021/06/15(火) 19:49:43.00ID:KfvfPOTk
pythonではじめてwebsocketなる通信をして感動しているのですが
クライアント側のjavascriptで
socket.onmessage = function(e) {socket.send("test msg");}を設定したところ、
websocketサーバー側のログが0.5秒?くらい置きに延々と流れてくるのですが
そういうものなのでしょうか?
そのまま放置していると(無料鯖のため?か)websocketサーバーが止まりました。
クライアント側のjavascriptで
socket.onmessage = function(e) {socket.send("test msg");}を設定したところ、
websocketサーバー側のログが0.5秒?くらい置きに延々と流れてくるのですが
そういうものなのでしょうか?
そのまま放置していると(無料鯖のため?か)websocketサーバーが止まりました。
2021/06/15(火) 20:11:02.45ID:BEepXhp5
サーバにデータを送信したらデータを返却するよう実装したんじゃないの?
2021/06/15(火) 20:32:08.61ID:KfvfPOTk
なるほど
参考にしたサイトが”なでしこ”→"python"で実装されていて
よく見ていませんでしたが改めて見たところ
受信時→WSサーバ全返信
という行を発見しました。
今は制限中なので解けたらその行を消して試してみたいと思います
ありがとうございました
参考にしたサイトが”なでしこ”→"python"で実装されていて
よく見ていませんでしたが改めて見たところ
受信時→WSサーバ全返信
という行を発見しました。
今は制限中なので解けたらその行を消して試してみたいと思います
ありがとうございました
2021/06/16(水) 01:02:00.77ID:baQ8tClP
Flask
頭の中でフラスコって読んでます?それともフラスク?
頭の中でフラスコって読んでます?それともフラスク?
2021/06/16(水) 07:11:03.38ID:y19mleV6
( ^ω^)フラシコ
61デフォルトの名無しさん
2021/06/16(水) 13:20:18.99ID:mN5o8PJ8 >>43
python初心者です。G,C,Pの出現場所を記録したリストを... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11244753631
>G,C,Pの出現場所を記録したリストを作りたい
>s100 = ['P', 'C', 'G', 'P', 'G', 'C', 'C', 'P', 'G', 'G', 'P', 'C', 'G', 'C', 'P', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'G', 'P', 'C', 'C', 'P', 'G', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'G', 'P', 'C', 'P', 'G', 'G', 'C', 'P', 'G', 'C', 'P', 'C', 'G', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'G', 'P', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'P', 'G', 'C', 'P', 'P', 'P', 'P', 'P', 'C']
なーんか似たような問題が出回ってんな
同一人物か?
python初心者です。G,C,Pの出現場所を記録したリストを... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q11244753631
>G,C,Pの出現場所を記録したリストを作りたい
>s100 = ['P', 'C', 'G', 'P', 'G', 'C', 'C', 'P', 'G', 'G', 'P', 'C', 'G', 'C', 'P', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'G', 'P', 'C', 'C', 'P', 'G', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'G', 'P', 'C', 'P', 'G', 'G', 'C', 'P', 'G', 'C', 'P', 'C', 'G', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'G', 'P', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'P', 'G', 'C', 'P', 'P', 'P', 'P', 'P', 'C']
なーんか似たような問題が出回ってんな
同一人物か?
2021/06/16(水) 14:58:53.27ID:Si4/JcP/
学校の課題なのでしょう
63デフォルトの名無しさん
2021/06/16(水) 15:22:04.18ID:OiJaUQCk 同じか……?
64デフォルトの名無しさん
2021/06/16(水) 17:14:18.46ID:uJQ6HHCX >>61
https://ideone.com/dlXO7M
s100 = ['P', 'C', 'G', 'P', 'G', 'C', 'C', 'P', 'G', 'G', 'P', 'C', 'G', 'C', 'P', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'G', 'P', 'C', 'C', 'P', 'G', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'G', 'P', 'C', 'P', 'G', 'G', 'C', 'P', 'G', 'C', 'P', 'C', 'G', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'G', 'P', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'P', 'G', 'C', 'P', 'P', 'P', 'P', 'P', 'C']
pcg = {'P': [], 'C': [], 'G': []}
for i, s in enumerate(s100):
pcg[s].append(i)
print(pcg)
https://ideone.com/dlXO7M
s100 = ['P', 'C', 'G', 'P', 'G', 'C', 'C', 'P', 'G', 'G', 'P', 'C', 'G', 'C', 'P', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'G', 'P', 'C', 'C', 'P', 'G', 'C', 'G', 'P', 'P', 'C', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'G', 'P', 'C', 'P', 'G', 'G', 'C', 'P', 'G', 'C', 'P', 'C', 'G', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'C', 'G', 'P', 'G', 'C', 'P', 'C', 'G', 'P', 'C', 'P', 'P', 'G', 'C', 'G', 'C', 'P', 'G', 'C', 'C', 'P', 'G', 'C', 'P', 'P', 'P', 'P', 'P', 'C']
pcg = {'P': [], 'C': [], 'G': []}
for i, s in enumerate(s100):
pcg[s].append(i)
print(pcg)
2021/06/16(水) 19:58:32.04ID:aKJkflFH
s100のリストを作ることがG,C,Pの
出現場所を記録したリストを作ること
s100があるならやることはない
出現場所を記録したリストを作ること
s100があるならやることはない
66デフォルトの名無しさん
2021/06/17(木) 16:25:36.76ID:JYSb8W8U >>61
ある言語では
echo@I. 'GCP'=/'PCGPGCCPGGPCGCPCGPPCCGGPCCPGCGPPCCGCPGCCGPCPGGCPGCPCGCPPGCGCPGPCCGPGCPCCGPGCPCGPCPPGCGCPGCCPGCPPPPPC'
2 4 8 9 12 16 21 22 27 29 34 37 40 44 45 48 52 56 58 61 65 67 72 74 78 83 85 88 92
1 5 6 11 13 15 19 20 24 25 28 32 33 35 38 39 42 46 49 51 53 57 59 63 64 68 70 71 75 77 80 84 86 89 90 93 99
0 3 7 10 14 17 18 23 26 30 31 36 41 43 47 50 54 55 60 62 66 69 73 76 79 81 82 87 91 94 95 96 97 98
ある言語では
echo@I. 'GCP'=/'PCGPGCCPGGPCGCPCGPPCCGGPCCPGCGPPCCGCPGCCGPCPGGCPGCPCGCPPGCGCPGPCCGPGCPCCGPGCPCGPCPPGCGCPGCCPGCPPPPPC'
2 4 8 9 12 16 21 22 27 29 34 37 40 44 45 48 52 56 58 61 65 67 72 74 78 83 85 88 92
1 5 6 11 13 15 19 20 24 25 28 32 33 35 38 39 42 46 49 51 53 57 59 63 64 68 70 71 75 77 80 84 86 89 90 93 99
0 3 7 10 14 17 18 23 26 30 31 36 41 43 47 50 54 55 60 62 66 69 73 76 79 81 82 87 91 94 95 96 97 98
2021/06/17(木) 20:20:59.14ID:1IveWNJ3
Pythonからmacのシェルコマンドを実行したいのですが引数(ファイル名)が空白と引用符と二重引用符を全て含む時失敗します
例: ファイルコピー)
c1 = 'cp'
c2 = '''s m'p".txt'''
c3 = 'smp2.txt'
p = subprocess.Popen([c1, c2, c3])
p.wait()
「'''s m'p.txt'''」「'''s mp".txt'''」のように引用符が一種類だと大丈夫でした
こんなファイル名でも引数に設定できる方法はないでしょうか?
例: ファイルコピー)
c1 = 'cp'
c2 = '''s m'p".txt'''
c3 = 'smp2.txt'
p = subprocess.Popen([c1, c2, c3])
p.wait()
「'''s m'p.txt'''」「'''s mp".txt'''」のように引用符が一種類だと大丈夫でした
こんなファイル名でも引数に設定できる方法はないでしょうか?
2021/06/17(木) 21:10:17.24ID:pC2mtQih
python&エスケープで検索
'\'\'s m\'p".txt\'\''
'\'\'s m\'p".txt\'\''
2021/06/17(木) 21:59:44.44ID:1IveWNJ3
2021/06/18(金) 12:22:12.33ID:+3NN9ESG
"''s m'p\".txt"
2021/06/18(金) 14:47:10.03ID:sJhYE6LE
python学習にあたりおすすめの参考書はございますか?
現在はpython1年生という参考書が終わりそうです。
現在はpython1年生という参考書が終わりそうです。
72デフォルトの名無しさん
2021/06/19(土) 16:37:39.93ID:zDrgWeBe scikit-learn いいよね
2021/06/20(日) 00:15:38.15ID:md8cXnFb
1回目に実行した内容を記憶しておいて2回目に実行した時は処理を変えたいんですけどなんか良い方法ありますか?
具体的には暗証番号入力するプログラム作ってるんですけど暗証番号の入力に失敗したらロックかけて次に同じプログラム実行したらロックかかってますみたいな表示を出すようなことがやりたいです
具体的には暗証番号入力するプログラム作ってるんですけど暗証番号の入力に失敗したらロックかけて次に同じプログラム実行したらロックかかってますみたいな表示を出すようなことがやりたいです
2021/06/20(日) 00:18:01.10ID:md8cXnFb
例えばプラグファイル作るでも良いんですけど消されちゃうのであんまり意味ないしジェネレータみたいな感じで1回目の処理を記憶してくれたら良いんですけど
2021/06/20(日) 02:40:25.03ID:rz6SzZvo
よい方法はないですね
問題の形式が変わっただけで、つまるところ「アプリケーションが保存したデータをユーザーに触られないようにしたい」でしかないので
素直にサーバーに認証回数を保存してください
問題の形式が変わっただけで、つまるところ「アプリケーションが保存したデータをユーザーに触られないようにしたい」でしかないので
素直にサーバーに認証回数を保存してください
2021/06/20(日) 11:50:00.52ID:2DS4hVGx
そんなあー
2021/06/20(日) 11:53:15.30ID:l9nv7DGg
バイナリ書き換え
2021/06/20(日) 11:59:36.84ID:2DS4hVGx
なんかメモリー上にアクセスキーを暗号化してキャッシュして保存するみたいのできないんですか?
79デフォルトの名無しさん
2021/06/20(日) 12:10:20.32ID:2jVSj7S9 それじゃ通電中保持するだけでね?
裏で保持プログラム動かしとくのと変わらんのでは
裏で保持プログラム動かしとくのと変わらんのでは
80デフォルトの名無しさん
2021/06/20(日) 16:54:13.54ID:vSSpHRy4 memcached (server だけどローカルPCで動作させても良い)
python-memcached
あるいはレジストリ等
どちらも勝手に消されないように対策すること
python-memcached
あるいはレジストリ等
どちらも勝手に消されないように対策すること
2021/06/20(日) 18:34:49.45ID:6g3RIy+6
>>78
そこまで来るとDBに情報保存した方が早い
そこまで来るとDBに情報保存した方が早い
82デフォルトの名無しさん
2021/06/20(日) 18:52:22.86ID:fic9DRbI メモリだろうが何だろうがローカルに暗号化して保存ってのが既に馬鹿馬鹿しい
金庫の上に鍵状態だって分かってるのか?
金庫の上に鍵状態だって分かってるのか?
83デフォルトの名無しさん
2021/06/20(日) 19:36:06.66ID:Lj9t65si サーバーサイドなら既存のソリューション利用すりゃいいし
ユーザーサイドならもう違法アクセスされてる時点でパスワードどころの騒ぎじゃないし
何故作るのか見えてこない
ユーザーサイドならもう違法アクセスされてる時点でパスワードどころの騒ぎじゃないし
何故作るのか見えてこない
2021/06/20(日) 19:49:24.73ID:akuykRB/
>メモリだろうが何だろうがローカルに暗号化して保存ってのが既に馬鹿馬鹿しい
ここだけ切り取ればどこでも普通に行っていることだが?問題はその鍵をどう守るかであって。
ここだけ切り取ればどこでも普通に行っていることだが?問題はその鍵をどう守るかであって。
2021/06/20(日) 19:53:01.24ID:dLsN/Qk5
余所のプロセスのメモリ覗く奴がいるからな
2021/06/20(日) 20:44:34.12ID:bGnn/scA
他人のプロセスを覗けるのは、そのPC・サーバーの管理者だけ
ただし、サーバーが中国にあれば、中国政府に覗かれる。
そういう法律があるから
ただし、サーバーが中国にあれば、中国政府に覗かれる。
そういう法律があるから
2021/06/20(日) 21:09:32.73ID:4yWZiADR
__name__変数について教えてください。
__name__はグローバル変数でモジュール名が格納されていると思います。
ですが、参照をクラス名.__name__とするとモジュール名ではなくクラス名が取得できました。
これはモジュール名が格納されているものとは別の__name__を参照していると思うのですが、どこにある変数を参照しているのでしょうか。
dir(クラス名)としてもそのクラスは__name__変数を持っていないようでした。
__name__はグローバル変数でモジュール名が格納されていると思います。
ですが、参照をクラス名.__name__とするとモジュール名ではなくクラス名が取得できました。
これはモジュール名が格納されているものとは別の__name__を参照していると思うのですが、どこにある変数を参照しているのでしょうか。
dir(クラス名)としてもそのクラスは__name__変数を持っていないようでした。
2021/06/20(日) 22:02:33.00ID:rz6SzZvo
普通に `クラス名.__name__` の情報だよ
`dir` は引数にもよるが、全ての属性を報告してくるわけではない
https://docs.python.org/ja/3/library/stdtypes.html#special-attributes
https://docs.python.org/ja/3/library/functions.html#dir
`dir` は引数にもよるが、全ての属性を報告してくるわけではない
https://docs.python.org/ja/3/library/stdtypes.html#special-attributes
https://docs.python.org/ja/3/library/functions.html#dir
2021/06/20(日) 22:17:11.39ID:wq1/6jdm
特殊変数じゃ
2021/06/20(日) 22:39:48.64ID:4yWZiADR
ありがとうございます。dirですべて確認できると思っていました。
ちなみにですが、関数について↓のような認識でした。
関数は__name__変数を持っていないが関数名.__name__でモジュール名が取得できる。
これはその上位であるグローバル変数の__name__を参照しているため。
これももしかしたら関数の持っている__name__を表示している可能性があるのでしょうか。
ちなみにですが、関数について↓のような認識でした。
関数は__name__変数を持っていないが関数名.__name__でモジュール名が取得できる。
これはその上位であるグローバル変数の__name__を参照しているため。
これももしかしたら関数の持っている__name__を表示している可能性があるのでしょうか。
2021/06/20(日) 23:49:53.27ID:4yWZiADR
>>88
「クラス名.__name__」があるのであれば、
クラス内で__name__のようにして変数名だけで参照したときに、クラス名でなくモジュール名が返ってくるのは何故でしょうか…?
質問ばかりすみません、、訳が分からなくなってきました
「クラス名.__name__」があるのであれば、
クラス内で__name__のようにして変数名だけで参照したときに、クラス名でなくモジュール名が返ってくるのは何故でしょうか…?
質問ばかりすみません、、訳が分からなくなってきました
2021/06/21(月) 00:03:52.22ID:jGdEx5NM
93デフォルトの名無しさん
2021/06/21(月) 09:16:37.64ID:b28M8oMP クラスはスコープを作らない。
パッケージグローバル変数を読んでるだけだ。
別に__name__固有の話ではない。
パッケージグローバル変数を読んでるだけだ。
別に__name__固有の話ではない。
94デフォルトの名無しさん
2021/06/21(月) 14:06:55.24ID:os4CEfZ3 何かの自動化ツールでpasswordを含むプロジェクトがあるとして
githubにうっかりpasswordあげる事故を防止したい
passwordは入力が面倒なのでローカルに保存しておきたい
こんなとき正しいというか定石ってどんなのがある?
githubにうっかりpasswordあげる事故を防止したい
passwordは入力が面倒なのでローカルに保存しておきたい
こんなとき正しいというか定石ってどんなのがある?
2021/06/21(月) 15:17:05.73ID:wnQSc3ge
環境変数から入力することを徹底するのと
コミットをgit-secretsみたいなので未然に防ぐことかな
この辺はPythonとあまり関係ないけどね
(どの言語でも守られるべき)
コミットをgit-secretsみたいなので未然に防ぐことかな
この辺はPythonとあまり関係ないけどね
(どの言語でも守られるべき)
2021/06/21(月) 15:52:44.89ID:t1WQxVIN
pycriptとかで暗号化じゃダメなのか?
2021/06/21(月) 15:55:22.95ID:t1WQxVIN
年収調べたいので三井住友bankのソースコードをgitにあげたいんですけどどうしたらバレませんか?^ ^
2021/06/21(月) 19:47:08.24ID:pouVmMZT
torとghostsurf でggr
99デフォルトの名無しさん
2021/06/21(月) 20:00:00.26ID:lEZW5cAy try-except
って遅くないけど、if-elseのような感じで動いてるわけじゃないのですか?
って遅くないけど、if-elseのような感じで動いてるわけじゃないのですか?
100デフォルトの名無しさん
2021/06/22(火) 01:12:59.15ID:cAGj2bSl101デフォルトの名無しさん
2021/06/22(火) 23:33:39.51ID:c2+v+nSA flaskからpostgres操作するライブラリから使うなんちゃらがインストールできない。
後から追加するライブラリが多いとなんだかんだで環境構築の難易度が上がるのでフルスタックのdjangoとかローコードで良いと思った・・・
後から追加するライブラリが多いとなんだかんだで環境構築の難易度が上がるのでフルスタックのdjangoとかローコードで良いと思った・・・
102デフォルトの名無しさん
2021/06/23(水) 00:00:50.45ID:8eXIGtIl え?仮想環境入れてないの
マジで?馬鹿じゃないの?
マジで?馬鹿じゃないの?
103デフォルトの名無しさん
2021/06/23(水) 07:48:46.56ID:xA3/S05N あるひとつのフォルダの中身が一定時間後に変わってないことを確認したいんだけど
中身全部ハッシュとって比較するしかないですか?
中身全部ハッシュとって比較するしかないですか?
104デフォルトの名無しさん
2021/06/23(水) 11:16:11.54ID:Ps8ud9Ds ファイルのコンテンツ以外に信頼できる情報がないならそうするしかないんじゃない?
コンテンツの更新が必ずst_mtimeの更新を伴うとか、制約が増やせるなら検証範囲は絞れそうだけど
コンテンツの更新が必ずst_mtimeの更新を伴うとか、制約が増やせるなら検証範囲は絞れそうだけど
105デフォルトの名無しさん
2021/06/23(水) 12:47:09.88ID:Dblyz7cX >>94
Ruby on Rails では、credentials という機能があって、
デフォルトで、credentials.yml.enc という暗号化されたファイルと、
その解読キー・master.key がある
master.keyは、.gitignore に書かれているので、
credentials.yml.encを、そのままリポジトリに入れても大丈夫
credentials.yml.encを解読すると、
YML 形式で、AWS の設定などが書かれている
# aws:
# access_key_id: 123
# secret_access_key: 345
Ruby on Rails では、credentials という機能があって、
デフォルトで、credentials.yml.enc という暗号化されたファイルと、
その解読キー・master.key がある
master.keyは、.gitignore に書かれているので、
credentials.yml.encを、そのままリポジトリに入れても大丈夫
credentials.yml.encを解読すると、
YML 形式で、AWS の設定などが書かれている
# aws:
# access_key_id: 123
# secret_access_key: 345
106デフォルトの名無しさん
2021/06/23(水) 13:08:26.79ID:6jEPjWCz OSによるけどフォルダの内容変わったら通知来るAPIがあるものもある
107デフォルトの名無しさん
2021/06/23(水) 13:15:55.78ID:qxrmA+Nu ruby関係ないし
108デフォルトの名無しさん
2021/06/23(水) 19:42:09.00ID:Z7fMxROS > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
109デフォルトの名無しさん
2021/06/23(水) 20:49:57.20ID:uwF5rJUS ルビー基地外クソわろ
全てルビーの機能だと思ってんだろうなw
全てルビーの機能だと思ってんだろうなw
110デフォルトの名無しさん
2021/06/24(木) 01:11:07.96ID:ZhZSLtyl ドン・キホーテが世の中の全てを騎士道物語として捉えるようなモンだろ
111デフォルトの名無しさん
2021/06/24(木) 11:34:57.39ID:H+zrwBY+ x = [1,5,3]
n = 4
のとき
[[1,2,3,4], [5,6,7,8], [3,4,5,6]]
が欲しい
どう書いたら簡潔ですか?
n = 4
のとき
[[1,2,3,4], [5,6,7,8], [3,4,5,6]]
が欲しい
どう書いたら簡潔ですか?
112デフォルトの名無しさん
2021/06/24(木) 11:44:52.69ID:52QaJPvq x2 = [[j for j in range(i,i+n)] for i in x]
113デフォルトの名無しさん
2021/06/24(木) 12:17:24.20ID:H+zrwBY+ rangeそう使えるの知らなかった…ありがとう
114デフォルトの名無しさん
2021/06/24(木) 12:29:16.33ID:d0WSinGu115デフォルトの名無しさん
2021/06/24(木) 12:36:29.47ID:52QaJPvq rangeはそのままでいいのか。勉強になった。
116デフォルトの名無しさん
2021/06/24(木) 19:03:03.87ID:Kxz6ONml みんなあたまいいなあ
俺馬鹿だからそんなかっこいいコード思いつかないなあ
参考になるわ
[list(range(x[i], x[i]+n)) for i in range(n-1)]
俺馬鹿だからそんなかっこいいコード思いつかないなあ
参考になるわ
[list(range(x[i], x[i]+n)) for i in range(n-1)]
117デフォルトの名無しさん
2021/06/24(木) 19:09:37.98ID:Kxz6ONml >>114が一番綺麗だと思う
模範解答やね
模範解答やね
118デフォルトの名無しさん
2021/06/24(木) 19:15:27.36ID:OtDRXCUu 問題集でもやっとんのけ
119デフォルトの名無しさん
2021/06/24(木) 20:26:31.26ID:cBTjhTLo 問題集ていや先日
要素数(size)と折り返し(rep) の引数を取って
例えばsize=5, rep=2のとき
1_1
1_2
2_1
2_2
3_1
って右がrepするたびに左が増えるやつ欲しいって言われたんだけど
一瞬まったく意味わからんくて笑った。死ぬかと思った
要素数(size)と折り返し(rep) の引数を取って
例えばsize=5, rep=2のとき
1_1
1_2
2_1
2_2
3_1
って右がrepするたびに左が増えるやつ欲しいって言われたんだけど
一瞬まったく意味わからんくて笑った。死ぬかと思った
120デフォルトの名無しさん
2021/06/24(木) 20:35:56.55ID:76Eu+yJ9 forの二重ループで回せばいいだけじゃないの普通に…
121デフォルトの名無しさん
2021/06/24(木) 20:42:19.45ID:H+zrwBY+ size=10
rep=3
for i in range(size):
__l=(i//rep)+1
__r=(i%rep)+1
__print(l, r)
こうか
算数怖い
rep=3
for i in range(size):
__l=(i//rep)+1
__r=(i%rep)+1
__print(l, r)
こうか
算数怖い
122デフォルトの名無しさん
2021/06/24(木) 20:48:54.16ID:ev/ZN6Zz えw
それそんな難しいことしなきゃダメなのw
それそんな難しいことしなきゃダメなのw
123デフォルトの名無しさん
2021/06/24(木) 20:50:25.36ID:ev/ZN6Zz これじゃダメなんけw
size=10
rep=3
[str(i)+'_'+ str(j)for i in range(1, size+1) for j in range(1, rep+1)][0:size]
size=10
rep=3
[str(i)+'_'+ str(j)for i in range(1, size+1) for j in range(1, rep+1)][0:size]
124デフォルトの名無しさん
2021/06/24(木) 20:54:54.61ID:Uf6wilZL 119を123で書いてきたら俺は殴る
125デフォルトの名無しさん
2021/06/24(木) 21:39:25.89ID:Xj45HSPz def enumrep(size,rep):
_i=0
_b=0
_while True:
__b+=1
__for a in range(rep):
___i+=1
___yield str(b)+'_'+str(a)
___if i>=size:
____return True
for i in enumrep(10,2):
_print(i)
_i=0
_b=0
_while True:
__b+=1
__for a in range(rep):
___i+=1
___yield str(b)+'_'+str(a)
___if i>=size:
____return True
for i in enumrep(10,2):
_print(i)
126デフォルトの名無しさん
2021/06/24(木) 21:44:30.95ID:PG/lAwcj コードは長くなるけどgenとtake(=islice)を分けたほうがわかりやすいしメンテしやすい
127デフォルトの名無しさん
2021/06/24(木) 21:48:35.74ID:PG/lAwcj def gen_items(rep):
__if rep < 1:
____return
__i = 1
__while True:
____for j in range(rep):
______yield f"{i}_{j + 1}"
____i = i + 1
for x in islice(gen_items(3), 10):
__print(x)
__if rep < 1:
____return
__i = 1
__while True:
____for j in range(rep):
______yield f"{i}_{j + 1}"
____i = i + 1
for x in islice(gen_items(3), 10):
__print(x)
128デフォルトの名無しさん
2021/06/24(木) 23:27:17.31ID:2xxS1rw4 pathlibのiterdir()でwindowsの$recyclebinやらsystem volume infomationやらといった
隠しフォルダをスキップする方法はありますか?
隠しフォルダをスキップする方法はありますか?
129デフォルトの名無しさん
2021/06/25(金) 08:30:16.10ID:5m+oUY25 別に内包表記でもインデントさせていいんですよ
130デフォルトの名無しさん
2021/06/25(金) 09:19:24.73ID:bhmn+MFf お前らもっと内包表記とラムダ使っていこうぜ!
131デフォルトの名無しさん
2021/06/25(金) 09:50:24.98ID:gA4+2U8+ >>128
突然難易度上げるな
くだすれだぞ ていうか俺もこれ以外どうやればいいか分からん
import pathlib
import tkinter.filedialog as tkfd
import ctypes
from os import stat
from stat import (
_FILE_ATTRIBUTE_HIDDEN as H,
_FILE_ATTRIBUTE_SYSTEM as S,
_FILE_ATTRIBUTE_READONLY as R)
p = tkfd.askdirectory()
for i in pathlib.Path(p).iterdir():
_attrs = stat(i).st_file_attributes
_check = (bool(attrs&H), bool(attrs&S), bool(attrs&R))
_if any(check):
__print(i, check)
突然難易度上げるな
くだすれだぞ ていうか俺もこれ以外どうやればいいか分からん
import pathlib
import tkinter.filedialog as tkfd
import ctypes
from os import stat
from stat import (
_FILE_ATTRIBUTE_HIDDEN as H,
_FILE_ATTRIBUTE_SYSTEM as S,
_FILE_ATTRIBUTE_READONLY as R)
p = tkfd.askdirectory()
for i in pathlib.Path(p).iterdir():
_attrs = stat(i).st_file_attributes
_check = (bool(attrs&H), bool(attrs&S), bool(attrs&R))
_if any(check):
__print(i, check)
132デフォルトの名無しさん
2021/06/25(金) 09:50:43.51ID:eijvgSCB 嫌どす
133デフォルトの名無しさん
2021/06/25(金) 13:35:46.23ID:hgpS2vwl 機械学習の数学各分野て分野は紹介されてるけど結局どこまで勉強すればいいのかわからん
例えば線形代数を対角化までやったけどLU分解とか初学者向けの本には乗ってないやつも勉強せんなんの?
例えば線形代数を対角化までやったけどLU分解とか初学者向けの本には乗ってないやつも勉強せんなんの?
134デフォルトの名無しさん
2021/06/25(金) 14:28:27.22ID:Wd+wOk9Z 行列計算のアルゴリズムまで自分で実装(特にpython)することは無いだろう
使い方だけ知ってればOKなパターン
使い方だけ知ってればOKなパターン
135デフォルトの名無しさん
2021/06/25(金) 15:35:46.76ID:vlMp8RRH Ruby で作ってみた
numbers = [ 1, 5 ]
size = 3
# to_a で、範囲を配列化する
p results = numbers.map{ |init_num| ( init_num...init_num + size ).to_a }
#=> [[1, 2, 3], [5, 6, 7]]
#--------------
size = 3
rep = 2
# 2次元配列
results = ( 1..size ).map do |left_num|
( 1..rep ).map{ |right_num| "#{ left_num }_#{ right_num }" }
end
puts results
出力
1_1
1_2
2_1
2_2
3_1
3_2
numbers = [ 1, 5 ]
size = 3
# to_a で、範囲を配列化する
p results = numbers.map{ |init_num| ( init_num...init_num + size ).to_a }
#=> [[1, 2, 3], [5, 6, 7]]
#--------------
size = 3
rep = 2
# 2次元配列
results = ( 1..size ).map do |left_num|
( 1..rep ).map{ |right_num| "#{ left_num }_#{ right_num }" }
end
puts results
出力
1_1
1_2
2_1
2_2
3_1
3_2
136デフォルトの名無しさん
2021/06/25(金) 16:26:01.91ID:Wd+wOk9Z どこの誤爆よ
137デフォルトの名無しさん
2021/06/25(金) 17:04:03.61ID:xue6gzfb このルビキチはシェルスクリプトスレにも書き込んでたガチの基地外なのです
138デフォルトの名無しさん
2021/06/25(金) 17:06:47.97ID:7PD1ckkM 無差別爆撃なので誤爆じゃない
Ruby信者のようで実質Rubyアンチな異常者によるテロ行為
Ruby信者のようで実質Rubyアンチな異常者によるテロ行為
139デフォルトの名無しさん
2021/06/25(金) 17:58:50.13ID:k0/VHtDX ム板に来て本当にrubyが嫌いになったから、彼の試みは完全に成功している
140デフォルトの名無しさん
2021/06/25(金) 18:47:16.58ID:SMv7sy5/ リアル職場ではコミュニケーション取れているのかが気になる
141デフォルトの名無しさん
2021/06/25(金) 19:18:02.12ID:X8cOj63K 無職じゃね?
142デフォルトの名無しさん
2021/06/25(金) 19:23:44.62ID:RM0Dpgjh143デフォルトの名無しさん
2021/06/26(土) 08:37:57.19ID:92XkTmJ1 機械学習のお勉強始めたは
中卒のおいらにはそもそも微分とかきいたことなさすぎてつらひ
中卒のおいらにはそもそも微分とかきいたことなさすぎてつらひ
144デフォルトの名無しさん
2021/06/26(土) 10:07:13.38ID:TDiYD9T2 ま九十九里浜の海岸線の長さはいくつだい?
145デフォルトの名無しさん
2021/06/26(土) 11:40:46.23ID:IEuGypw6 ∞
146デフォルトの名無しさん
2021/06/26(土) 11:54:39.83ID:aONBfxlZ 中卒で機械学習て何ができるんや
フレームワーク使うのも指示された通りにしてるだけで何の値操作してるのか理解できなさそう
フレームワーク使うのも指示された通りにしてるだけで何の値操作してるのか理解できなさそう
147デフォルトの名無しさん
2021/06/26(土) 12:08:13.88ID:UhEO8DM5 つかまず前処理で止まるやろ
148デフォルトの名無しさん
2021/06/26(土) 13:40:25.05ID:BFpvs59u >>146-147
中卒馬鹿にしやがって許さねえからな
中卒馬鹿にしやがって許さねえからな
149デフォルトの名無しさん
2021/06/26(土) 14:11:37.50ID:cKS/UcnU その意気で見返してみろ
150デフォルトの名無しさん
2021/06/26(土) 17:03:03.29ID:TqdTR7t2 算数の復習から始めたほうがいい、マジで
151デフォルトの名無しさん
2021/06/26(土) 19:22:30.07ID:dvpuBJnF 今微分の勉強して傾きと切片っていうの理解したわ
馬鹿にしたやつ覚悟してろよ9m
馬鹿にしたやつ覚悟してろよ9m
152デフォルトの名無しさん
2021/06/26(土) 20:11:16.22ID:LeOl9KfK153デフォルトの名無しさん
2021/06/26(土) 20:42:50.01ID:UhEO8DM5 def 雇用(people):
..if people >= 高卒:
....if people >= 実務経験:
..if people >= 高卒:
....if people >= 実務経験:
154デフォルトの名無しさん
2021/06/26(土) 21:03:33.77ID:6sjjJ5as MIT も、Julia へ行ってる。
大学院数学科とかじゃないと採用されない
だから皆、文系はRuby on Rails へ行く。
英語さえ出来れば、文書を読めるから
大学院数学科とかじゃないと採用されない
だから皆、文系はRuby on Rails へ行く。
英語さえ出来れば、文書を読めるから
155デフォルトの名無しさん
2021/06/26(土) 21:05:37.21ID:R2OdYklz156デフォルトの名無しさん
2021/06/27(日) 10:27:42.26ID:3P9Fscem157デフォルトの名無しさん
2021/06/27(日) 11:03:04.37ID:nIt5B8/A お前こそ中卒だろ。なんだよHistoryって。
TitleまたはDegreeだろ。
TitleまたはDegreeだろ。
158デフォルトの名無しさん
2021/06/27(日) 11:11:11.64ID:dEiG0OR8 バカはこれだから…
title は肩書、degree は学位でお前みたいな高卒以下に関係ない属性なw
title は肩書、degree は学位でお前みたいな高卒以下に関係ない属性なw
159デフォルトの名無しさん
2021/06/27(日) 12:26:23.00ID:HfXxTqRR 愚かなギャグのせいでRubyガイジの方が優れている一面を見せてしまった
160デフォルトの名無しさん
2021/06/27(日) 12:30:57.00ID:d7u3fSB/ 今どきのPythonistはそういうのはまとめてAIにぶち込んでなんとなくいい感じに判断する
161デフォルトの名無しさん
2021/06/27(日) 12:43:14.16ID:G7M856dZ そもそも AI ω は意味なんて理解していない
162デフォルトの名無しさん
2021/06/27(日) 12:52:09.26ID:ZQs2/men お前らPythonicなコードを書けよPythonicなコードを
163デフォルトの名無しさん
2021/06/27(日) 12:54:10.14ID:ZQs2/men 微分積分なんて概要を理解すればいいんだよ
別に包丁がなんで出来ていてどういう歴史があるかなんて知る必要はなくて俺らに必要なのは包丁で野菜を切るただそれだけなのだから
別に包丁がなんで出来ていてどういう歴史があるかなんて知る必要はなくて俺らに必要なのは包丁で野菜を切るただそれだけなのだから
164デフォルトの名無しさん
2021/06/27(日) 15:37:00.86ID:8YEnojkX まあわざわざ極限使って計算することはなくて形式微分か形暗記したものを手計算なら使うしpcなら数値計算だもんな
微積の傾きと面積の関係、物理単位なら乗数が増減することが分かってれば困ることはない
微積の傾きと面積の関係、物理単位なら乗数が増減することが分かってれば困ることはない
165デフォルトの名無しさん
2021/06/27(日) 16:35:57.54ID:QiH1o3Ks 楕円の面積は簡単に求められるのに
外周の長さを求めようとすると結局積分が必要になる。
長いほうの直径が27、短いほうの直径が6の楕円の場合
外周の長さを.以下2桁まで求めるには実際にはどうやる?
外周の長さを求めようとすると結局積分が必要になる。
長いほうの直径が27、短いほうの直径が6の楕円の場合
外周の長さを.以下2桁まで求めるには実際にはどうやる?
166デフォルトの名無しさん
2021/06/27(日) 17:00:31.72ID:HfXxTqRR そーゆーのは高校生の甥っ子にでも出題してマウントってろ白痴
167デフォルトの名無しさん
2021/06/27(日) 17:47:59.81ID:IGTucaq9 degree って普通、象限の事かと思っていたわ
168デフォルトの名無しさん
2021/06/28(月) 04:45:13.70ID:mjwjNK+P pipenv installで環境構築した後に行う
pipenv shellって何なんですか??
構築した環境以外にもcdできたりrmしたcpしたり
よく意味がわからないのですが。。。
pipenv shellって何なんですか??
構築した環境以外にもcdできたりrmしたcpしたり
よく意味がわからないのですが。。。
169デフォルトの名無しさん
2021/06/28(月) 09:57:17.80ID:/8Q9yNC8 virtual envをactivateした状態のshellを起動するコマンド
pipenv -hでhelp見て
pipenv -hでhelp見て
170デフォルトの名無しさん
2021/06/28(月) 10:52:04.76ID:pZ6wi+C3 pythonって便利なんだな
https://twitter.com/nixcraft/status/1408771876848123904
https://twitter.com/5chan_nel (5ch newer account)
https://twitter.com/nixcraft/status/1408771876848123904
https://twitter.com/5chan_nel (5ch newer account)
171デフォルトの名無しさん
2021/06/28(月) 11:40:56.85ID:vg7m4LKe それリツイートで見たw
172元気な仔馬
2021/06/28(月) 11:46:07.23ID:3eu2Zryg ラズパイ4でpythonを始めたブログラム初心者です。
python 1年生という書籍の例として入っている文、 PIL.ImageTkというモジュールで悩んでいます。 自分が使っている環境ではこのモジュールが入ってなく、前に進めません。
バージョン違いのものでも動く、これの代わりになるモジュールが ありましたら、 教えていただけませんか?
python 1年生という書籍の例として入っている文、 PIL.ImageTkというモジュールで悩んでいます。 自分が使っている環境ではこのモジュールが入ってなく、前に進めません。
バージョン違いのものでも動く、これの代わりになるモジュールが ありましたら、 教えていただけませんか?
173デフォルトの名無しさん
2021/06/28(月) 12:13:01.95ID:/8Q9yNC8174デフォルトの名無しさん
2021/06/28(月) 12:24:21.25ID:XSoi24Ug >>170
それインスタンスがリークしないか?
それインスタンスがリークしないか?
175デフォルトの名無しさん
2021/06/28(月) 12:33:10.14ID:9lV5OqBm from iZoo import encho
176元気な仔馬
2021/06/28(月) 14:40:47.37ID:3eu2Zryg >173
ありがとうございます
しかし試してみましたがインストール中にエラーになったっぽいです…
状況は変わらず…
ありがとうございます
しかし試してみましたがインストール中にエラーになったっぽいです…
状況は変わらず…
177デフォルトの名無しさん
2021/06/28(月) 14:52:36.48ID:lNsRTxVu いや状況は変わってるだろ
エラーになったから諦めるんじゃなく、どういうエラーか確認して対処すればいいじゃん
だいたいのエラーはエラー文そのままでググれば解決法が出るし、
出ない場合はここにどんな環境で何がしたくて何をしてどうなったかとエラー全文貼れば教えてくれる人も居るでしょ
エラーになったから諦めるんじゃなく、どういうエラーか確認して対処すればいいじゃん
だいたいのエラーはエラー文そのままでググれば解決法が出るし、
出ない場合はここにどんな環境で何がしたくて何をしてどうなったかとエラー全文貼れば教えてくれる人も居るでしょ
178デフォルトの名無しさん
2021/06/28(月) 16:46:51.40ID:V/YMeLZd .foo.xxx_var
.foo.foo.yyy_var
この二種類の形式の文字列があるとき
xxxとyyyを正規表現で抜くにはどう書いたらいいですか?
.foo.foo.yyy_var
この二種類の形式の文字列があるとき
xxxとyyyを正規表現で抜くにはどう書いたらいいですか?
179デフォルトの名無しさん
2021/06/28(月) 16:55:20.40ID:JcAv6JCW .+[^\.]+\_var
180デフォルトの名無しさん
2021/06/28(月) 17:18:57.12ID:quG4wdoj 正規表現のスレで、聞いた方がよい
181デフォルトの名無しさん
2021/06/28(月) 18:11:49.59ID:V/YMeLZd182デフォルトの名無しさん
2021/06/28(月) 20:34:53.02ID:kbwv0g/L 正規表現て役に立つけど電話番号とかメアドみたいなよく使われるやつじゃないと他人が見たときわけ分かんないし自分も後で見たらわけ分かんなかったりするよな
よくスクレイピングするやつとか正規表現使う頻度にもよるんやろうけど
よくスクレイピングするやつとか正規表現使う頻度にもよるんやろうけど
183デフォルトの名無しさん
2021/06/28(月) 20:54:22.62ID:uYdbYpLI 共感得てポンコツなのは自分だけでは無いと安心したいのかな?
余程複雑長大なものでも無ければ解釈に大して手間取らないと思うが
余程複雑長大なものでも無ければ解釈に大して手間取らないと思うが
184デフォルトの名無しさん
2021/06/28(月) 21:23:46.27ID:gXPrfTZo >>172
つ Google colab
つ Google colab
185デフォルトの名無しさん
2021/06/28(月) 22:13:39.69ID:pZ6wi+C3 >>182
電話番号やメアドこそ、正しく正規表現で表そうとするとわけがわからんくなるぞ
電話番号やメアドこそ、正しく正規表現で表そうとするとわけがわからんくなるぞ
186デフォルトの名無しさん
2021/06/28(月) 23:28:31.01ID:cZa6zFVz メアドはともかく電話番号で悩むところあるか?
187デフォルトの名無しさん
2021/06/28(月) 23:56:15.26ID:G75AEbDR それこそ正規表現のスレ行ってください
188デフォルトの名無しさん
2021/06/29(火) 00:11:40.44ID:SX3qNymL ところで俺の正規表現を見てくれ
189デフォルトの名無しさん
2021/06/29(火) 00:48:34.27ID:SOQ8GKtA 誰にもmatchしないソレのことか?
190デフォルトの名無しさん
2021/06/29(火) 01:16:00.60ID:wJmyktbp もう^.*$でいいだろ面倒臭い
191デフォルトの名無しさん
2021/06/29(火) 06:09:40.51ID:tBEGF5OC192デフォルトの名無しさん
2021/06/29(火) 06:42:38.70ID:3+LFbHws >>191
パズルとしてならいいけど実務でやってるなら単なるバカ
パズルとしてならいいけど実務でやってるなら単なるバカ
193デフォルトの名無しさん
2021/06/29(火) 07:15:42.92ID:tBEGF5OC 「正しく正規表現で表そうとするとわけがわからんくなる」が伝わらんかったみたいだったからサンプル出したけど、まぁこのレベルの精度が必要なら正規表現じゃやらんわなw
194デフォルトの名無しさん
2021/06/29(火) 07:41:10.41ID:MxyOwUyS195デフォルトの名無しさん
2021/06/29(火) 07:46:39.05ID:kJlgCPwb 電話番号と同じパターンの別の番号が出てきたらどうすんだろ
気づかず置換して事故るんかな
気づかず置換して事故るんかな
196デフォルトの名無しさん
2021/06/29(火) 07:47:50.85ID:3NHpnvwy 正規表現でウダウダ言う奴ってこういうアスペ的なバカばっか
197デフォルトの名無しさん
2021/06/29(火) 08:29:49.41ID:tBEGF5OC >>194
ゆるいバリデーションなら、総務省のやつだろうね
アレは楽
リンクのやつは多分各事業者の情報も加味してある
このレベルで実装するなら、メンテが必要なんで、継続的な更新のあるライブラリが必須だね
個人的にはやりたくないw
他言語の資料だけど、これが面白かった
https://speakerdeck.com/memory1994/li-jie-siteokubeki-php-falsebaridesiyon?slide=78
ゆるいバリデーションなら、総務省のやつだろうね
アレは楽
リンクのやつは多分各事業者の情報も加味してある
このレベルで実装するなら、メンテが必要なんで、継続的な更新のあるライブラリが必須だね
個人的にはやりたくないw
他言語の資料だけど、これが面白かった
https://speakerdeck.com/memory1994/li-jie-siteokubeki-php-falsebaridesiyon?slide=78
198デフォルトの名無しさん
2021/06/29(火) 08:30:57.71ID:tBEGF5OC199デフォルトの名無しさん
2021/06/29(火) 08:55:46.98ID:1h4nclxf 今日は中卒の俺が単回帰分析覚えたぞ?
バカにしたやつ震えるがいいw
バカにしたやつ震えるがいいw
200デフォルトの名無しさん
2021/06/29(火) 09:05:44.12ID:tBEGF5OC201デフォルトの名無しさん
2021/06/29(火) 12:30:53.94ID:S91QebJL >>200
あいたたw
あいたたw
202デフォルトの名無しさん
2021/06/29(火) 17:50:23.25ID:SOQ8GKtA >>200
こういう引用する方が中卒、いや中坊っぽい
こういう引用する方が中卒、いや中坊っぽい
203デフォルトの名無しさん
2021/06/29(火) 19:22:41.33ID:vRfx68y2 なんかたまに名言でドヤって来るやついるけどダサいよな
内容より誰が言うかやからな
あとゲームとか漫画の引用は中学生までや
内容より誰が言うかやからな
あとゲームとか漫画の引用は中学生までや
204デフォルトの名無しさん
2021/06/29(火) 19:36:36.48ID:1h4nclxf やれやれだぜ
205デフォルトの名無しさん
2021/06/29(火) 20:19:27.59ID:eB1TyNRb まんがじゃないよ…
206デフォルトの名無しさん
2021/06/29(火) 21:30:03.66ID:MxyOwUyS そういわれると「ゼノンのパラドックス」ってすごい厨二ネーミングに見えてきた。。。
207デフォルトの名無しさん
2021/06/29(火) 21:44:38.04ID:1h4nclxf いやダイクストラのアルゴリズムのが厨二っぽい
208デフォルトの名無しさん
2021/06/29(火) 21:54:10.56ID:MxyOwUyS どっちが上とか言い出したら「フェルマーの最終定理」
209デフォルトの名無しさん
2021/06/29(火) 23:42:32.20ID:hw58oJ3l 次元の呪い
210デフォルトの名無しさん
2021/06/30(水) 00:19:49.96ID:lUxCO1IZ これは何歳までだとか自分がどう見られるかに拘ってる内はまだまだガキ
211デフォルトの名無しさん
2021/06/30(水) 04:50:10.49ID:dkF+z6Xg212デフォルトの名無しさん
2021/06/30(水) 07:48:27.13ID:D9KqFPaB httpサーバー立てるときに
@route('/')
def index():
_pass
@route('hoge')
def hoge():
_ pass
という風に分けるのですが
index()ではimport sample1を
hoge()ではimport sample2をしたいとき、
一番上(defの外)にまとめてimport sample1,sample2とするのかそれとも
index(),hoge()の中それぞれでimportした方がいいのか
何か慣習はあるのでしょうか?
@route('/')
def index():
_pass
@route('hoge')
def hoge():
_ pass
という風に分けるのですが
index()ではimport sample1を
hoge()ではimport sample2をしたいとき、
一番上(defの外)にまとめてimport sample1,sample2とするのかそれとも
index(),hoge()の中それぞれでimportした方がいいのか
何か慣習はあるのでしょうか?
213デフォルトの名無しさん
2021/06/30(水) 08:54:34.29ID:fR3i2rdt httpサーバーであるという情報とかデコレーターが付いてるのとかが質問にどう関わるのかよく分からんが、sample1モジュールはindex関数だけから、sample2モジュールはhoge関数だけから使われるケースで何処でimportするか、ということなら、俺の場合
index()やhoge()が__name__ == '__main__'が真であるときにのみ呼ばれるならindexやhogeの中で、そうでないならソースの先頭でimportしてる
つまり、そのソースが単体で実行されるときにしか使わないモジュールは、モジュールとして他のコードにimportされるときにはimportしたくない、という貧乏根性
index()やhoge()が__name__ == '__main__'が真であるときにのみ呼ばれるならindexやhogeの中で、そうでないならソースの先頭でimportしてる
つまり、そのソースが単体で実行されるときにしか使わないモジュールは、モジュールとして他のコードにimportされるときにはimportしたくない、という貧乏根性
214デフォルトの名無しさん
2021/06/30(水) 09:39:57.08ID:QIg09vqW >>212
特別な理由がない限りは全て先頭でimportしたほうがいい
importは重い処理だしエラーを発生させやすいので、なるべく起動時に済ませてしまった方がアプリの挙動が安定する
毎回実行される訳ではないが、初回実行のタイミングの問題だ
Webアプリで特定のアクションが呼ばれたときにエラーで落ちるとか初回実行時だけやたら遅いとかデバッグするの嫌でしょ
逆に、必要になったときに初めて読み込むことで起動時間やメモリ消費を抑えるテクニックもあるが、役に立つのは分散処理フレームワークなど極めて特殊なケースだ
特別な理由がない限りは全て先頭でimportしたほうがいい
importは重い処理だしエラーを発生させやすいので、なるべく起動時に済ませてしまった方がアプリの挙動が安定する
毎回実行される訳ではないが、初回実行のタイミングの問題だ
Webアプリで特定のアクションが呼ばれたときにエラーで落ちるとか初回実行時だけやたら遅いとかデバッグするの嫌でしょ
逆に、必要になったときに初めて読み込むことで起動時間やメモリ消費を抑えるテクニックもあるが、役に立つのは分散処理フレームワークなど極めて特殊なケースだ
215デフォルトの名無しさん
2021/06/30(水) 10:47:08.67ID:x9tVpfG6 そもそもめったに使わない(まったく使わない)機能のために
依存関係増やしたくないしな
依存関係増やしたくないしな
216デフォルトの名無しさん
2021/06/30(水) 21:12:10.78ID:iVkkZXbL Ruby のrequire は、同じファイルを1回しか読み込まないので、簡単
217デフォルトの名無しさん
2021/06/30(水) 22:30:32.84ID:EN4MKAxN Rubywww
218デフォルトの名無しさん
2021/06/30(水) 22:57:27.70ID:C441gc0U RubyとMindはオワコン。
219デフォルトの名無しさん
2021/06/30(水) 23:06:38.74ID:N62KG6DK 利用率ではもはやPerlとどっこいなRuby
220デフォルトの名無しさん
2021/07/01(木) 09:12:46.98ID:47t/afFm string = '<001>_<9>'
size = 3
から
strings = ['001_9', '002_10', '003_11']
文字列中のタグ部分を任意の長さだけカウントアップした配列が欲しい
def multiple_counting(size, string):
_pat = re.compile(r'<(\d+)>')
_tags = pat.findall(string)
#カウント作成
_counters = []
_for tag in tags:
__counters.append([str(int(tag)+1).zfill(len(tag)) for i in range(size)])
#書き換え
_strings = [string]*size
_for counter in counters:
__strings = [pat.sub(count, string, 1) for count, string in zip(counter,strings)]
_return strings
なんか便利な関数とか、もっとシュッとしたやり方とかあると思うんですが
知らないので教えてください.あと再帰関数使いたかったけど挫折しました
size = 3
から
strings = ['001_9', '002_10', '003_11']
文字列中のタグ部分を任意の長さだけカウントアップした配列が欲しい
def multiple_counting(size, string):
_pat = re.compile(r'<(\d+)>')
_tags = pat.findall(string)
#カウント作成
_counters = []
_for tag in tags:
__counters.append([str(int(tag)+1).zfill(len(tag)) for i in range(size)])
#書き換え
_strings = [string]*size
_for counter in counters:
__strings = [pat.sub(count, string, 1) for count, string in zip(counter,strings)]
_return strings
なんか便利な関数とか、もっとシュッとしたやり方とかあると思うんですが
知らないので教えてください.あと再帰関数使いたかったけど挫折しました
221デフォルトの名無しさん
2021/07/01(木) 09:53:11.45ID:n7sulsnm 置換マップみたいなのなかったっけ
222 【ぴょん吉】
2021/07/01(木) 10:36:03.88ID:Ipwd3DUh >>220
[re.sub(r'<([0-9]+)>', lambda m: f'{{:0{len(m[1])}}}'.format(int(m[1]) + i), string) for i in range(size)]
[re.sub(r'<([0-9]+)>', lambda m: f'{{:0{len(m[1])}}}'.format(int(m[1]) + i), string) for i in range(size)]
223デフォルトの名無しさん
2021/07/01(木) 18:34:44.42ID:47t/afFm >>222
ありがとうございます
ありがとうございます
224デフォルトの名無しさん
2021/07/01(木) 19:00:33.74ID:s31eTWYH 今日は重回帰分析勉強したわ
スカラーベクトル行列転置をやったけど逆行列って言うのがよくわからねえわ
そろそろ中卒の俺の頭もセグメンテーションエラーだわ
じゃあの
スカラーベクトル行列転置をやったけど逆行列って言うのがよくわからねえわ
そろそろ中卒の俺の頭もセグメンテーションエラーだわ
じゃあの
225デフォルトの名無しさん
2021/07/01(木) 19:55:12.97ID:m9mL4lnU >>224
誰もお前に興味ないから無駄な報告は要らんぞ
誰もお前に興味ないから無駄な報告は要らんぞ
226デフォルトの名無しさん
2021/07/02(金) 08:18:08.33ID:tPTf4bIR227デフォルトの名無しさん
2021/07/02(金) 08:46:35.95ID:9LnHCrkz >>224
さきに高校数学と線形代数やれ
さきに高校数学と線形代数やれ
228デフォルトの名無しさん
2021/07/02(金) 13:03:57.17ID:cZhhmJXr229デフォルトの名無しさん
2021/07/02(金) 13:17:37.81ID:9LnHCrkz それで逆行列が分からんのに何を理解したというねん
230デフォルトの名無しさん
2021/07/02(金) 13:26:09.60ID:m4gnkicM はい出ましたw
きちんと理解してないから分からないとかいう奴www
きちんと理解してないから分からないとかいう奴www
231デフォルトの名無しさん
2021/07/02(金) 13:32:26.18ID:ILBLMl6W やつ
232デフォルトの名無しさん
2021/07/02(金) 17:57:31.72ID:Xm/bZCrF value: int みたいに型指定したほうがいいの?
233デフォルトの名無しさん
2021/07/02(金) 21:23:10.28ID:SG4SXaSP Python処理系は今のところdataclassのフィールド生成くらいにしかタイプヒントを利用しない
それ以外のタイプヒントは完全にタイプチェッカー向けで、タイプチェッカーを利用しないならつける意味はない
それ以外のタイプヒントは完全にタイプチェッカー向けで、タイプチェッカーを利用しないならつける意味はない
234デフォルトの名無しさん
2021/07/02(金) 21:53:09.57ID:QH8xfbBh 逆行列のどこが分からないのかな
AB=I
Iは単位行列
のときBはAの逆行列
AB=I
Iは単位行列
のときBはAの逆行列
235デフォルトの名無しさん
2021/07/02(金) 22:17:24.51ID:E59Amcuv 逆元が分からんのだろ
行列やってる段階の奴が群知ってるとは思えないが
行列やってる段階の奴が群知ってるとは思えないが
236デフォルトの名無しさん
2021/07/03(土) 09:39:19.49ID:UqPPpbRy >>234
いや単位行列は斜めに1があるやつで
逆行列は普通の行列に逆行列をかけると単位行列になるって言うのはわかるんだよ
ただその後これはスカラーですだのこれはベクトルですだの出てきて記号いっぱいになると途端に訳が分からなくなるのだよ分かる?
行列積があーだのこーだの
いや単位行列は斜めに1があるやつで
逆行列は普通の行列に逆行列をかけると単位行列になるって言うのはわかるんだよ
ただその後これはスカラーですだのこれはベクトルですだの出てきて記号いっぱいになると途端に訳が分からなくなるのだよ分かる?
行列積があーだのこーだの
237デフォルトの名無しさん
2021/07/03(土) 09:40:33.15ID:UqPPpbRy238デフォルトの名無しさん
2021/07/03(土) 11:01:50.13ID:gq7PWL9B >>236
馬鹿には無理
馬鹿には無理
239デフォルトの名無しさん
2021/07/03(土) 11:06:01.41ID:MyiFvpsW おっさんは行列を高校でやってるからなあ
240デフォルトの名無しさん
2021/07/03(土) 11:53:08.74ID:ENhcG6bL 内積、外積
241デフォルトの名無しさん
2021/07/03(土) 12:45:29.69ID:WO4lFPcp >>236
>分かる?
とか言われてもその気持ちは分からんなぁ
普通に行列やって普通に単位取れたってことは特に苦労しなかったんだから、
ワケが分からなくなることがなかった
記号が一杯でも初見で大丈夫だったからお前の気持ちは一切分からん
>分かる?
とか言われてもその気持ちは分からんなぁ
普通に行列やって普通に単位取れたってことは特に苦労しなかったんだから、
ワケが分からなくなることがなかった
記号が一杯でも初見で大丈夫だったからお前の気持ちは一切分からん
242デフォルトの名無しさん
2021/07/03(土) 14:35:42.16ID:ZeViGhZj 関流に弟子入りするべき
243デフォルトの名無しさん
2021/07/03(土) 16:40:21.53ID:mObkgdSa244デフォルトの名無しさん
2021/07/03(土) 17:33:35.17ID:KyOEtNLT pythonってプログラミング言語の中では簡単な方って本当ですか?
最近勉強してるんですが難し過ぎるんですが
最近勉強してるんですが難し過ぎるんですが
245デフォルトの名無しさん
2021/07/03(土) 17:57:04.61ID:2G/hXmzA [[1,2,3], [1,2,3], [1,2,3]]
がほしいとき
[[1,2,3]*3]じゃなくて[[1,2,3]]*3だけど
感覚的には前者なので違和感が強いです
なんかいい感じに納得させてもらえませんか
がほしいとき
[[1,2,3]*3]じゃなくて[[1,2,3]]*3だけど
感覚的には前者なので違和感が強いです
なんかいい感じに納得させてもらえませんか
246デフォルトの名無しさん
2021/07/03(土) 18:07:23.78ID:bc4tv4Cc247デフォルトの名無しさん
2021/07/03(土) 18:15:50.79ID:WO4lFPcp かんたん言ってる奴は先に別の言語をやってた可能性が高い
それに比べるとかんたんと言ってる
それに比べるとかんたんと言ってる
248デフォルトの名無しさん
2021/07/03(土) 19:42:13.76ID:KyOEtNLT249デフォルトの名無しさん
2021/07/03(土) 20:08:02.32ID:IMGL3rxE250デフォルトの名無しさん
2021/07/03(土) 21:33:02.67ID:I7Zt9Z8V 合成関数のとことかシグモイド関数の微分とかお前らモヤらんのか?
中卒野俺にはわからんがめっちゃ頭いいな
中卒野俺にはわからんがめっちゃ頭いいな
251デフォルトの名無しさん
2021/07/03(土) 23:09:47.68ID:91vjT9iB 頑張って一般化逆行列を理解しよう
252デフォルトの名無しさん
2021/07/03(土) 23:27:47.89ID:avhnjRXY YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、
初心者は、Ruby on Rails から始める
Python, PHP も勧めていない
バックエンドは、Ruby → Go という路線
初心者は、Ruby on Rails から始める
Python, PHP も勧めていない
バックエンドは、Ruby → Go という路線
253デフォルトの名無しさん
2021/07/04(日) 00:07:57.92ID:DDnLb3K7 ケンタはあわしろ氏の一番弟子。
実力は折り紙付き。
実力は折り紙付き。
254デフォルトの名無しさん
2021/07/04(日) 03:15:46.12ID:kVVHiiiU TIOBEのTOP10から転落した落ち目言語はポイーで
255デフォルトの名無しさん
2021/07/04(日) 08:47:31.64ID:5abFjuPT 範囲内、重複なしのreq_indexでdb(リスト)からデータ取得する
selection = [db[idx] for idx in req]
こういうのの逆で、渡されたreqに含まれてないidxデータ取得するとき、一番スマートなのはどういう書き方?
selection = [db[idx] for idx in req]
こういうのの逆で、渡されたreqに含まれてないidxデータ取得するとき、一番スマートなのはどういう書き方?
256デフォルトの名無しさん
2021/07/04(日) 08:50:25.61ID:5abFjuPT db[あ,い,う,え]
req[0,2]
get[い,え]
ていう場合
req[0,2]
get[い,え]
ていう場合
257デフォルトの名無しさん
2021/07/04(日) 10:13:27.09ID:hbHHSLi0258デフォルトの名無しさん
2021/07/04(日) 10:17:54.09ID:pili1Lz/ >>245
[3*3] -> [9]
[3]*3 -> [3, 3, 3]
[[3*3]] -> [[9]]
[[3]*3] -> [[3, 3, 3]]
[[3]]*3 -> [[3], [3], [3]]
[3*3] -> [9]
[3]*3 -> [3, 3, 3]
[[3*3]] -> [[9]]
[[3]*3] -> [[3, 3, 3]]
[[3]]*3 -> [[3], [3], [3]]
259デフォルトの名無しさん
2021/07/04(日) 10:19:32.88ID:pili1Lz/260デフォルトの名無しさん
2021/07/04(日) 12:15:28.10ID:1R4z78Cs ってみんな言ってます!
261デフォルトの名無しさん
2021/07/04(日) 14:20:14.26ID:BYgnURbL わしもそう思う
262デフォルトの名無しさん
2021/07/04(日) 15:29:30.76ID:uQBb7zfv いやプログラムの根底は演算と型と制御だろ
そりゃベースが出来てれば大体何でも出来るわ
そりゃベースが出来てれば大体何でも出来るわ
263デフォルトの名無しさん
2021/07/04(日) 15:59:44.10ID:SaImNcMt あとライブラリの探し方と使い方かな
264デフォルトの名無しさん
2021/07/04(日) 16:34:17.72ID:i/yFAdE3265デフォルトの名無しさん
2021/07/04(日) 17:11:19.65ID:Thc8jF3i プログラムの根底とプログラミングの根底は全く別物
その程度の区別が出来ないようなら大体何も出来ない
その程度の区別が出来ないようなら大体何も出来ない
266デフォルトの名無しさん
2021/07/04(日) 18:27:39.63ID:CJXzLbyo proxyを通して接続するときに、そのproxyが生きているかどうかだけ確認したいのですが
実際に存在する適当なサイトに接続してステータスコード200を確認すればよいのでしょうか?
今は、
プロキシ経由OKの(なるべくレスポンスの速い)サイトでrequests.getして200返ってきたらproxy生存
みたいにしてるのですが
それ専用のチェックの仕方があるのかな、と気になりました
実際に存在する適当なサイトに接続してステータスコード200を確認すればよいのでしょうか?
今は、
プロキシ経由OKの(なるべくレスポンスの速い)サイトでrequests.getして200返ってきたらproxy生存
みたいにしてるのですが
それ専用のチェックの仕方があるのかな、と気になりました
267デフォルトの名無しさん
2021/07/04(日) 19:06:12.27ID:KdurfuN3 >>265
確かに1行目と2行目の文章が繋がってないお前が言うと説得力あるなあ
確かに1行目と2行目の文章が繋がってないお前が言うと説得力あるなあ
268デフォルトの名無しさん
2021/07/04(日) 20:09:32.45ID:L4Prcy4Z >>255
[db[i] for i in {i for i in range(len(db))}-set(req)]
[db[i] for i in {i for i in range(len(db))}-set(req)]
269デフォルトの名無しさん
2021/07/04(日) 21:43:55.75ID:aHJdtdht >一つの言語を極めると、他の言語を覚えるのは簡単
これ自体が嘘。
10年以上掛かるし、各言語の特殊性を学んでも、再利用できないから無駄
YouTube で有名な、雑食系エンジニア・KENTA は全く逆の事を言ってる
80 : 20 の法則。
簡単な80% の部分だけを学ぶべき
難しい20%の部分は、特殊だから再利用できない・使う頻度が少ない割に、
学ぶ時間が何倍も掛かるので、効率が悪い
専門学校で必ず言われること
例えば、法律の条文の暗記とか、
15題ずつ、重要度A・B・Cのランクがあったら、
AB だけ暗記して、C を捨てろとか
使う・出る確率が低いから、そこに暗記コストを掛けるのが無駄
ドラゴン桜で言う、京大英語・赤本で英語を学ぶなという格言。
特殊で、誰も使わないようなトリビア表現に、時間を掛けるな
数百人のネイティブがチェックしてる、英検をやれ
これ自体が嘘。
10年以上掛かるし、各言語の特殊性を学んでも、再利用できないから無駄
YouTube で有名な、雑食系エンジニア・KENTA は全く逆の事を言ってる
80 : 20 の法則。
簡単な80% の部分だけを学ぶべき
難しい20%の部分は、特殊だから再利用できない・使う頻度が少ない割に、
学ぶ時間が何倍も掛かるので、効率が悪い
専門学校で必ず言われること
例えば、法律の条文の暗記とか、
15題ずつ、重要度A・B・Cのランクがあったら、
AB だけ暗記して、C を捨てろとか
使う・出る確率が低いから、そこに暗記コストを掛けるのが無駄
ドラゴン桜で言う、京大英語・赤本で英語を学ぶなという格言。
特殊で、誰も使わないようなトリビア表現に、時間を掛けるな
数百人のネイティブがチェックしてる、英検をやれ
270デフォルトの名無しさん
2021/07/04(日) 21:52:26.25ID:1R4z78Cs271デフォルトの名無しさん
2021/07/04(日) 22:03:17.62ID:9C8iWrP9 推奨NGWord
Ruby
あわしろ氏
雑食系エンジニア
Ruby
あわしろ氏
雑食系エンジニア
272デフォルトの名無しさん
2021/07/04(日) 22:19:49.10ID:YfSOCxWP そうして簡単な単純労働しかできない人が量産されるんですね
273デフォルトの名無しさん
2021/07/04(日) 22:21:45.55ID:1R4z78Cs 簡単な部分の精度を上げろってこった
274デフォルトの名無しさん
2021/07/04(日) 22:35:43.14ID:ZDZVmq0W 難しい2割を理解できる人が世の中をまわす
275デフォルトの名無しさん
2021/07/04(日) 22:38:11.14ID:1R4z78Cs むつかしいほうは8割だっつっとろうが
276デフォルトの名無しさん
2021/07/04(日) 22:39:45.78ID:SVViFRUT277269
2021/07/04(日) 22:40:16.40ID:aHJdtdht 簡単な80% の部分を、横に進めていく。
Ruby on Rails なんて、まさにそう。浅く広く
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
さらに、AWS Fargate, Terraform, Vue.js, TypeScript
KENTA のサロン、AWSのくろかわこうへいのサロンに入る。
だから、1年の未経験者が、10年以上のプロよりも技術力が上になる!
時間が掛かる、難しい20%の部分を勉強しないから。
これを、KENTAが勉強方法のチートと言ってる
簡単な80%の部分の勉強時間は、20%しか掛からないのに、
難しい20%の部分の勉強時間は、80%掛かる
つまり、勉強時間では逆になる。
しかも、特殊だから再利用できない・使う頻度が少なく、役に立たない
例えば、C を10年やってる香具師の大部分の時間が、ポインターを追っかけている時間
だから、時間が掛かるだけで、何も学べていないから、
Railsを1年やっただけの未経験者に負けてしまう
Rubyの女神・池澤あやかも言ってる。
大学生がプログラミングで挫折するのは、Cをやるからだって
つまり、ほぼ無意味なことを長時間やるから、しょーもない
Ruby on Rails なんて、まさにそう。浅く広く
Rails, Linux, Docker Compose, Node.js(Webpack, Babel), Bootstrap
VSCode(Remote Container, WSL2 ならRemote WSL), Heroku, CircleCI、データベース
さらに、AWS Fargate, Terraform, Vue.js, TypeScript
KENTA のサロン、AWSのくろかわこうへいのサロンに入る。
だから、1年の未経験者が、10年以上のプロよりも技術力が上になる!
時間が掛かる、難しい20%の部分を勉強しないから。
これを、KENTAが勉強方法のチートと言ってる
簡単な80%の部分の勉強時間は、20%しか掛からないのに、
難しい20%の部分の勉強時間は、80%掛かる
つまり、勉強時間では逆になる。
しかも、特殊だから再利用できない・使う頻度が少なく、役に立たない
例えば、C を10年やってる香具師の大部分の時間が、ポインターを追っかけている時間
だから、時間が掛かるだけで、何も学べていないから、
Railsを1年やっただけの未経験者に負けてしまう
Rubyの女神・池澤あやかも言ってる。
大学生がプログラミングで挫折するのは、Cをやるからだって
つまり、ほぼ無意味なことを長時間やるから、しょーもない
278デフォルトの名無しさん
2021/07/04(日) 22:41:49.47ID:ZDZVmq0W 重要なのは2割って話は知ってるけど
簡単なのは2割って知らんな
簡単なのは2割って知らんな
279デフォルトの名無しさん
2021/07/04(日) 22:48:09.20ID:1R4z78Cs 統失煽りで文化人を一人殺したので
名前が同じだけでもてはやされてたKENTAは用済み
名前が同じだけでもてはやされてたKENTAは用済み
280デフォルトの名無しさん
2021/07/04(日) 23:01:11.65ID:PTs94Rmb Rubyって時点でお察し
281デフォルトの名無しさん
2021/07/05(月) 00:27:11.73ID:SA0zdM26 > だから、1年の未経験者が、10年以上のプロよりも技術力が上になる!
プロ舐めすぎやろ
自分のレベルすら正確に把握出来てないだけじゃん
プロ舐めすぎやろ
自分のレベルすら正確に把握出来てないだけじゃん
282デフォルトの名無しさん
2021/07/05(月) 01:30:50.54ID:cyuSl6kj >>245
演算規則を考えよう
1 * 3 = 1 + 1 + 1 = 3
[1] * 3 = [1] + [1] + [1] = [1, 1, 1]
であるので、
[[1]] * 3 = [[1]] + [[1]] + [[1]] = [[1], [1], [1]]
となる
加算と乗算に一貫性をもたせるとしたらこうするか、
1 + 1 = [1, 1]
[1] + [1] = [[1] + [1]]
のような規則にするしかないけど、明らかに1 + 1がリストになっちゃうのは使いにくいでしょ
演算規則を考えよう
1 * 3 = 1 + 1 + 1 = 3
[1] * 3 = [1] + [1] + [1] = [1, 1, 1]
であるので、
[[1]] * 3 = [[1]] + [[1]] + [[1]] = [[1], [1], [1]]
となる
加算と乗算に一貫性をもたせるとしたらこうするか、
1 + 1 = [1, 1]
[1] + [1] = [[1] + [1]]
のような規則にするしかないけど、明らかに1 + 1がリストになっちゃうのは使いにくいでしょ
283デフォルトの名無しさん
2021/07/05(月) 01:54:24.43ID:ts/O0CHN >>281
ダニングクルーガー効果ってのがあってぇ…
ダニングクルーガー効果ってのがあってぇ…
284デフォルトの名無しさん
2021/07/05(月) 08:07:41.22ID:308oM4PQ285デフォルトの名無しさん
2021/07/05(月) 11:09:29.47ID:c503ASju286デフォルトの名無しさん
2021/07/05(月) 11:52:44.70ID:DJ8mSFAE Railsはすべて分かっている人にとっては楽
初心者は設定や、細かいチューニングで必ずつまずく
初心者は設定や、細かいチューニングで必ずつまずく
287デフォルトの名無しさん
2021/07/05(月) 14:49:22.59ID:WfBg4Dd7 pandasで特定の列(横)の重複した値を削除して一つだけにするのってどうするの
例えばA,B,C,B,C,DってあったらA,B,C,,,Dにしたい(BやCのみでも可)
例えばA,B,C,B,C,DってあったらA,B,C,,,Dにしたい(BやCのみでも可)
288デフォルトの名無しさん
2021/07/05(月) 14:56:34.11ID:zfQ+6anv kwsk
289デフォルトの名無しさん
2021/07/05(月) 17:20:56.75ID:rH8GS2yx >>287
あえてPandas使ってとなるとむずいな
あえてPandas使ってとなるとむずいな
290デフォルトの名無しさん
2021/07/05(月) 18:56:50.40ID:+tp9LwEv BやCのみでも可なら
df.replace('B','').replace('C','')
それとは別にdf.duplicatedで空白にしたいインデックスがTrueになる
データフレームが得られる
データフレームにSQLほどの機能はないようだ
df.replace('B','').replace('C','')
それとは別にdf.duplicatedで空白にしたいインデックスがTrueになる
データフレームが得られる
データフレームにSQLほどの機能はないようだ
291デフォルトの名無しさん
2021/07/05(月) 20:17:35.08ID:41zUyXOD dfの横はlist的に扱えるから一次元リストの重複要素を任意の値に置き換えるという操作をするだけでは?
292デフォルトの名無しさん
2021/07/05(月) 21:27:56.39ID:WfBg4Dd7 サンクス!
293デフォルトの名無しさん
2021/07/06(火) 00:10:38.82ID:c1bms/+C みんなのPythonで勉強しているのですがP340のwith文の説明がよくわかりません
私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
openするファイルが存在しないと普通にエラーになるのですが
私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
openするファイルが存在しないと普通にエラーになるのですが
294デフォルトの名無しさん
2021/07/06(火) 00:38:25.59ID:wcT5LwJn modeによるとしか
readならその通り。writeはファイルが存在しなければ作成される。
readならその通り。writeはファイルが存在しなければ作成される。
295デフォルトの名無しさん
2021/07/06(火) 00:48:09.74ID:IX8Wt/RA modeの話?
296デフォルトの名無しさん
2021/07/06(火) 00:52:21.13ID:AJxevGXU Ruby では、存在しないファイルを読もうとしたら、エラーになる。No such file
print File.read 'abc.txt'
出力
No such file or directory @ rb_sysopen - abc.txt (Errno::ENOENT)
print File.read 'abc.txt'
出力
No such file or directory @ rb_sysopen - abc.txt (Errno::ENOENT)
297デフォルトの名無しさん
2021/07/06(火) 01:06:54.99ID:c1bms/+C 参考書の例文はモード指定しない既定なのでreadです
with文のreadモードで開いたファイルをfor文で一行ずつprintしています
説明によると、ファイルが存在していたら処理を行うという意味のコードになるとのことです
with文のreadモードで開いたファイルをfor文で一行ずつprintしています
説明によると、ファイルが存在していたら処理を行うという意味のコードになるとのことです
298デフォルトの名無しさん
2021/07/06(火) 01:21:35.74ID:n3HBlCzk おじちゃんせっかくマニュアルあるのに読まない子の気持ちはわからないよ
https://docs.python.org/ja/3/library/functions.html?highlight=open#open
https://docs.python.org/ja/3/library/functions.html?highlight=open#open
299デフォルトの名無しさん
2021/07/06(火) 01:33:10.58ID:M25Qh6q2 >>293
>私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
違うよ
>この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
サンプルコードではFileNotFoundErrorをハンドリングしてるね
https://colab.research.google.com/github/shibats/minpy_samplecodes_4th/blob/master/Chapter10/10-01.ipynb
>私の理解では、with文でopen()した場合は、ファイルを最後まで読み切ったら自動的にclose()する処理になると思っています
違うよ
>この参考書には、openするファイルが存在しなかったらファイルを開かないで処理を終了する、ということが書いてあるのですが間違っていないでしょうか
サンプルコードではFileNotFoundErrorをハンドリングしてるね
https://colab.research.google.com/github/shibats/minpy_samplecodes_4th/blob/master/Chapter10/10-01.ipynb
300デフォルトの名無しさん
2021/07/06(火) 16:37:29.04ID:ewE8N/dz def test():
__return random.randint(2,5)
obj=[test(), 0, 1]
l = random.choices(obj, k=3)
# -> [4,2,0]
testが毎回実行されて(lに違う数字で入って)ほしい
どう書けばいいの?
__return random.randint(2,5)
obj=[test(), 0, 1]
l = random.choices(obj, k=3)
# -> [4,2,0]
testが毎回実行されて(lに違う数字で入って)ほしい
どう書けばいいの?
301デフォルトの名無しさん
2021/07/06(火) 16:45:42.95ID:Fj5fpx8O302デフォルトの名無しさん
2021/07/06(火) 16:46:46.00ID:8bcWgGBz def test():
__return random.randint(2,5)
def exectest():
__obj=[test(), 0, 1]
__l = random.choices(obj, k=3)
exectest()
__return random.randint(2,5)
def exectest():
__obj=[test(), 0, 1]
__l = random.choices(obj, k=3)
exectest()
303デフォルトの名無しさん
2021/07/06(火) 18:44:35.16ID:yuAoY/NP numpy.loadtxtでcsvファイルを読み込むんだが、csvファイルのデータが崩れていることがある。
で、何行目にエラーがあって取り込めなかったのかを知りたいんだが、いい方法ない?
データが崩れているというのは、例えば、
-1.234,123.45.789,
みたいに、ありえない数値表現が紛れているということなんだが
csvファイルが崩れないようにするのが本筋だけどそっちに頑張る気がないので
おかしな行を見つけたら手動でその行を削除して再度処理という感じで運用したい
で、何行目にエラーがあって取り込めなかったのかを知りたいんだが、いい方法ない?
データが崩れているというのは、例えば、
-1.234,123.45.789,
みたいに、ありえない数値表現が紛れているということなんだが
csvファイルが崩れないようにするのが本筋だけどそっちに頑張る気がないので
おかしな行を見つけたら手動でその行を削除して再度処理という感じで運用したい
304デフォルトの名無しさん
2021/07/06(火) 19:22:28.01ID:BTTPD25v typeでチェックすれば
305デフォルトの名無しさん
2021/07/06(火) 20:02:32.04ID:MGYt6+tS 通常はどういう数値が入るのか分からんとなんとも言えないな
306デフォルトの名無しさん
2021/07/06(火) 21:14:42.87ID:yuAoY/NP307デフォルトの名無しさん
2021/07/07(水) 00:12:50.55ID:eWdID8i0308デフォルトの名無しさん
2021/07/07(水) 00:17:53.03ID:bUHYGk47 例えば、Ruby では各列を、変換器・converter で変換して、
変換できたかどうか、型を確認するとか
require "csv"
input_str = <<"EOT"
-0.0,1.2.3
9..9,-0
EOT
csv = CSV.new( input_str )
csv.convert( :numeric ) # 数値型へ変換する
line_num = 0 # 行番号
csv.each do |row|
line_num += 1
p [ line_num, row[ 0 ].class, row[ 1 ].class ]
end
出力
[1, Float, String]
[2, String, Integer]
1.2.3, 9..9 が、変換に失敗して、文字列型のまま
変換できたかどうか、型を確認するとか
require "csv"
input_str = <<"EOT"
-0.0,1.2.3
9..9,-0
EOT
csv = CSV.new( input_str )
csv.convert( :numeric ) # 数値型へ変換する
line_num = 0 # 行番号
csv.each do |row|
line_num += 1
p [ line_num, row[ 0 ].class, row[ 1 ].class ]
end
出力
[1, Float, String]
[2, String, Integer]
1.2.3, 9..9 が、変換に失敗して、文字列型のまま
309デフォルトの名無しさん
2021/07/07(水) 00:41:11.10ID:DonMIAPH310デフォルトの名無しさん
2021/07/07(水) 00:49:15.09ID:85qcEXGX >>308
せめてnumpyを移植してから知った風な口を利け
せめてnumpyを移植してから知った風な口を利け
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とかの)言語のアプリケーション ○
412デフォルトの名無しさん
2021/07/24(土) 19:43:03.25ID:LBBZ+Kmj 可能かどうかで言えば可能だがやる価値があるかは分からんな
パッチプログラムにバイナリ差分を持たせてパッチしたいファイルに書き込めばよかろうさ
パッチプログラムにバイナリ差分を持たせてパッチしたいファイルに書き込めばよかろうさ
413デフォルトの名無しさん
2021/07/24(土) 20:11:02.76ID:vC93mKDQ pypi
414デフォルトの名無しさん
2021/07/24(土) 20:22:46.33ID:/Rm8B1// pythonって案件ないのにどうして人気なの?
稼げない言語を極めても意味ないと思うんだけど
稼げない言語を極めても意味ないと思うんだけど
415デフォルトの名無しさん
2021/07/24(土) 20:26:10.70ID:LBBZ+Kmj あなたのお母さんが知ってるからお母さんに聞いてね
416デフォルトの名無しさん
2021/07/24(土) 22:13:39.03ID:vC93mKDQ 五輪pig並に頭の悪い発言だな
417デフォルトの名無しさん
2021/07/25(日) 00:36:03.26ID:LRlqy7mF >>414
今時の嗜みだよ
今時の嗜みだよ
418デフォルトの名無しさん
2021/07/25(日) 08:02:14.79ID:Ie3kKwwU >>404
Ruby, Selenium Webdriver で、ブラウザを自動操作する時には、
長めに、timeout を設定する事もある
設定しなければ確か、10秒ぐらい。
timeout 時間内に、指定した要素が取得できなければ、timeout エラー
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 # default timeout
driver.navigate.to "どこかのURL" # サイトを開く
Ruby, Selenium Webdriver で、ブラウザを自動操作する時には、
長めに、timeout を設定する事もある
設定しなければ確か、10秒ぐらい。
timeout 時間内に、指定した要素が取得できなければ、timeout エラー
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 # default timeout
driver.navigate.to "どこかのURL" # サイトを開く
419デフォルトの名無しさん
2021/07/25(日) 12:20:12.59ID:Xu27tChN つーか普通に新版exeで置換すればいいだけでは?
パッチってあらゆるリソースケチりまくってた過去の時代の遺物って印象
現代でもメリットあるんか?
パッチってあらゆるリソースケチりまくってた過去の時代の遺物って印象
現代でもメリットあるんか?
420デフォルトの名無しさん
2021/07/25(日) 14:35:17.23ID:Rm4fQ9D9 >>414
Pythonはログ解析とかデータ生成とかちょっとした作業に便利だから愛用してた
ウォーターフォール型の大型案件ばかりで開発マシンも自由にできないような職場が好きなら
勉強しても無意味かもしれない
Pythonはログ解析とかデータ生成とかちょっとした作業に便利だから愛用してた
ウォーターフォール型の大型案件ばかりで開発マシンも自由にできないような職場が好きなら
勉強しても無意味かもしれない
421デフォルトの名無しさん
2021/07/25(日) 14:41:59.27ID:Jkp3DuuZ 訳:
おまえのような底辺ドカタには無意味
おまえのような底辺ドカタには無意味
422デフォルトの名無しさん
2021/07/25(日) 20:53:00.06ID:Q6f/SFdd Pythonの言語指定の案件があるわけじゃなくて、
データ分析とかPOCとかの言語はなんでもいい案件ではPythonが使われることが多いというだけだね
ある言語、資格、ドメイン知識さえあればとりあえず食っていけるだろうという算段でプログラマーになる人には向いてないかもね
データ分析とかPOCとかの言語はなんでもいい案件ではPythonが使われることが多いというだけだね
ある言語、資格、ドメイン知識さえあればとりあえず食っていけるだろうという算段でプログラマーになる人には向いてないかもね
423デフォルトの名無しさん
2021/07/25(日) 22:08:57.17ID:Ie3kKwwU YouTube で有名な、雑食系エンジニア・KENTA のサロンでは、Ruby on Rails のみ。
時給1万円のキャリアパスも、Rails → Go だけ
PHP は低時給。
Python も、Django も使われていないし、採用に無関係
Python・Julia は、MIT みたいな大学院数学科みたいな学歴で採用されるから、
プログラミング能力は無関係。
一方、ハーバードみたいな英語ができる文系は、Rails 一択
たぶん、KENTAが、PHP・Python を教えないのは転職できないから。
プログラミングを教えても、それで採用されない。
数学・統計・行列・微積分など、大学院数学科の内容だから、プログラマーじゃない
それで、転職できない文系がサロンに居座ると、サロンが崩壊するから、Railsのみ。
そもそも、KENTAは文系だし、数学を教えられないし
時給1万円のキャリアパスも、Rails → Go だけ
PHP は低時給。
Python も、Django も使われていないし、採用に無関係
Python・Julia は、MIT みたいな大学院数学科みたいな学歴で採用されるから、
プログラミング能力は無関係。
一方、ハーバードみたいな英語ができる文系は、Rails 一択
たぶん、KENTAが、PHP・Python を教えないのは転職できないから。
プログラミングを教えても、それで採用されない。
数学・統計・行列・微積分など、大学院数学科の内容だから、プログラマーじゃない
それで、転職できない文系がサロンに居座ると、サロンが崩壊するから、Railsのみ。
そもそも、KENTAは文系だし、数学を教えられないし
424423
2021/07/25(日) 22:12:36.27ID:Ie3kKwwU YouTube で有名な、たにぐちまことも言ってる
Python の動画も作りたいけど、
内容が数学だから、数学の勉強しないと作れないって
Python の動画も作りたいけど、
内容が数学だから、数学の勉強しないと作れないって
425デフォルトの名無しさん
2021/07/26(月) 00:02:20.16ID:RXP+GSR4 ルビおじ沸いとるw
426デフォルトの名無しさん
2021/07/26(月) 09:09:51.50ID:/SQnPJdV > 数学・統計・行列・微積分など、大学院数学科の内容だから、プログラマーじゃない
工学部の1,2年の内容なんですが
工学部の1,2年の内容なんですが
427デフォルトの名無しさん
2021/07/26(月) 09:44:59.71ID:UUQ7nGaW 昔はその程度は高校の範囲だったな
428デフォルトの名無しさん
2021/07/26(月) 10:03:01.59ID:m8NCxg12 マジで草
どんだけPythonにコンプレックスあったらこうなっちゃうんだよw
どんだけPythonにコンプレックスあったらこうなっちゃうんだよw
429デフォルトの名無しさん
2021/07/26(月) 12:21:49.83ID:J2jKaJpL Rubyガイジはこの板全域にいるからPythonコンプってわけでもなかろう
bashスレとかにもいる
bashスレとかにもいる
430デフォルトの名無しさん
2021/07/26(月) 15:00:18.28ID:ke3zqecq Linux板にも出没する
431デフォルトの名無しさん
2021/07/26(月) 15:52:52.35ID:m8NCxg12 ほんまに草
432デフォルトの名無しさん
2021/07/26(月) 17:44:49.37ID:LrxxSQmZ >数学・統計・行列・微積分など、大学院数学科の内容だから
この発言はだいぶやばい
この発言はだいぶやばい
433デフォルトの名無しさん
2021/07/26(月) 20:30:55.36ID:h1Ogbfx6 自分の名前さえろくにかけないヤツが行く大学inの予感
434デフォルトの名無しさん
2021/07/26(月) 21:17:24.64ID:H8mI9eGS さすがに名前は都市伝説やろ
認可されねえよ
認可されねえよ
435デフォルトの名無しさん
2021/07/26(月) 21:45:27.62ID:NcbvrVFa436デフォルトの名無しさん
2021/07/26(月) 22:23:25.53ID:B6RhvbgV437デフォルトの名無しさん
2021/07/27(火) 04:38:18.52ID:df0C1Duv 兄が疲〜労っ!
438デフォルトの名無しさん
2021/07/27(火) 07:07:18.65ID:ootWstZS windows10でtkinterを使ってclipboard.append()したやつが
tkinter上で手動コピペしないと外部に持ち出せない(空になる)やつ
なにかうまい解決法ありませんか?
tkinter上で手動コピペしないと外部に持ち出せない(空になる)やつ
なにかうまい解決法ありませんか?
439デフォルトの名無しさん
2021/07/27(火) 07:09:13.12ID:ootWstZS できればpyperclipとかの外部ライブラリなしで…
440デフォルトの名無しさん
2021/07/27(火) 14:17:43.09ID:vpkKcN5c rubyガイジは中卒だから高校の学習範囲を知らなくても仕方ない
441デフォルトの名無しさん
2021/07/27(火) 18:54:38.92ID:qlBpKhDw >>434
必要な数だけ栄養学生を雇っつるよ
必要な数だけ栄養学生を雇っつるよ
442デフォルトの名無しさん
2021/07/28(水) 01:27:20.65ID:Ky1rxZdm >>436
花園目指す系は東大阪かな
あの辺は北河内あたりの中学ラグビー強いから高校が強いだけであって
高校の手柄だっていうのはちょっと違う気がするよ
公立中学でも元全日本の選手が教えてたり、私立は中高一貫でラグビー部を育ててるチート状態だからね
NC旋盤は機械科だろうね
NC旋盤ってやる内容はほぼプログラマなのにあまりプログラマの選択肢だと思われてないね
工業高校って情報系や電気電子系はひたすら数学、法律、プロジェクト管理、あとは専門分野の実習だよ
英語や一般科目をほとんどやらないのと専門分野の科目数が少ない以外は大学とほとんど内容一緒
難易度に関しては全く一緒だよ
もちろん学校によって差はあるんだろうけどね
花園目指す系は東大阪かな
あの辺は北河内あたりの中学ラグビー強いから高校が強いだけであって
高校の手柄だっていうのはちょっと違う気がするよ
公立中学でも元全日本の選手が教えてたり、私立は中高一貫でラグビー部を育ててるチート状態だからね
NC旋盤は機械科だろうね
NC旋盤ってやる内容はほぼプログラマなのにあまりプログラマの選択肢だと思われてないね
工業高校って情報系や電気電子系はひたすら数学、法律、プロジェクト管理、あとは専門分野の実習だよ
英語や一般科目をほとんどやらないのと専門分野の科目数が少ない以外は大学とほとんど内容一緒
難易度に関しては全く一緒だよ
もちろん学校によって差はあるんだろうけどね
443デフォルトの名無しさん
2021/07/28(水) 12:04:34.29ID:7xBR4eEd pandasで行の範囲で重複要素を一つだけ残して削除するのってどうしたらいいの
具体的には以下のようにしたい
0, A, B, A
1, A
↓
0, A, B
1, A
具体的には以下のようにしたい
0, A, B, A
1, A
↓
0, A, B
1, A
444デフォルトの名無しさん
2021/07/28(水) 12:44:23.48ID:SAGnL8kO445デフォルトの名無しさん
2021/07/28(水) 12:59:18.45ID:7xBR4eEd あ、カンマは省いてるだけで揃ってます
446デフォルトの名無しさん
2021/07/28(水) 13:15:09.86ID:7xBR4eEd 自決
447デフォルトの名無しさん
2021/07/28(水) 13:58:10.87ID:1o5b32fv 答えてくれた人が居るんだから何が原因でどう解決したかくらい書いてから逝ってほしい
448デフォルトの名無しさん
2021/07/28(水) 14:13:33.40ID:DsKbXt6n449デフォルトの名無しさん
2021/07/28(水) 14:17:00.06ID:DsKbXt6n450デフォルトの名無しさん
2021/07/29(木) 13:34:17.35ID:AbVaSjDV タプルを辞書のキーにするとメモリを食いますか?
アンダーバーでタプルの要素を連結して1次元の文字列にした方がマシですか?
アンダーバーでタプルの要素を連結して1次元の文字列にした方がマシですか?
451デフォルトの名無しさん
2021/07/29(木) 14:12:40.37ID:J3IrN4Ey452デフォルトの名無しさん
2021/07/29(木) 14:39:04.83ID:e4Dn0RFm かわりましぇーんでした!
453デフォルトの名無しさん
2021/07/29(木) 17:14:46.30ID:QD9Lxy/Q タプルをキーにする
内部ではタプルをそのまま文字列に変換しているだけなのでは?
内部ではタプルをそのまま文字列に変換しているだけなのでは?
454450
2021/07/29(木) 17:20:06.10ID:pNM23k+3 ID変わったので改めてご報告します。
メモリを確認しましたがタプルでも文字列でもかわりませんでした。
メモリを確認しましたがタプルでも文字列でもかわりませんでした。
455デフォルトの名無しさん
2021/07/29(木) 17:41:54.14ID:nJwJ/p+N456デフォルトの名無しさん
2021/07/29(木) 18:46:36.83ID:8SBcxtDC プログラム内で安易にprint出力すると
シェルで実行して標準出力で受け取りたい場合に
関係ないprint出力まででてきてしまうのですが
そういうときはファイル出力すればいいのでしょうか?
それとも標準出力専用のprint的なのがあるのでしょうか
シェルで実行して標準出力で受け取りたい場合に
関係ないprint出力まででてきてしまうのですが
そういうときはファイル出力すればいいのでしょうか?
それとも標準出力専用のprint的なのがあるのでしょうか
457デフォルトの名無しさん
2021/07/29(木) 19:05:55.02ID:3asw//Zv 標準エラー出力使え
458デフォルトの名無しさん
2021/07/29(木) 19:06:32.21ID:200xoZ3M Pythonを1行しか実行できない環境で使いたいです。
以下のコードを1行にまとめたいのですが、どうしたらできますか?
from socket import socket, AF_INET, SOCK_STREAM
with socket(AF_INET, SOCK_STREAM) as s:
s.connect(("192.168.1.15", 49994))
s.sendall("test".encode())
with以外の部分は、以下のようにセミコロンで区切れば良いと思うのですが
withと改行&インデントをどうやって1行で扱えば良いか分かりません。
from socket import socket, AF_INET, SOCK_STREAM;s.connect(("192.168.1.15", 49994));s.sendall("test".encode());
以下のコードを1行にまとめたいのですが、どうしたらできますか?
from socket import socket, AF_INET, SOCK_STREAM
with socket(AF_INET, SOCK_STREAM) as s:
s.connect(("192.168.1.15", 49994))
s.sendall("test".encode())
with以外の部分は、以下のようにセミコロンで区切れば良いと思うのですが
withと改行&インデントをどうやって1行で扱えば良いか分かりません。
from socket import socket, AF_INET, SOCK_STREAM;s.connect(("192.168.1.15", 49994));s.sendall("test".encode());
459デフォルトの名無しさん
2021/07/29(木) 19:09:27.00ID:3asw//Zv exec(“from socket … \nwith … as s:\n\ts.connect….”)
460デフォルトの名無しさん
2021/07/29(木) 21:18:08.02ID:200xoZ3M461デフォルトの名無しさん
2021/07/29(木) 21:38:24.80ID:J3IrN4Ey >>460
connectやsendallでエラーが出てもcloseが呼ばれるようにtry~finallyで括れば同じ
connectやsendallでエラーが出てもcloseが呼ばれるようにtry~finallyで括れば同じ
462デフォルトの名無しさん
2021/07/29(木) 21:53:02.31ID:200xoZ3M463デフォルトの名無しさん
2021/07/30(金) 14:15:53.69ID:PlrV13FK 超超超初心者です
Youtubeの動画のダウンロードだけで使用していましたが
いつからかエラーになって使えなくなりました。
再インストールし直して
Python 3.9.6とpytube入れましたがやはり同じエラーが出てしまいます。
pipバージョン21.1.3
from pytube import YouTube
yt = YouTube('動画のurl')
s = yt.streams.all() ←ここでenter押すとエラーになってしまいます
for i in s:
print (i)
download_directory = "/home/????/video"
yt.streams.get_by_itag('????').download( download_directory )
(動画、音声をそれぞれダウンロードし後で合成する感じです)
エラー文の一部です
File "C:\Users\????\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
情報が少なかったでしょうか?
他にも使用するプログラムもありましたか?
pipバージョンを21.2.1にしたらいいのかなぁ・・
何が悪いのかがまるで分かりません
どうか皆様のお知恵をお貸し下さい、よろしくおねがい致します。
Youtubeの動画のダウンロードだけで使用していましたが
いつからかエラーになって使えなくなりました。
再インストールし直して
Python 3.9.6とpytube入れましたがやはり同じエラーが出てしまいます。
pipバージョン21.1.3
from pytube import YouTube
yt = YouTube('動画のurl')
s = yt.streams.all() ←ここでenter押すとエラーになってしまいます
for i in s:
print (i)
download_directory = "/home/????/video"
yt.streams.get_by_itag('????').download( download_directory )
(動画、音声をそれぞれダウンロードし後で合成する感じです)
エラー文の一部です
File "C:\Users\????\AppData\Local\Programs\Python\Python39\lib\urllib\request.py", line 641, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 404: Not Found
情報が少なかったでしょうか?
他にも使用するプログラムもありましたか?
pipバージョンを21.2.1にしたらいいのかなぁ・・
何が悪いのかがまるで分かりません
どうか皆様のお知恵をお貸し下さい、よろしくおねがい致します。
464デフォルトの名無しさん
2021/07/30(金) 14:21:13.22ID:PogAvYGI こういうのはYoutube側の仕様変更で壊れて、なんとか直しての繰り返しだよ
バグ報告があるみたいだよhttps://github.com/pytube/pytube/issues/1060
バグ報告があるみたいだよhttps://github.com/pytube/pytube/issues/1060
465デフォルトの名無しさん
2021/07/30(金) 14:50:43.78ID:n/UloM9p 「http 404 エラー」で検索!
HTTP Error 404 は、そのURL が存在しない
HTTP Error 404 は、そのURL が存在しない
466デフォルトの名無しさん
2021/07/30(金) 17:21:42.31ID:ULQnvNeP 先生pythubeはゴミだからyoutube-dlを使いなさいと1000万回言いました!
467デフォルトの名無しさん
2021/07/30(金) 18:18:30.97ID:7AkGA5GJ スクレイピングしたいんですけど何を勉強すればいいですか
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
不正アクセスに問われたりしないでしょうか?
セキュリティ対策はどのようなことに注意すればよいでしょうか?
468デフォルトの名無しさん
2021/07/30(金) 18:54:04.12ID:Yw68dT3H またか…
469デフォルトの名無しさん
2021/07/30(金) 19:01:44.29ID:sy6E+yQE スクレイピングをしかける側なのに、セキュリティ対策ってどういうこと?
470デフォルトの名無しさん
2021/07/30(金) 19:05:58.12ID:XNMtwXjX Windows10 64bit/Python3.9.6/VS Codeから実行
要点がうまくまとめられず長文になってしまい申し訳有りません。
任意の起動中のアプリケーションをアクティブ化し、最前面に表示したいです。
まず、こちらのサイトを参考に
【Python】ウィンドウをアプリ名指定しアクティブ切り替えする簡単な方法
https://pentan.net/python-windowactive/
下記の通り記述しました。
https://techiedelight.com/compiler/?OlKU
実行すると、メモ帳を最小化していない限りは望んだ結果が得られました。
ここから更に、"○○○ -- Mozilla Firefox"のような、可変部を含むウィンドウタイトルについて、
可変部が変わっても動作するようにしたいので、
ウィンドウタイトルに"Mozilla Firefox"を含むアプリケーションを
アクティブ化する、という処理になるかなと思い
ググって出てきたこちらの記事を参考に
Python - ctypes.windll.user32.FindWindowWでフルネームではなく名前の部分一致でウインドウを検索したい。|teratail
https://teratail.com/questions/157495
下記の通り記述しました。
https://techiedelight.com/compiler/?wciE
実行すると、サイトでも書かれている通りエラーが発生し、
また、指定する文字列によっては(Firefox、Kindleなど)
アクティブ化しないこともありました。
何が原因でエラーになっているのか解りません。
ここからどうすれば目的の動作が行えるようになるでしょうか。
また、teratailで提示されていた方法以外でも何かありましたらご教示ください。
要点がうまくまとめられず長文になってしまい申し訳有りません。
任意の起動中のアプリケーションをアクティブ化し、最前面に表示したいです。
まず、こちらのサイトを参考に
【Python】ウィンドウをアプリ名指定しアクティブ切り替えする簡単な方法
https://pentan.net/python-windowactive/
下記の通り記述しました。
https://techiedelight.com/compiler/?OlKU
実行すると、メモ帳を最小化していない限りは望んだ結果が得られました。
ここから更に、"○○○ -- Mozilla Firefox"のような、可変部を含むウィンドウタイトルについて、
可変部が変わっても動作するようにしたいので、
ウィンドウタイトルに"Mozilla Firefox"を含むアプリケーションを
アクティブ化する、という処理になるかなと思い
ググって出てきたこちらの記事を参考に
Python - ctypes.windll.user32.FindWindowWでフルネームではなく名前の部分一致でウインドウを検索したい。|teratail
https://teratail.com/questions/157495
下記の通り記述しました。
https://techiedelight.com/compiler/?wciE
実行すると、サイトでも書かれている通りエラーが発生し、
また、指定する文字列によっては(Firefox、Kindleなど)
アクティブ化しないこともありました。
何が原因でエラーになっているのか解りません。
ここからどうすれば目的の動作が行えるようになるでしょうか。
また、teratailで提示されていた方法以外でも何かありましたらご教示ください。
471デフォルトの名無しさん
2021/07/30(金) 19:22:19.78ID:PlrV13FK 超超初心者です
464さん 465さん 466さん
教えてくださってありがとうございました。
色々難しいんですねぇ・・
youtube-dlっていうの調べてみて
使えたらいいなって思います。
皆様ありがとうございました!
464さん 465さん 466さん
教えてくださってありがとうございました。
色々難しいんですねぇ・・
youtube-dlっていうの調べてみて
使えたらいいなって思います。
皆様ありがとうございました!
472デフォルトの名無しさん
2021/07/30(金) 19:29:01.40ID:cG1LCTVi >>467
取ってきたデータの検証方法を学んでください
うちのサイトだと、初心者丸出しのクロールにはプロバイダ経由の警告、本格的なのは嘘のデータを返してるんですけど、後者はなかなか気がついてもらえない。
半年以上、同じやつからと思われるアクセスが続くとホント嫌になる。
取ってきたデータの検証方法を学んでください
うちのサイトだと、初心者丸出しのクロールにはプロバイダ経由の警告、本格的なのは嘘のデータを返してるんですけど、後者はなかなか気がついてもらえない。
半年以上、同じやつからと思われるアクセスが続くとホント嫌になる。
473デフォルトの名無しさん
2021/07/30(金) 19:32:21.56ID:sy6E+yQE >>470
falseをtrueに変えて、全列挙してみては?
falseをtrueに変えて、全列挙してみては?
474デフォルトの名無しさん
2021/07/30(金) 19:53:21.30ID:ULQnvNeP475デフォルトの名無しさん
2021/07/30(金) 21:21:02.94ID:XNMtwXjX476デフォルトの名無しさん
2021/07/31(土) 10:58:14.89ID:c5O8qSbM 数日前からPythonを学習し始めたけど、このプログラムってベーシック語言みたいだね
477デフォルトの名無しさん
2021/07/31(土) 11:37:59.30ID:UYu1kC2O どこが?
478デフォルトの名無しさん
2021/07/31(土) 12:56:45.00ID:9kQIyyPT インタープリター
479デフォルトの名無しさん
2021/07/31(土) 13:28:23.04ID:fR9gRit1 即時実行出来るところ、くらいかな
480デフォルトの名無しさん
2021/07/31(土) 16:10:09.30ID:Lb6WwJIX 足し算が+で引き算が-のところとか
481デフォルトの名無しさん
2021/07/31(土) 21:00:00.51ID:llJ9dkNq >>476
本当に学習し始めたばかりなんだね
本当に学習し始めたばかりなんだね
482デフォルトの名無しさん
2021/08/01(日) 00:30:09.00ID:yeJVBD9n コンパイルせずに動かせるのは便利
483デフォルトの名無しさん
2021/08/01(日) 06:31:19.80ID:zyctpkQA each_names = ([f'"{self.tree.item(iid)["text"]}",' for iid in self.tree.get_children(_id)] for _id in self.tree.selection())
読みづらいですか?
どう書いたらサイコー?
やっぱり丁寧な方が強いですか
each = []
for _id in self.tree.selection():
__names = []
__for iid in self.tree.get_children(_id):
____name = self.tree.item(iid)['text'] # string
____names.append(f'"{name}",') # to csv
__each.append(names)
読みづらいですか?
どう書いたらサイコー?
やっぱり丁寧な方が強いですか
each = []
for _id in self.tree.selection():
__names = []
__for iid in self.tree.get_children(_id):
____name = self.tree.item(iid)['text'] # string
____names.append(f'"{name}",') # to csv
__each.append(names)
484デフォルトの名無しさん
2021/08/01(日) 12:06:41.70ID:SN6JurZf >>483
>____names.append(f'"{name}",') # to csv
カンマを付け足す意味がよくわからないけど
とりあえずリストを生成する処理とリストをCSVにする処理は分けたほうがいいと思う
あと今のコードだと
['Foo', 'Bar', 'Baz', 'Qux’]みたいなリストじゃなくて
[['"Foo",', '"Bar",'], [], [], ['"Baz",', '"Qux”,’]]みたいなリストになるけど
これが本当に欲しい形?
>____names.append(f'"{name}",') # to csv
カンマを付け足す意味がよくわからないけど
とりあえずリストを生成する処理とリストをCSVにする処理は分けたほうがいいと思う
あと今のコードだと
['Foo', 'Bar', 'Baz', 'Qux’]みたいなリストじゃなくて
[['"Foo",', '"Bar",'], [], [], ['"Baz",', '"Qux”,’]]みたいなリストになるけど
これが本当に欲しい形?
485デフォルトの名無しさん
2021/08/01(日) 12:50:26.40ID:zyctpkQA >>484
なるほど
リストのリストなのは問題ないです
treeはフォルダ−ファイル群の一覧になってて
親リストがカラム、子リストがフォルダ、値がファイルの予定です
カンマは他のカラムを処理したのと連結する用だったんですがCSV変換する関数作ってそっちでやりますね
なるほど
リストのリストなのは問題ないです
treeはフォルダ−ファイル群の一覧になってて
親リストがカラム、子リストがフォルダ、値がファイルの予定です
カンマは他のカラムを処理したのと連結する用だったんですがCSV変換する関数作ってそっちでやりますね
486デフォルトの名無しさん
2021/08/01(日) 12:54:09.13ID:zyctpkQA なんか長すぎるのはよくないと聞いたんですが
(個人的には)折っても逆に見づらいし、丁寧に書いても冗長だし と思って聞いてみました
(個人的には)折っても逆に見づらいし、丁寧に書いても冗長だし と思って聞いてみました
487デフォルトの名無しさん
2021/08/01(日) 14:11:59.19ID:RrS7g+U3488デフォルトの名無しさん
2021/08/01(日) 18:35:11.06ID:/PJrMDbF 先日に書き込みした超超初心者です
教えてくださったyoutube-dlが無事に使えるようになりました。
ffmpegが難しいですけれど色々と試してみたいと思います。
また何かありましたら、よろしくおねがい致します。
教えてくださったyoutube-dlが無事に使えるようになりました。
ffmpegが難しいですけれど色々と試してみたいと思います。
また何かありましたら、よろしくおねがい致します。
489デフォルトの名無しさん
2021/08/01(日) 18:46:48.85ID:nqygO9fQ いやどす
490デフォルトの名無しさん
2021/08/02(月) 11:26:05.66ID:NrUL+nG3 ごめん、この選択ソートのプログラムで
出力 1 2 3 になる理由を行ごとに分かりやすく解説してくれると助かりまっす
https://i.imgur.com/d5ppkHW.jpg
先頭の2を隣の3と比較して段々小さいのを前に持ってくのはわかるけど、プログラム構成を理解し損ねてて困ってる
出力 1 2 3 になる理由を行ごとに分かりやすく解説してくれると助かりまっす
https://i.imgur.com/d5ppkHW.jpg
先頭の2を隣の3と比較して段々小さいのを前に持ってくのはわかるけど、プログラム構成を理解し損ねてて困ってる
491デフォルトの名無しさん
2021/08/02(月) 11:31:48.41ID:vVi2V/R1 せめてそれぐらい入力してアップしろよ
492デフォルトの名無しさん
2021/08/02(月) 11:49:39.33ID:0Fs630bp >>490
1行目:配列の要素の区切り文字がコンマじゃなくピリオドになってる
2行目:小文字のrがデカい
3行目:小文字のmがデカい
4行目:小文字のrがデカい
8行目:角括弧の角度が45°になってる
9行目:角括弧が山括弧みたいになってる
10行目:小文字のrがデカすぎる
1行目:配列の要素の区切り文字がコンマじゃなくピリオドになってる
2行目:小文字のrがデカい
3行目:小文字のmがデカい
4行目:小文字のrがデカい
8行目:角括弧の角度が45°になってる
9行目:角括弧が山括弧みたいになってる
10行目:小文字のrがデカすぎる
493デフォルトの名無しさん
2021/08/02(月) 12:07:32.42ID:7hVL2dqc >>490
ざっくりと説明するなら
@リストの中から最小の値を探して先頭に移動させる
[3.1,2])なら[1,3,2]になる
A@で最小値は決まったから、それ以外の所で最小値を探して、
また位置を移動させる
(ようは残った3,2で小さい方を選んで、1は動かさないように2を先頭の方に持ってくる)
で、こういうアルゴリズムの奴は実際の動き見ない
絶対に理解できないから、
大人しくアルゴリズム図鑑のアプリ(370円)を買うか
その金も無いなら図解が乗ってる解説を探せ
https://www.codereading.com/algo_and_ds/algo/selection_sort.html
ざっくりと説明するなら
@リストの中から最小の値を探して先頭に移動させる
[3.1,2])なら[1,3,2]になる
A@で最小値は決まったから、それ以外の所で最小値を探して、
また位置を移動させる
(ようは残った3,2で小さい方を選んで、1は動かさないように2を先頭の方に持ってくる)
で、こういうアルゴリズムの奴は実際の動き見ない
絶対に理解できないから、
大人しくアルゴリズム図鑑のアプリ(370円)を買うか
その金も無いなら図解が乗ってる解説を探せ
https://www.codereading.com/algo_and_ds/algo/selection_sort.html
494デフォルトの名無しさん
2021/08/02(月) 12:24:25.25ID:lJJomUVT >>490
youtubeで「selection sort」で検索
アニメーションで解説してくれてる動画がたくさんあるからそれを見るといい
プログラムの動きで理解したければ最初はprint debugで
for i in range(len(a)-1):
__print(i, a) # <― print結果を見れば各イテレーションで配列aのどの値とどの値がswapされてるかわかる
__mini = i
…
youtubeで「selection sort」で検索
アニメーションで解説してくれてる動画がたくさんあるからそれを見るといい
プログラムの動きで理解したければ最初はprint debugで
for i in range(len(a)-1):
__print(i, a) # <― print結果を見れば各イテレーションで配列aのどの値とどの値がswapされてるかわかる
__mini = i
…
495デフォルトの名無しさん
2021/08/02(月) 12:33:54.89ID:WC1B7KX+ 配列を入れ換えて1 2 3 になる仕組みを聞いてるのだが
「検索しろ」とか最低な答えをありがとう、あんたらに聞いた俺が間違ってたわ
「検索しろ」とか最低な答えをありがとう、あんたらに聞いた俺が間違ってたわ
496デフォルトの名無しさん
2021/08/02(月) 13:05:43.62ID:jY8DN460497デフォルトの名無しさん
2021/08/02(月) 13:38:20.68ID:t5Br6g5D Debian strechのpython 3.5.3で
from signal import *
print(sigwait([SIGINT, SIGTERM]))
という2行のスクリプトを走らせました
フォアグラウンドで走らせてCntl-Cを押す あるいは バックグランドに回してkill -INTする などでは、送ったシグナルの番号が表示されます
が、kill -TERMではシグナル番号は出てこず「Terminated」とだけ表示されます
SIGINTとSIGTERMで、どうしてこのような違いが出るのでしょう?
from signal import *
print(sigwait([SIGINT, SIGTERM]))
という2行のスクリプトを走らせました
フォアグラウンドで走らせてCntl-Cを押す あるいは バックグランドに回してkill -INTする などでは、送ったシグナルの番号が表示されます
が、kill -TERMではシグナル番号は出てこず「Terminated」とだけ表示されます
SIGINTとSIGTERMで、どうしてこのような違いが出るのでしょう?
498デフォルトの名無しさん
2021/08/02(月) 14:22:28.97ID:9w/UXIkk sigwaitを使う前にpthread_sigmaskでブロックしないといけない
499デフォルトの名無しさん
2021/08/02(月) 15:27:23.53ID:t5Br6g5D >>498
早速ありがとうございます
教えていただいたとおり、sigwait()の前に
pthread_sigmask(SIG_BLOCK, [SIGTERM])
を入れたら、期待通りの動作となりました。SIGINTとSIGTERMの違いについてはまたこれから調べようと思いますが
とりあえずやりたいこと自体は無事に達成できました。ありがとうございます
早速ありがとうございます
教えていただいたとおり、sigwait()の前に
pthread_sigmask(SIG_BLOCK, [SIGTERM])
を入れたら、期待通りの動作となりました。SIGINTとSIGTERMの違いについてはまたこれから調べようと思いますが
とりあえずやりたいこと自体は無事に達成できました。ありがとうございます
500デフォルトの名無しさん
2021/08/02(月) 15:30:02.82ID:9w/UXIkk SIGINTもブロックしてね
501デフォルトの名無しさん
2021/08/02(月) 16:33:16.98ID:t5Br6g5D >>500
何故かブロックの対象にSIGINTを入れなくてもsigwait({SIGINT, SIGTERM})でCntl-Cやkill -INTはキャッチできるんです
で、いろいろググって見たところ、なんとなく理解できた気がします
getsignal(SIGINT)とgetsignal(SIGTERM)を比べると、前者は<built-in function default_int_handler>で後者はSIG_DFL
てことはSIGINTはPythonの内部でKeyboardInterruptをraiseする処理が予め登録されてる、つまりキャッチする用意が出来てる
しかしSIGTERMはなにもせずOS標準の動作になる、つまりキャッチする対象になってない
みたいな感じ、かと
というか、SIGPIPEとSIGINTだけは特別にハンドラを用意してるって、signalモジュールのドキュメントの最初の段落に書いてありますね
まずちゃんとドキュメントを読めよ >俺
何故かブロックの対象にSIGINTを入れなくてもsigwait({SIGINT, SIGTERM})でCntl-Cやkill -INTはキャッチできるんです
で、いろいろググって見たところ、なんとなく理解できた気がします
getsignal(SIGINT)とgetsignal(SIGTERM)を比べると、前者は<built-in function default_int_handler>で後者はSIG_DFL
てことはSIGINTはPythonの内部でKeyboardInterruptをraiseする処理が予め登録されてる、つまりキャッチする用意が出来てる
しかしSIGTERMはなにもせずOS標準の動作になる、つまりキャッチする対象になってない
みたいな感じ、かと
というか、SIGPIPEとSIGINTだけは特別にハンドラを用意してるって、signalモジュールのドキュメントの最初の段落に書いてありますね
まずちゃんとドキュメントを読めよ >俺
502デフォルトの名無しさん
2021/08/02(月) 17:23:26.28ID:7hVL2dqc >>495
そりゃ仕組みもクソも何も
コード実際に書いてデバッグ実行すりゃ、どういう風に動いてるかは分かるし
それが最終的にどういう結果を目標に動いてるかを調べるもんだろ
ぶっちゃけプログラミング勉強したいなら紙ノートなんてナンセンスも良い所だぞ
実際に書いて動かして動きをちゃんと追わなきゃ絶対に理解できん
そりゃ仕組みもクソも何も
コード実際に書いてデバッグ実行すりゃ、どういう風に動いてるかは分かるし
それが最終的にどういう結果を目標に動いてるかを調べるもんだろ
ぶっちゃけプログラミング勉強したいなら紙ノートなんてナンセンスも良い所だぞ
実際に書いて動かして動きをちゃんと追わなきゃ絶対に理解できん
503デフォルトの名無しさん
2021/08/02(月) 21:13:37.54ID:jjNS9Dca a[0]に最小を代入して
a[1]に2番めに小さい値を代入
単純な仕組み
a[1]に2番めに小さい値を代入
単純な仕組み
504デフォルトの名無しさん
2021/08/02(月) 22:00:07.06ID:Mbtm4jOU >>490
>先頭の2を隣の3と比較して段々小さいのを前に持ってくのはわかるけど...
その考え方で画像のコードを見ても理解できないと思います。
隣の値と比較して段々と前に持っていくアルゴリズムはバブルソートでは?
まずは、要素の値を交換する方法と最小値(または最大値)を探索する方法を
勉強してください。※そもそもこれがわかってないのでは?
あと、要素の値と位置の違いを理解できてますか?
i,j,miniは要素の値?それとも要素のの位置?
tmpは要素の値?それとも要素のの位置?
この辺りがわかれば、選択ソートが理解できるはずです。
>先頭の2を隣の3と比較して段々小さいのを前に持ってくのはわかるけど...
その考え方で画像のコードを見ても理解できないと思います。
隣の値と比較して段々と前に持っていくアルゴリズムはバブルソートでは?
まずは、要素の値を交換する方法と最小値(または最大値)を探索する方法を
勉強してください。※そもそもこれがわかってないのでは?
あと、要素の値と位置の違いを理解できてますか?
i,j,miniは要素の値?それとも要素のの位置?
tmpは要素の値?それとも要素のの位置?
この辺りがわかれば、選択ソートが理解できるはずです。
505デフォルトの名無しさん
2021/08/03(火) 04:07:38.41ID:9VE4GLdu >>495
紙なら紙で1行毎に各変数がどうなってるか書いてみろっつうの
紙なら紙で1行毎に各変数がどうなってるか書いてみろっつうの
506デフォルトの名無しさん
2021/08/03(火) 11:09:14.43ID:Ljn/RAt1 >>502
君が馬鹿だということは判ったからもう黙ってて
君が馬鹿だということは判ったからもう黙ってて
507デフォルトの名無しさん
2021/08/03(火) 15:21:44.56ID:g8ZbJqDY sklearn.linear_model.LinearRegressionのscore(x,y)で近似直線の決定係数を出そうとしたんだけど
reg=Linearregression(fit_intercept=False)
reg.fit(x,y)
print(reg.coef_)
print(reg.score(x,y))
だと明らかにおかしい数値(1以上だったりマイナスだったり)が算出されちゃって困ってます(傾きの方は問題なし)
fit_intercept=Trueで切片有りの近似直線だと恐らく正確であろう決定係数が出てくるんだけど
切片無しにして原点を通る場合だとscore()って役に立たなかったりします?
reg=Linearregression(fit_intercept=False)
reg.fit(x,y)
print(reg.coef_)
print(reg.score(x,y))
だと明らかにおかしい数値(1以上だったりマイナスだったり)が算出されちゃって困ってます(傾きの方は問題なし)
fit_intercept=Trueで切片有りの近似直線だと恐らく正確であろう決定係数が出てくるんだけど
切片無しにして原点を通る場合だとscore()って役に立たなかったりします?
508デフォルトの名無しさん
2021/08/03(火) 19:07:28.82ID:81LMxqzf >>495
コードを打ち込んで1ステップずつ動作確認すれば理解も深まるよ
コードを打ち込んで1ステップずつ動作確認すれば理解も深まるよ
509デフォルトの名無しさん
2021/08/03(火) 21:29:51.30ID:RK9HE0GW >>506
あなたはその程度のコードも目で追って解釈できないほど頭が悪いのに、なんで実際にコード打ち込んで一行ずつ確認しないの?
あなたはその程度のコードも目で追って解釈できないほど頭が悪いのに、なんで実際にコード打ち込んで一行ずつ確認しないの?
510デフォルトの名無しさん
2021/08/04(水) 13:50:33.89ID:mvZGqxpi >>507
切片なしの単回帰モデルに乗らないようなデータなら、決定係数がマイナスってことはあるのでは?
切片なしの単回帰モデルに乗らないようなデータなら、決定係数がマイナスってことはあるのでは?
511デフォルトの名無しさん
2021/08/05(木) 09:01:28.24ID:EZ1IxHo4 Python2.x系の標準機能で利用できる圧縮・解凍のアルゴリズム/ライブラリってどんなものがありますか?
512デフォルトの名無しさん
2021/08/05(木) 09:02:35.42ID:EZ1IxHo4 >>511
追記で、圧縮・解凍は、gzipやlzmaなどのバイト列を圧縮・解凍するもののことを示しています
追記で、圧縮・解凍は、gzipやlzmaなどのバイト列を圧縮・解凍するもののことを示しています
513デフォルトの名無しさん
2021/08/05(木) 11:35:15.31ID:waLxPY4a514デフォルトの名無しさん
2021/08/06(金) 20:15:11.32ID:JhN11GPp515デフォルトの名無しさん
2021/08/06(金) 22:36:50.04ID:51YKCZf/ 紙でコーディングしてる糞爺がいると聞いて来ました
516デフォルトの名無しさん
2021/08/06(金) 22:42:47.66ID:XG0RyhbE 池沼に餌を与えるな糞ガキ
517デフォルトの名無しさん
2021/08/07(土) 00:32:45.52ID:rXkekRAR 自演乙ωωω
518デフォルトの名無しさん
2021/08/09(月) 16:08:36.97ID:pUf0hcKp 紙でコーディングwww
519デフォルトの名無しさん
2021/08/09(月) 17:59:58.43ID:IcUHLhla 昔、COBOLにはコーディング用紙があってだね。。
520デフォルトの名無しさん
2021/08/09(月) 18:33:09.38ID:qllYLnEb インタプリタのきもちになるですよ
521デフォルトの名無しさん
2021/08/09(月) 19:19:37.91ID:bLRt8Cws ナイコン時代はノートに書いてMSX持ってる友達の家に行ったなぁ
522デフォルトの名無しさん
2021/08/09(月) 19:21:31.61ID:78aLRiJY >>514
Ruby にも、gzip 用のzlib 拡張ライブラリがある
Ruby にも、gzip 用のzlib 拡張ライブラリがある
523デフォルトの名無しさん
2021/08/09(月) 19:50:09.21ID:/FHsR+QR プログラム用紙はfortranやbasic用もあったなぁ
524デフォルトの名無しさん
2021/08/09(月) 21:07:18.76ID:JfaUnRB2 紙でコーディングする有用性のわからないやつは素人
昔々のコーディング用紙に書いてたのとは目的が違う
ペーパーコーディングはホワイトボードコーディングの一人プレイ
昔々のコーディング用紙に書いてたのとは目的が違う
ペーパーコーディングはホワイトボードコーディングの一人プレイ
525デフォルトの名無しさん
2021/08/09(月) 21:46:04.35ID:44SGxeRs おじいちゃんもうプログラムはきついでしょ?
526デフォルトの名無しさん
2021/08/09(月) 22:49:45.44ID:IcUHLhla 会議中メモを取る振りをしつつ紙にコーディングする事はあるな
527デフォルトの名無しさん
2021/08/10(火) 03:26:30.75ID:dBGoRJhg それアメリカの面接手法でしょ
紙がもったいないから老害は早く氏んで
紙がもったいないから老害は早く氏んで
528デフォルトの名無しさん
2021/08/10(火) 11:01:19.31ID:9Jx01spV いつまで紙とか言ってんだよ
そんなこと言ってるからにっぽんのITはまじ低レベルってバカにされるんだよ
プログラムの前に頭使えって
そんなこと言ってるからにっぽんのITはまじ低レベルってバカにされるんだよ
プログラムの前に頭使えって
529デフォルトの名無しさん
2021/08/10(火) 15:13:06.11ID:QlDWWv1x sqlalchemy使ってるんだけど、
flask使ってないバックエンドのみで完結する方のスクリプト
と
webアプリ側のスクリプト
それぞれsqlalchemyとflask_sqlalchemy分けて使ってると
コーディングも微妙に変わってきて書き直すの面倒なんだけど
そういうものなのでしょうか?
flask使ってないバックエンドのみで完結する方のスクリプト
と
webアプリ側のスクリプト
それぞれsqlalchemyとflask_sqlalchemy分けて使ってると
コーディングも微妙に変わってきて書き直すの面倒なんだけど
そういうものなのでしょうか?
530デフォルトの名無しさん
2021/08/10(火) 16:38:31.12ID:QOeLlU4q > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
強姦と窃盗はできるんだね!
すごいぞ朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
強姦と窃盗はできるんだね!
すごいぞ朝鮮ゴキブリBot君!
クソチョンw
531デフォルトの名無しさん
2021/08/10(火) 17:38:11.29ID:ATwEhT0x >>530
↑この可哀想な子は何なの?
↑この可哀想な子は何なの?
532デフォルトの名無しさん
2021/08/10(火) 17:49:01.89ID:IfqoqUXV お前さあ、ガイジを見かけるたびに近くにいる人に
「この可哀想な子は何なの?」って聞いてるの?
「この可哀想な子は何なの?」って聞いてるの?
533デフォルトの名無しさん
2021/08/10(火) 18:00:15.65ID:9wi/dlAk >>1
に書いてる、荒らし
>「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。
荒らしは、完全スルー放置が一番きらいです
あちこちのスレの1を改変して、勝手に書いてる荒らし。
確か、工学部というコテハン。
プログラマーじゃない。ソースコードを見た事ない
あちこちのスレの1を勝手に改変して、荒らしている。
こういう勝手に追加したものは、削除した方が良い
に書いてる、荒らし
>「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。
荒らしは、完全スルー放置が一番きらいです
あちこちのスレの1を改変して、勝手に書いてる荒らし。
確か、工学部というコテハン。
プログラマーじゃない。ソースコードを見た事ない
あちこちのスレの1を勝手に改変して、荒らしている。
こういう勝手に追加したものは、削除した方が良い
534533
2021/08/10(火) 18:04:12.44ID:9wi/dlAk 荒らしは、他のスレのテンプレも、勝手に改変して、新しく立てたりする
漏れらは、そういうスレを削除して、立て直したりしてた。
次スレからは、1のテンプレを元に戻した方がよい
漏れらは、そういうスレを削除して、立て直したりしてた。
次スレからは、1のテンプレを元に戻した方がよい
535デフォルトの名無しさん
2021/08/10(火) 18:46:28.65ID:21u4vH9c536デフォルトの名無しさん
2021/08/10(火) 19:29:42.41ID:E/LIVVZz ああ、こいつRubyガイジか
しれっと自分を欠陥生物から除外するなよ
しれっと自分を欠陥生物から除外するなよ
537デフォルトの名無しさん
2021/08/10(火) 20:42:13.30ID:PJ1bHB/F このキチガイ文体はAI使うまでもなく分かるだろ
538デフォルトの名無しさん
2021/08/10(火) 23:16:26.34 pythonファイルの名前が目的になってる場合
【sumAB.py】
def ◯◯(a,b):
_return a+b
この◯◯の命名はどうしたらいいの?
無難にpythonファイル名と同じでいいのかな
で、importしたときに
from samAB import samAB
みたいな
そもそもあんまり細かくわけないほうがいい?
例えば
【calc.py】
def sumAB(a,b):
_return a+b
def mulAB(a,b):
_return a*b
from calcAB import sumAB,mulAB
みたいな
【sumAB.py】
def ◯◯(a,b):
_return a+b
この◯◯の命名はどうしたらいいの?
無難にpythonファイル名と同じでいいのかな
で、importしたときに
from samAB import samAB
みたいな
そもそもあんまり細かくわけないほうがいい?
例えば
【calc.py】
def sumAB(a,b):
_return a+b
def mulAB(a,b):
_return a*b
from calcAB import sumAB,mulAB
みたいな
539デフォルトの名無しさん
2021/08/10(火) 23:17:25.06540デフォルトの名無しさん
2021/08/11(水) 08:24:03.86ID:bsI09qNM プログラム初心者ですが、みんなのpythonを一通りやりました
2冊目におすすめの本などあれば教えてください
2冊目におすすめの本などあれば教えてください
541デフォルトの名無しさん
2021/08/11(水) 08:41:39.09ID:2aR8J+Za 1冊分やったならそろそろ実演経験積めとしか
何やりたいんだよ
例えば機械学習やりたいとか簡易サーバー立てたいとか何かあるでしょ?
何やりたいんだよ
例えば機械学習やりたいとか簡易サーバー立てたいとか何かあるでしょ?
542デフォルトの名無しさん
2021/08/11(水) 08:54:39.67ID:qGuH144a pip install をするとこういうエラーが出てきてインストールに失敗するんだけど、なにかわかる人がいたら教えてくれ。
多分Python2のスクリプトが悪さをしているところまではわかったけど、そこから先そうすれば良いか分からん。
スレチだったらすまん。
環境:
Linuxmint 20.2
Python 3.8
pip 20.02
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"'; __file__='"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-j4aygllu/pysmell/pip-egg-info
cwd: /tmp/pip-install-j4aygllu/pysmell/
Complete output (6 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-j4aygllu/pysmell/setup.py", line 27
print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(post_install_message)?
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
多分Python2のスクリプトが悪さをしているところまではわかったけど、そこから先そうすれば良いか分からん。
スレチだったらすまん。
環境:
Linuxmint 20.2
Python 3.8
pip 20.02
ERROR: Command errored out with exit status 1:
command: /usr/bin/python3 -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"'; __file__='"'"'/tmp/pip-install-j4aygllu/pysmell/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-install-j4aygllu/pysmell/pip-egg-info
cwd: /tmp/pip-install-j4aygllu/pysmell/
Complete output (6 lines):
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/tmp/pip-install-j4aygllu/pysmell/setup.py", line 27
print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print(post_install_message)?
----------------------------------------
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
543デフォルトの名無しさん
2021/08/11(水) 09:03:47.83ID:sYwGtBdi PySmellって悪気はないんだろうがなんか下品な名前だな
544デフォルトの名無しさん
2021/08/11(水) 09:04:29.85ID:2aR8J+Za 知らんけど2のpip呼ばれてるのでは?
3のpipの実行パスコマンドラインに直打ちすればいーんでね(鼻ほじ)
3のpipの実行パスコマンドラインに直打ちすればいーんでね(鼻ほじ)
545デフォルトの名無しさん
2021/08/11(水) 09:40:36.88ID:Z6PNV5dP Ruby なら、print( a ) を、print a と書けるけど、
Python は知らない
print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'.
Did you mean print(post_install_message)?
Python は知らない
print post_install_message
^
SyntaxError: Missing parentheses in call to 'print'.
Did you mean print(post_install_message)?
546デフォルトの名無しさん
2021/08/11(水) 10:29:02.04ID:iNehorPT N88BASIC でも出来るぞ
PRINT A
PRINT A
547デフォルトの名無しさん
2021/08/11(水) 11:27:09.73ID:0GbSOwJG >>538
__init__.pyを書けば import方法は変更できる
__init__.pyを書けば import方法は変更できる
548デフォルトの名無しさん
2021/08/11(水) 12:30:56.86ID:clru1KUg549デフォルトの名無しさん
2021/08/11(水) 13:28:39.01ID:ov//wDX1 tに何か入ってきたときと、こなかったときとで
受け取り方を変えたいので
↓のように書いたのですが、returnの部分はこれでいいでしょうか?
def hoge(t=[]):
_x=111
_y=222
_items=[]
_for n in t:
__items.append(n)
_return [x,y,*items]
x,y=hoge()
print(x)
print(y)
print()
x,y,a,b=hoge(["aaa","bbb"])
print(x)
print(y)
print(a)
print(b)
受け取り方を変えたいので
↓のように書いたのですが、returnの部分はこれでいいでしょうか?
def hoge(t=[]):
_x=111
_y=222
_items=[]
_for n in t:
__items.append(n)
_return [x,y,*items]
x,y=hoge()
print(x)
print(y)
print()
x,y,a,b=hoge(["aaa","bbb"])
print(x)
print(y)
print(a)
print(b)
550デフォルトの名無しさん
2021/08/11(水) 13:35:55.99ID:aGarSqMh それってreturn [111, 222, *t]と同じじゃん
何がしたいかわからない
何がしたいかわからない
551デフォルトの名無しさん
2021/08/11(水) 13:36:27.88ID:ov//wDX1 もしr=hoge()で受け取った場合、rに配列が入りますが、
return x,yだった場合は、タプルで返されますよね
なのでreturn (x,y,*items)みたいに
タプルで返した方がいいのかな?と思いまして >>549
return x,yだった場合は、タプルで返されますよね
なのでreturn (x,y,*items)みたいに
タプルで返した方がいいのかな?と思いまして >>549
552デフォルトの名無しさん
2021/08/11(水) 13:40:42.37ID:ov//wDX1553デフォルトの名無しさん
2021/08/11(水) 13:41:45.42 たまに現れるガチアスペ的な人はネタなのかなんなのか
554デフォルトの名無しさん
2021/08/11(水) 13:49:24.55ID:aGarSqMh どんな計算をするかわからないけど
もし一つのリストにappend/popしていくやり方ができるならそれが効率的だよね
そうでないなら好きにすればとしか言えない
mutableである必要がないならタプルのほうがいいかも
もし一つのリストにappend/popしていくやり方ができるならそれが効率的だよね
そうでないなら好きにすればとしか言えない
mutableである必要がないならタプルのほうがいいかも
555デフォルトの名無しさん
2021/08/11(水) 13:56:30.88ID:ov//wDX1556デフォルトの名無しさん
2021/08/11(水) 23:17:47.13ID:GEUkRunT557デフォルトの名無しさん
2021/08/12(木) 00:46:08.61ID:xG1RPqdX スクレイピングは逮捕される危険があるって聞いたんだけどマジ?
558デフォルトの名無しさん
2021/08/12(木) 03:03:44.52ID:id/zPgju マジだよ
世の世知辛さを悲観して自殺することを薦める
世の世知辛さを悲観して自殺することを薦める
559デフォルトの名無しさん
2021/08/12(木) 11:21:51.21ID:s+UN3BdM スクレイピングでは、そのサイトのrobots.txt を遵守する必要がある
初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!
だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない
Udemy の山浦清透、2021/6 の動画を参照。
マイナビ転職をスクレイピングしてる
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
初心者がスクレイピングすると、プログラムのバグで無限ループしたりして、
そのサイトを落としてしまう事があるので、超危険!
だから、必ずテスト中は、ローカルPC に対して行うこと!
絶対に、本番サーバーに対して、テストしてはいけない
Udemy の山浦清透、2021/6 の動画を参照。
マイナビ転職をスクレイピングしてる
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
560デフォルトの名無しさん
2021/08/12(木) 15:45:04.99ID:YXlgEKkk requestsだと<br>タグはそのままなんだけど
Beautifulsoupに読み込ませると<br/>タグに置き換えられてしまう
html.parserもlxmlも同じ。<br>のままsoupにする方法ないんかな
Beautifulsoupに読み込ませると<br/>タグに置き換えられてしまう
html.parserもlxmlも同じ。<br>のままsoupにする方法ないんかな
561デフォルトの名無しさん
2021/08/13(金) 01:53:18.22ID:kzYHP2KN じゃあrobots.txtを遵守していればスクレイピングしてもOKなんですね?
562デフォルトの名無しさん
2021/08/13(金) 05:59:00.03ID:OVgnWf25 逆にスクレイピングしてほしいんだよ
Google botがクロールできなくてGoogleで検索できなかったら困るだろ?
個人にスクレイピングされても不利益しかないが な
robots.txt守っててもあんまりアクセスしすぎても相手に負荷与えちゃうから一回のアクセスにつきどのぐらい待てばいいか考えて常識の範囲内でお楽しみください
「岡崎市立中央図書館事件」のことも調べてみ
Google botがクロールできなくてGoogleで検索できなかったら困るだろ?
個人にスクレイピングされても不利益しかないが な
robots.txt守っててもあんまりアクセスしすぎても相手に負荷与えちゃうから一回のアクセスにつきどのぐらい待てばいいか考えて常識の範囲内でお楽しみください
「岡崎市立中央図書館事件」のことも調べてみ
563デフォルトの名無しさん
2021/08/13(金) 07:44:59.75ID:RVSIiplP スクレイピングって一歩間違えたら逮捕??怖すぎ
564デフォルトの名無しさん
2021/08/13(金) 15:51:14.06ID:KJAOvV5T まさに素人にはお勧めできない
565デフォルトの名無しさん
2021/08/13(金) 16:18:25.34ID:K9p8aCtq flaskのテンプレートで
{{ ここでコード実行できるけど }}
{{ hensu=dict.x }}
{{ hensu }}
みたいに変数に格納ってできないのかな
dict.xをあれこれ加工した値を使いたい時
毎回dict.xを加工しなくちゃいけないのだろうか?
もちろんdict.xが単一であればテンプレートの外で加工したものを渡せばいいだけなんだけど
{{ ここでコード実行できるけど }}
{{ hensu=dict.x }}
{{ hensu }}
みたいに変数に格納ってできないのかな
dict.xをあれこれ加工した値を使いたい時
毎回dict.xを加工しなくちゃいけないのだろうか?
もちろんdict.xが単一であればテンプレートの外で加工したものを渡せばいいだけなんだけど
566デフォルトの名無しさん
2021/08/13(金) 16:26:03.53ID:K9p8aCtq レスした直後に改めてぐぐったら
{% set hensu=value %}
でいけた
お騒がせしました
{% set hensu=value %}
でいけた
お騒がせしました
567デフォルトの名無しさん
2021/08/14(土) 16:50:13.84ID:hrfYhF/k l1 = [[0 for i in range(7)] for j in range(2)]
で作った [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]] を宣言の後で拡張して、
[[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]]
にする方法を教えて下さい。
で作った [[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]] を宣言の後で拡張して、
[[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]]
にする方法を教えて下さい。
568デフォルトの名無しさん
2021/08/14(土) 16:55:31.84ID:aA5bsH8A l1.append([0 for i in range(7)])
569デフォルトの名無しさん
2021/08/14(土) 17:17:06.12ID:hrfYhF/k サンコス、出来ました
570デフォルトの名無しさん
2021/08/14(土) 20:33:25.96ID:V/kafYgI f = open('listfile.txt', 'r')
line = f.readline()
while line:
print(line.strip())
line = f.readline()
f.close()
↑上記のようなコードで、数千文字×数万行のテキストファイルを読み込んだ場合
メモリ効率というのはどうなるんでしょうか?
line変数に全ての行が格納されているとしたら、そこが全部メモリを占有してしまったりするのでしょうか?
それとも、Pythonの場合はそこらへんのメモリ処理をイイ感じに処理してくれるのでしょうか?
line = f.readline()
while line:
print(line.strip())
line = f.readline()
f.close()
↑上記のようなコードで、数千文字×数万行のテキストファイルを読み込んだ場合
メモリ効率というのはどうなるんでしょうか?
line変数に全ての行が格納されているとしたら、そこが全部メモリを占有してしまったりするのでしょうか?
それとも、Pythonの場合はそこらへんのメモリ処理をイイ感じに処理してくれるのでしょうか?
571デフォルトの名無しさん
2021/08/14(土) 20:45:55.87ID:aA5bsH8A readline()で一行ずつ読むから使用するメモリは最大で一行分ですよ
572デフォルトの名無しさん
2021/08/14(土) 20:58:38.10ID:V/kafYgI >>571
ありがとうございます。
ありがとうございます。
573デフォルトの名無しさん
2021/08/15(日) 01:12:22.32ID:rOIXbdCv 今までVBAしか経験なかったんだけどpythonてVBAより簡単までありますね
今まで頑張ってCSV編集してたのが馬鹿みたい
今まで頑張ってCSV編集してたのが馬鹿みたい
574デフォルトの名無しさん
2021/08/15(日) 02:21:34.96ID:Ua8YLJnm windowsです
指定したフォルダ内にいくつフォルダがあるか調べたい
len(p for p in src.iterdir() if p.is_dir())
だと、max_path越えてるpをFalse判定します
なにかいい手段はないでしょうか
指定したフォルダ内にいくつフォルダがあるか調べたい
len(p for p in src.iterdir() if p.is_dir())
だと、max_path越えてるpをFalse判定します
なにかいい手段はないでしょうか
575デフォルトの名無しさん
2021/08/15(日) 02:27:06.28ID:Ua8YLJnm すいません
max_path解除不可です
max_path解除不可です
576デフォルトの名無しさん
2021/08/15(日) 04:39:27.95ID:7SSKhdI7 a = [(lambda x: x * i) for i in (1, 2)]
>>> a[1](1)
2
>>> a[0](1)
2
これがxがundefinedにならない理由はなんですか?またx:の部分は引数ですよね?何も受け取らなくてもエラーにならないんですか?
>>> a[1](1)
2
>>> a[0](1)
2
これがxがundefinedにならない理由はなんですか?またx:の部分は引数ですよね?何も受け取らなくてもエラーにならないんですか?
577デフォルトの名無しさん
2021/08/15(日) 05:05:10.89ID:tz+DZcyH578デフォルトの名無しさん
2021/08/15(日) 05:07:28.10ID:tz+DZcyH579デフォルトの名無しさん
2021/08/15(日) 05:18:47.52ID:7SSKhdI7580デフォルトの名無しさん
2021/08/15(日) 08:18:33.41ID:Ua8YLJnm >>577
んー層浅いのに名前だけ超長いみたいな例がありうるんです…
なんか短縮?するのってなかったでしたっけ
c:¥foo~¥bar~みたいなやつ
名前が分からないんだけど、windllあたりを叩いてどうにかならんものか
んー層浅いのに名前だけ超長いみたいな例がありうるんです…
なんか短縮?するのってなかったでしたっけ
c:¥foo~¥bar~みたいなやつ
名前が分からないんだけど、windllあたりを叩いてどうにかならんものか
581デフォルトの名無しさん
2021/08/15(日) 13:14:30.49ID:6uWudvu4 馬鹿には無理
582デフォルトの名無しさん
2021/08/15(日) 13:58:20.70ID:v+aZA8Y6 馬鹿じゃないもん!
583デフォルトの名無しさん
2021/08/15(日) 15:47:33.56ID:si7Mpb2N > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
584デフォルトの名無しさん
2021/08/15(日) 17:05:24.89ID:7SSKhdI7585デフォルトの名無しさん
2021/08/15(日) 17:34:12.53ID:tz+DZcyH >>584
変数のスコープを理解すれば謎挙動でもない
for i in range(5)
__pass
print(x) // xは4
FAQにも出てるけど変数のスコープについて詳しく解説されてる入門書を1冊読むといいと思う
クラス変数とインスタンス変数のごっちゃに比べれば理解しやすい
変数のスコープを理解すれば謎挙動でもない
for i in range(5)
__pass
print(x) // xは4
FAQにも出てるけど変数のスコープについて詳しく解説されてる入門書を1冊読むといいと思う
クラス変数とインスタンス変数のごっちゃに比べれば理解しやすい
586デフォルトの名無しさん
2021/08/15(日) 17:40:34.69ID:tz+DZcyH587デフォルトの名無しさん
2021/08/15(日) 18:38:17.55ID:huFV89Rq sqlalchemyでfilterに条件式を動的に入れる時って
.filter(Class.【ここ】 == '値')
【ここ】の部分どうしたらいいの・・?
.filter(Class.【ここ】 == '値')
【ここ】の部分どうしたらいいの・・?
588デフォルトの名無しさん
2021/08/15(日) 18:45:38.77ID:huFV89Rq 自己解決したかも >>587
from sqlalchemy import text
で
.filter(text("条件式"))でできるみたいだけど
Class.はいらないのだろうか・・
とりあえず試してみます
from sqlalchemy import text
で
.filter(text("条件式"))でできるみたいだけど
Class.はいらないのだろうか・・
とりあえず試してみます
589デフォルトの名無しさん
2021/08/15(日) 19:58:08.59ID:YSnEOPEZ 以下のコードで、数十万行程度の大きめのファイルを作成した場合も
必ずprint("3")はprint("2")の後に実行されますか?
ちゃんとファイルが作成され終わった後に処理をしたい場合、何か必要な記述はありますか?
print("1---------")
with open(FilePath, 'w') as f:
f.write("test")
print("2---------")
print("3---------")
必ずprint("3")はprint("2")の後に実行されますか?
ちゃんとファイルが作成され終わった後に処理をしたい場合、何か必要な記述はありますか?
print("1---------")
with open(FilePath, 'w') as f:
f.write("test")
print("2---------")
print("3---------")
590デフォルトの名無しさん
2021/08/15(日) 20:08:24.78ID:YSnEOPEZ591デフォルトの名無しさん
2021/08/15(日) 20:53:40.27ID:bN+9aniQ される
592デフォルトの名無しさん
2021/08/15(日) 23:10:43.11ID:YSnEOPEZ >>591
ありがとうございます。
ありがとうございます。
593デフォルトの名無しさん
2021/08/16(月) 00:39:51.07 再帰の内包表記でbreak使いたいんですけど
無理でしたっけ?
例えば
ary = ['a','b','c','b']
ary2= ['b','c']
[ n for n in ary2 for m in ary if n==m ]
#['b','b','c']
となるけど最初のn==mでbreakして
['b','c']にする感じです
無理でしたっけ?
例えば
ary = ['a','b','c','b']
ary2= ['b','c']
[ n for n in ary2 for m in ary if n==m ]
#['b','b','c']
となるけど最初のn==mでbreakして
['b','c']にする感じです
594デフォルトの名無しさん
2021/08/16(月) 01:19:35.67ID:RjtYQ2nK そんなものはない
595デフォルトの名無しさん
2021/08/16(月) 10:43:06.74ID:X3qQwgV7596デフォルトの名無しさん
2021/08/16(月) 12:49:48.06ID:X3qQwgV7 一応追記
is_fileやis_dirは通るけど
pilはopenできなかった(FileNotFoundError)
ioはやっぱwindowsのLongPathEnabledが有効でないといかんようだ
is_fileやis_dirは通るけど
pilはopenできなかった(FileNotFoundError)
ioはやっぱwindowsのLongPathEnabledが有効でないといかんようだ
597デフォルトの名無しさん
2021/08/16(月) 14:43:52.65ID:Gh+OcB3l >>585
iは4だけどxはundefinedじゃね?
それはともかく
>>> a = [(lambda i: (lambda x: x * i))(i) for i in (2, 3)]
>>> a[1](1)
3
>>> a[0](1)
2
なんだかな
iは4だけどxはundefinedじゃね?
それはともかく
>>> a = [(lambda i: (lambda x: x * i))(i) for i in (2, 3)]
>>> a[1](1)
3
>>> a[0](1)
2
なんだかな
598デフォルトの名無しさん
2021/08/16(月) 14:53:00.33ID:Gh+OcB3l599デフォルトの名無しさん
2021/08/16(月) 15:12:51.28ID:ebJKRLr3 >>596
Pathで渡さずに"\\?\"を追加した文字列として渡せば開くんじゃないかな
Pathで渡すと内部でresolve()呼ばれて"\\?\"がbuilt-inのopenに渡される前に消されちゃってるので
https://github.com/python-pillow/Pillow/blob/master/src/PIL/Image.py#L2967-L2974
面倒なのでパスを短くするかレジストリを変更するかしたほうがいいとは思う
Pathで渡さずに"\\?\"を追加した文字列として渡せば開くんじゃないかな
Pathで渡すと内部でresolve()呼ばれて"\\?\"がbuilt-inのopenに渡される前に消されちゃってるので
https://github.com/python-pillow/Pillow/blob/master/src/PIL/Image.py#L2967-L2974
面倒なのでパスを短くするかレジストリを変更するかしたほうがいいとは思う
600デフォルトの名無しさん
2021/08/16(月) 15:19:33.45ID:ebJKRLr3 >>597
部分適用したいならpartial使えばいい
from functools import partial
a = [partial(lambda i, x: x * i, i) for i in (2, 3)]
Pythonでこういう使い方するのは稀だけど
部分適用したいならpartial使えばいい
from functools import partial
a = [partial(lambda i, x: x * i, i) for i in (2, 3)]
Pythonでこういう使い方するのは稀だけど
601デフォルトの名無しさん
2021/08/16(月) 16:09:27.28ID:X3qQwgV7602デフォルトの名無しさん
2021/08/16(月) 17:06:39.96ID:IO9rrDhR >>597
公式FAQによると、こんな感じに書くのを推奨しているように見える。
a = [lambda x, n=i: x * n for i in (2, 3)]
https://docs.python.org/ja/3/faq/programming.html#why-do-lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result
公式FAQによると、こんな感じに書くのを推奨しているように見える。
a = [lambda x, n=i: x * n for i in (2, 3)]
https://docs.python.org/ja/3/faq/programming.html#why-do-lambdas-defined-in-a-loop-with-different-values-all-return-the-same-result
603デフォルトの名無しさん
2021/08/16(月) 20:13:07.13ID:LeWMKcGD pythonでのスクレイピングでbeautifulsoup4とIxmlの使い分けってあるんですか?
今勉強してる本だとlxmlを使うことが多いので使い分けが気になります
今勉強してる本だとlxmlを使うことが多いので使い分けが気になります
604デフォルトの名無しさん
2021/08/16(月) 20:13:44.57ID:Dz+YmPwS 内包表記でも同じなんだな。この場合lambdaのローカルではないiはどこに残っていることになるんだろ。
forの場合はループ終わってもiが参照可能だから分かり易いけど。
forの場合はループ終わってもiが参照可能だから分かり易いけど。
605デフォルトの名無しさん
2021/08/16(月) 23:04:11.60ID:AbohF8Pa >>602
はぁー感心したわ
はぁー感心したわ
606デフォルトの名無しさん
2021/08/17(火) 05:57:47.50ID:t0cSJCOl 関数のローカル変数と同じ扱いじゃないかね。
def f():
__r = []
__for i in (2, 3):
____r.append(lambda x, n=i: x * n)
__return r
a = f()
こんなコードを実行しても i がグローバルに現れないのと同じ。
def f():
__r = []
__for i in (2, 3):
____r.append(lambda x, n=i: x * n)
__return r
a = f()
こんなコードを実行しても i がグローバルに現れないのと同じ。
607デフォルトの名無しさん
2021/08/17(火) 08:28:00.17ID:JAfXgPxe 文字列中の「"」(ダブルクォーテーション)をすべて「\"」に置き換えてprintしたいのですがどうしたら良いですか?
↓のコードを試してみましたが、「\」(円マーク)がprintされませんでした。
test = 'aaa="iii"'
test.replace('"','\"')
print(test)
↓のコードを試してみましたが、「\」(円マーク)がprintされませんでした。
test = 'aaa="iii"'
test.replace('"','\"')
print(test)
608デフォルトの名無しさん
2021/08/17(火) 08:43:07.39ID:gaP7rkot test.replace('"',r'\"')
609デフォルトの名無しさん
2021/08/17(火) 09:31:57.36ID:JAfXgPxe610デフォルトの名無しさん
2021/08/17(火) 13:47:01.89ID:Q6ss2SIB >>606
なるほど!
def f():
... r = []
... for i in (2, 3):
... r.append(lambda x: x * i)
... return r
...
>>> a = f()
>>> a[1](1)
3
>>> a[0](1)
3
なるほど!
def f():
... r = []
... for i in (2, 3):
... r.append(lambda x: x * i)
... return r
...
>>> a = f()
>>> a[1](1)
3
>>> a[0](1)
3
611デフォルトの名無しさん
2021/08/17(火) 22:16:40.96ID:4J/S2o5Z tkinterでアプリを作成しています
ボタンが3つあって、それぞれボタンを押すと次の関数が実行されます
def window(test):
root = tkinter.Tk()
これによって開かれた複数のウィンドウがWindows10のタスクバー上で、
自動的にグループ化されるのですが
これをアプリ側で分離させる方法はないでしょうか?
ボタンが3つあって、それぞれボタンを押すと次の関数が実行されます
def window(test):
root = tkinter.Tk()
これによって開かれた複数のウィンドウがWindows10のタスクバー上で、
自動的にグループ化されるのですが
これをアプリ側で分離させる方法はないでしょうか?
612デフォルトの名無しさん
2021/08/18(水) 01:09:22.36ID:alFzoDYf タスクバーの設定でグループ化しないを選ぶのが楽
613デフォルトの名無しさん
2021/08/18(水) 01:33:08.02ID:m4X9BWoP タスクバーの設定だと他のアプリまで分離してしまうのでアプリ側で分離させたかったんですけど
やっぱり方法はなさそうですね
諦めます
やっぱり方法はなさそうですね
諦めます
614デフォルトの名無しさん
2021/08/19(木) 13:42:29.43ID:FqK5lxwf 0.0.0.0:8000
こういう形式のipに変数名をあてたいんですけど
8000の部分はhostでいいとして
0.0.0.0の部分はaddressでいいのでしょうか?
ipかhostにしようか迷ったのですが
ググったところ0.0.0.0の部分はネットワーク部とホスト部みたいに分かれるみたいですし
ipだと0.0.0.0:8000全体を指しそうだし
しかしそれだとaddressもそうでは・・?みたいな
こういう形式のipに変数名をあてたいんですけど
8000の部分はhostでいいとして
0.0.0.0の部分はaddressでいいのでしょうか?
ipかhostにしようか迷ったのですが
ググったところ0.0.0.0の部分はネットワーク部とホスト部みたいに分かれるみたいですし
ipだと0.0.0.0:8000全体を指しそうだし
しかしそれだとaddressもそうでは・・?みたいな
615デフォルトの名無しさん
2021/08/19(木) 13:58:24.37ID:LXAdZTw3 命名の話っすか
命名スレでやればいいと思うけど普通はhost:port
だよ
命名スレでやればいいと思うけど普通はhost:port
だよ
616デフォルトの名無しさん
2021/08/19(木) 14:00:41.87ID:LXAdZTw3 あー、勘違いした
hostとportがくっついてる場合を何と呼ぶかか
hostとportがくっついてる場合を何と呼ぶかか
617デフォルトの名無しさん
2021/08/19(木) 14:08:24.00ID:5v0iaVCE なんか盛大な勘違いもありそうだけど。。。
source or destination で良いと思う
source or destination で良いと思う
618デフォルトの名無しさん
2021/08/19(木) 19:26:01.79ID:527sxbC6 ねえみんな
IPv6って使ってる?
IPv6って使ってる?
619デフォルトの名無しさん
2021/08/19(木) 20:09:49.11ID:/iV4BAlB IPv6なんか通信インフラ屋でない限り全く必要ないからガン無視してok
620デフォルトの名無しさん
2021/08/19(木) 20:39:42.72ID:d5oNKX28 >>614
素直にAddressPortでいいだろ
Oracleさんも使ってるし
https://download.oracle.com/otn_hosted_doc/coherence/330/com/tangosol/net/LoadBalancer.AddressPort.html
素直にAddressPortでいいだろ
Oracleさんも使ってるし
https://download.oracle.com/otn_hosted_doc/coherence/330/com/tangosol/net/LoadBalancer.AddressPort.html
621デフォルトの名無しさん
2021/08/19(木) 21:45:53.60ID:9ur+XjZE さすが命名に定評のあるオラクルさんw
622デフォルトの名無しさん
2021/08/20(金) 13:05:28.03ID:aaLnq14B 五教科の平均値を前半期、後半期で出すプログラムを
for文と関数で短めに作るにはどうしたら良いの?
五教科の点数は適当で良いのでアドバイスお願いします
for文と関数で短めに作るにはどうしたら良いの?
五教科の点数は適当で良いのでアドバイスお願いします
623デフォルトの名無しさん
2021/08/20(金) 13:23:47.57ID:nwMAPpno アドバイスとして求めるなら、
とりあえず自分で書いてみてアップしたら?
とりあえず自分で書いてみてアップしたら?
624デフォルトの名無しさん
2021/08/20(金) 13:53:32.51ID:bmI6iAbu pythonやるのって中学校からだっけ?
625デフォルトの名無しさん
2021/08/20(金) 13:58:09.36ID:aaLnq14B Python一年生を読んでて画像表示プログラムを打ってると毎回エラーが出て疲れる
「え?正確に入力した筈なのに何処が違ってる?」
って思うけど、インデント間違いとか大文字と小文字の間違いが一個でもあると動かなくてきついわ
「え?正確に入力した筈なのに何処が違ってる?」
って思うけど、インデント間違いとか大文字と小文字の間違いが一個でもあると動かなくてきついわ
626デフォルトの名無しさん
2021/08/20(金) 14:49:12.55ID:O2iQQ7aA627デフォルトの名無しさん
2021/08/20(金) 15:49:09.09ID:mOJeDUWN628デフォルトの名無しさん
2021/08/20(金) 15:53:51.70ID:bheJjdjJ 注意欠陥障害みたいなの抱えてる奴には向かない
629デフォルトの名無しさん
2021/08/20(金) 17:12:34.95ID:3LXkFTj+ jupyter notebookで複数行のテキストをinputする方法はありますか?
input()でshift+return押しても一行分の入力欄しか出てこないです
input()でshift+return押しても一行分の入力欄しか出てこないです
630デフォルトの名無しさん
2021/08/20(金) 17:25:01.37ID:+XYykUue lista=[50,80,100,90]
total=0
for i in lista:
total=total+i
c=int(total/5)
lastb=[70,40,60,30]
total=0
for a in listb:
total=total+a
d=int(total/5)
print(c,d)
理解力足りないからこれしか思い付かないが、何も答えられなくて煽るしか出来ないって俺よりバカって事?
total=0
for i in lista:
total=total+i
c=int(total/5)
lastb=[70,40,60,30]
total=0
for a in listb:
total=total+a
d=int(total/5)
print(c,d)
理解力足りないからこれしか思い付かないが、何も答えられなくて煽るしか出来ないって俺よりバカって事?
631デフォルトの名無しさん
2021/08/20(金) 17:28:43.86ID:+XYykUue632デフォルトの名無しさん
2021/08/20(金) 17:30:09.67ID:FhpMMCBI def hoge1(a):
_if a=="sato" or a=="tanaka" or a=="suzuki":#@
__return False#A
_else:
__#何らかのコード
__return True
def hoge2(a):
_if a=="sato" or a=="tanaka" or a=="suzuki": return False
_#何らかのコード
_return True
print(hoge1("tanaka"))
print(hoge2("tanaka"))
こういう
「条件を満たしたらreturn Falseする」ときに@で改行してまでAのインデントは無駄かなと思って
hoge2みたいに書いているのですが
a==,a==,,,のところってなんどもa==出てきますが、冗長なコードではありませんよね?
何か別の書き方があるのかなと思いまして。
(例えばjsで言うところのswitchみたいな)
_if a=="sato" or a=="tanaka" or a=="suzuki":#@
__return False#A
_else:
__#何らかのコード
__return True
def hoge2(a):
_if a=="sato" or a=="tanaka" or a=="suzuki": return False
_#何らかのコード
_return True
print(hoge1("tanaka"))
print(hoge2("tanaka"))
こういう
「条件を満たしたらreturn Falseする」ときに@で改行してまでAのインデントは無駄かなと思って
hoge2みたいに書いているのですが
a==,a==,,,のところってなんどもa==出てきますが、冗長なコードではありませんよね?
何か別の書き方があるのかなと思いまして。
(例えばjsで言うところのswitchみたいな)
633デフォルトの名無しさん
2021/08/20(金) 17:36:35.19ID:nwMAPpno634デフォルトの名無しさん
2021/08/20(金) 17:58:59.82 >>630
後々グラフとか作りたいってなるとpandasめちゃくちゃ便利だから使ってみるのもいいかも
https://i.imgur.com/FEWONvX.jpg
import pandas as pd
#前期
df = pd.DataFrame({"国語":[50,55,60],"算数":[80,40,77],"理科":[100,83,76],"社会":[90,82,66],"英語":[88,90,71]},index=["サトウ","スズキ","タナカ"])
#後期
#略
#サトウの5教科の平均点
print( df.loc["サトウ"].mean() )
#国語の平均点
print( df["国語"].mean() )
#算数の標準偏差
print( df["算数"].std() )
#英語の中央値
print( df["英語"].median() )
後々グラフとか作りたいってなるとpandasめちゃくちゃ便利だから使ってみるのもいいかも
https://i.imgur.com/FEWONvX.jpg
import pandas as pd
#前期
df = pd.DataFrame({"国語":[50,55,60],"算数":[80,40,77],"理科":[100,83,76],"社会":[90,82,66],"英語":[88,90,71]},index=["サトウ","スズキ","タナカ"])
#後期
#略
#サトウの5教科の平均点
print( df.loc["サトウ"].mean() )
#国語の平均点
print( df["国語"].mean() )
#算数の標準偏差
print( df["算数"].std() )
#英語の中央値
print( df["英語"].median() )
635デフォルトの名無しさん
2021/08/20(金) 17:59:55.07ID:0J8On0UY >>632
- return Falseの前で改行したほうがいい
- 何度もa==が出てくる部分はin演算子を使う
- elseを書くかどうかは状況による
pylintとかのlinterを使おう
in演算子を使ったほうがいいみたいなのを含めて注意してくれる
- return Falseの前で改行したほうがいい
- 何度もa==が出てくる部分はin演算子を使う
- elseを書くかどうかは状況による
pylintとかのlinterを使おう
in演算子を使ったほうがいいみたいなのを含めて注意してくれる
636デフォルトの名無しさん
2021/08/20(金) 18:04:09.17ID:elEM/mJ5 >>632
サンプルコードみたいな奴だったin使って判定した方がすっきりするぞ
(条件が複雑ならSwich文は無いから、素直にifとelif組み合わせるしかないけど)
def hoge3(name,students):
____if name in students:
________print(name)
____else:
________print("No Student")
student_list = ["sato","tanaka","suzuki"]
hoge3("sato",student_list) #-> sato
hoge3("nakamura",student_list) #-> No Student
サンプルコードみたいな奴だったin使って判定した方がすっきりするぞ
(条件が複雑ならSwich文は無いから、素直にifとelif組み合わせるしかないけど)
def hoge3(name,students):
____if name in students:
________print(name)
____else:
________print("No Student")
student_list = ["sato","tanaka","suzuki"]
hoge3("sato",student_list) #-> sato
hoge3("nakamura",student_list) #-> No Student
637デフォルトの名無しさん
2021/08/20(金) 18:06:03.11ID:FhpMMCBI >>635,636
なるほど
ifでinを使えるのですね
def hoge3(a):
_if a in ["sato","tanaka","suzuki"]:
__return False
_else:
__return True
>pylintとか
調べてみます ありがとうございました。
なるほど
ifでinを使えるのですね
def hoge3(a):
_if a in ["sato","tanaka","suzuki"]:
__return False
_else:
__return True
>pylintとか
調べてみます ありがとうございました。
638デフォルトの名無しさん
2021/08/20(金) 18:07:31.47ID:FhpMMCBI639デフォルトの名無しさん
2021/08/21(土) 08:17:19.59ID:T96f+mMj640デフォルトの名無しさん
2021/08/21(土) 08:27:06.24ID:VDBhwRxo641デフォルトの名無しさん
2021/08/21(土) 08:37:26.85ID:T96f+mMj 五教科それぞれの合計数を出すと関数の引数にするまでもなく平均点出せるんだよね…
642デフォルトの名無しさん
2021/08/21(土) 10:32:39.98ID:+K/WXdke >>639
print(sum(lista)//4, sum(listb)//4)
print(sum(lista)//4, sum(listb)//4)
643デフォルトの名無しさん
2021/08/21(土) 10:50:34.22ID:l5Ji0Cfk644デフォルトの名無しさん
2021/08/21(土) 10:53:46.80ID:0b1Dm8dh >>642
「4教科を5で割ってしまった」のと同じバグが発生するぞ
「4教科を5で割ってしまった」のと同じバグが発生するぞ
645デフォルトの名無しさん
2021/08/21(土) 11:11:32.74 lista=[50,80,100,90]
lastb=[70,40,60,30]
print((lambda n:sum(n)/len(n))(lista),(lambda n:sum(n)/len(n))(lastb))
lastb=[70,40,60,30]
print((lambda n:sum(n)/len(n))(lista),(lambda n:sum(n)/len(n))(lastb))
646デフォルトの名無しさん
2021/08/21(土) 16:06:33.06ID:Bsv/eHVD np.mean(np.array(lista))とか?
647デフォルトの名無しさん
2021/08/21(土) 16:23:11.06ID:2TaMM1xI np.mean(lista) でも np.array(lista).mean() でもいける
648デフォルトの名無しさん
2021/08/21(土) 21:43:33.30ID:/rey9CMo 以下のような辞書があって
dict_a = {"a":1.0, "b": 0.5, "c": 0.25, "d": 0.68}
以下のようなlist_aがあって
list_a = ["a", "a", "a", "b", "c", "c", "d"]
dict_aとlist_aから、以下のようなlist_bを作るにはどうするのが良いですか?
list_b = [1.0, 1.0, 1.0, 0.5, 0.25, 0.25, 0.68]
以下のようにfor文を回して地道にやるしかないですか?
list_b = []
for a in list_a:
if a in dict_a:
list_b.append(dict_a[a])
ちなみにnumpyは使えない環境です。
dict_a = {"a":1.0, "b": 0.5, "c": 0.25, "d": 0.68}
以下のようなlist_aがあって
list_a = ["a", "a", "a", "b", "c", "c", "d"]
dict_aとlist_aから、以下のようなlist_bを作るにはどうするのが良いですか?
list_b = [1.0, 1.0, 1.0, 0.5, 0.25, 0.25, 0.68]
以下のようにfor文を回して地道にやるしかないですか?
list_b = []
for a in list_a:
if a in dict_a:
list_b.append(dict_a[a])
ちなみにnumpyは使えない環境です。
649デフォルトの名無しさん
2021/08/21(土) 21:44:48.81ID:/rey9CMo >>648 なるべく処理速度を高めたいです。
650デフォルトの名無しさん
2021/08/21(土) 23:19:07.08ID:7GAoG1Iq Rustのメモリ安全性はボローチェッカーによって担保されているが、
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
Nimと比較してRustはタイプ量が多い事により限りなく低い生産性と
C++のような高い難読性、超巨大なバイナリ生成性能を兼ね備えています
Nimはバージョン1.5.1でRustのボローチェッカーに似た「View types」が実装されれば、
GC無しのView typesで参照の有効性を検証することによってメモリ安全性を保証しつつ
限りなく抑え込まれたタイプ量で高速化したCのソースコードを吐き出せます
Nimソースコード ==nimコンパイラ==> Cソースコード ==Cコンパイラ==> バイナリ
なので、nimコンパイラが通った時点でメモリ安全性が担保されませんか?
Nimの実験的特徴
著者: アンドレアス・ルンプ
バージョン: 1.5.1
http://nim-lang.github.io/Nim/manual_experimental.html
Nimは限りなく抑え込まれたタイプ量で高い生産性とPythonのような高い可読性を実現し
ているにもかかわらず、高速なCのソースコードを吐き出せるのでC言語でリモートワーク
されている方は割り振られた仕事が早く終わっても終わってないふりをして怠けることができる
「怠け者とはこうあるべきだ!」と言うとても大事な事を Nim は我々に教えてくれます
651デフォルトの名無しさん
2021/08/21(土) 23:23:12.53ID:0b1Dm8dh mapする時はPythonでは普通list comprehensionを使う
list_b = [ dict_a[x] for x in list_a if x in dict_a ]
list_b = [ dict_a[x] for x in list_a if x in dict_a ]
652デフォルトの名無しさん
2021/08/22(日) 05:09:08.36ID:DeeCp+C0 linuxでpython動かしたことないのですが
linuxで開発中のpythonコード上でwindowsAPIを実行できますか?
書くだけ書いてwindowsに持ってって実行する感じですか?
linuxで開発中のpythonコード上でwindowsAPIを実行できますか?
書くだけ書いてwindowsに持ってって実行する感じですか?
653デフォルトの名無しさん
2021/08/22(日) 13:57:54.68ID:cx6/dnxW WSLのことならOK
654デフォルトの名無しさん
2021/08/22(日) 19:37:21.71ID:RWC7FQin flaskで
def main():
_from flask import Flask
_app = Flask(__name__)
_aaa=10
_bbb=20
_@app.route("/")
_def test():
__print(locals())
_return app
的な感じで書くと、なぜかlocals()でaaaが取得されるんですがバグでしょうか?
def main():
_from flask import Flask
_app = Flask(__name__)
_aaa=10
_bbb=20
_@app.route("/")
_def test():
__print(locals())
_return app
的な感じで書くと、なぜかlocals()でaaaが取得されるんですがバグでしょうか?
655デフォルトの名無しさん
2021/08/23(月) 16:02:00.39ID:Gra2NqP5 型ヒントで
strのlistかNoneが返ることを書きたい
def test(obj: Any) ->Optional[list[str]]
かなと思ったらエラーが…
strのlistかNoneが返ることを書きたい
def test(obj: Any) ->Optional[list[str]]
かなと思ったらエラーが…
656デフォルトの名無しさん
2021/08/23(月) 16:05:38.99ID:Gra2NqP5 あ失礼
typing Listがあんのね
typing Listがあんのね
657デフォルトの名無しさん
2021/08/23(月) 19:42:57.46ID:lyXFy7/6 DataFrameをto_csvでcsv出力すると、CSVの一番左上に入るはずのカラム名(columns.name)が0になってしまいます。
出力するための引数などあるのでしょうか?
出力するための引数などあるのでしょうか?
658デフォルトの名無しさん
2021/08/23(月) 22:29:26.85ID:NbJ+wt2i >>655
3.9からはそれでOK
3.9からはそれでOK
659デフォルトの名無しさん
2021/08/24(火) 01:53:49.06ID:OPjw/0cg >>657ですが、説明が正しくありませんでした
csvをDataFrameに読み込む際、header=Noneにするとヘッダには0からの連番が振られると思います。
このデータフレームのヘッダに対してdf.columns=listで別の名前を割り当て、to_csvで出力しました。
ですが、0のヘッダ名が変わってくれません。
1以上の連番が振られていたところは新しい名前に変わっていました。
何か対策などあれば教えていただきたいです。
csvをDataFrameに読み込む際、header=Noneにするとヘッダには0からの連番が振られると思います。
このデータフレームのヘッダに対してdf.columns=listで別の名前を割り当て、to_csvで出力しました。
ですが、0のヘッダ名が変わってくれません。
1以上の連番が振られていたところは新しい名前に変わっていました。
何か対策などあれば教えていただきたいです。
660デフォルトの名無しさん
2021/08/24(火) 03:40:53.95ID:mZOju8SR >>659
実際のデータ見てないから想像で申し訳ないけど
0のヘッダ名になってる所ってインデックスになってない?
インデックスはカラムとは別にタイトルを付ける必要がある
df = pd.DataFrame(data)
df.index.name = 'Date
みたいな感じで'
実際のデータ見てないから想像で申し訳ないけど
0のヘッダ名になってる所ってインデックスになってない?
インデックスはカラムとは別にタイトルを付ける必要がある
df = pd.DataFrame(data)
df.index.name = 'Date
みたいな感じで'
661デフォルトの名無しさん
2021/08/24(火) 20:22:12.69ID:el4vEdwg windows10の話なんですが
属性確認すると
program files はreadonlyだけど
program files(x86)はreadonlyでないと言われます
どちらも同じ属性じゃないとおかしい気がするんですが、なぜ異なるのですか?
属性確認すると
program files はreadonlyだけど
program files(x86)はreadonlyでないと言われます
どちらも同じ属性じゃないとおかしい気がするんですが、なぜ異なるのですか?
662デフォルトの名無しさん
2021/08/24(火) 20:29:09.46ID:el4vEdwg なんでここで聞いたかというと
pythonのstat.st_file_attributes使ってるからです
もしかしたらアクセス方法間違ってるとか
別言語では上手くいくとかあり得るのかなと思って。
pythonのstat.st_file_attributes使ってるからです
もしかしたらアクセス方法間違ってるとか
別言語では上手くいくとかあり得るのかなと思って。
663デフォルトの名無しさん
2021/08/24(火) 22:04:24.96ID:SMXHl8SK Ruby で、フォルダのモードを取得したら、どちらも40555 だった
file_paths = [ "C:/Program Files", "C:/Program Files (x86)" ]
file_paths.each do |file_path|
fs = File::Stat.new( file_path )
printf "%o\n", fs.mode
end
出力
40555
40555
file_paths = [ "C:/Program Files", "C:/Program Files (x86)" ]
file_paths.each do |file_path|
fs = File::Stat.new( file_path )
printf "%o\n", fs.mode
end
出力
40555
40555
664デフォルトの名無しさん
2021/08/24(火) 23:08:06.06ID:OPjw/0cg >>660
ありがとう!!
ご指摘の通りインデックス名が出力されてました
df.index.nameにカラム名と同じ名前をつけて解決しました
to_csvではカラム名は出力出来ないんですかね?
本当にありがとうございました!
ありがとう!!
ご指摘の通りインデックス名が出力されてました
df.index.nameにカラム名と同じ名前をつけて解決しました
to_csvではカラム名は出力出来ないんですかね?
本当にありがとうございました!
665デフォルトの名無しさん
2021/08/24(火) 23:59:28.05ID:SMXHl8SK 例えば、Ruby では、先頭にヘッダー行を追加できる
require 'csv'
input_csv = <<"EOT"
1,白石
2,西野
EOT
ary = CSV.parse( input_csv ) # 2次元配列
ary.unshift [ "ID", "名前" ] # 先頭に、ヘッダー行を挿入する
p ary #=> [["ID", "名前"], ["1", "白石"], ["2", "西野"]]
# 2次元配列を、CSV 文字列に変換する
csv_str = ary.map( &:to_csv ).join
puts csv_str
出力
ID,名前
1,白石
2,西野
require 'csv'
input_csv = <<"EOT"
1,白石
2,西野
EOT
ary = CSV.parse( input_csv ) # 2次元配列
ary.unshift [ "ID", "名前" ] # 先頭に、ヘッダー行を挿入する
p ary #=> [["ID", "名前"], ["1", "白石"], ["2", "西野"]]
# 2次元配列を、CSV 文字列に変換する
csv_str = ary.map( &:to_csv ).join
puts csv_str
出力
ID,名前
1,白石
2,西野
666デフォルトの名無しさん
2021/08/25(水) 01:10:46.53ID:xyhN2k85 ruby関係ないし
667デフォルトの名無しさん
2021/08/25(水) 09:24:28.96ID:U8ZXR+0V >>664
マニュアル嫁
マニュアル嫁
668デフォルトの名無しさん
2021/08/26(木) 00:21:00.63ID:PW4YFNBs もしかしてプログラムでわからないことがあったときって公式のマニュアルを見るのが普通なんですか??
今まで誰かが日本語で説明しているのをググって探してました
公式は英語の直訳で分かりにくくて苦手です
今まで誰かが日本語で説明しているのをググって探してました
公式は英語の直訳で分かりにくくて苦手です
669デフォルトの名無しさん
2021/08/26(木) 00:27:55.26ID:XerHugu7 >>668
英語の直訳が読みにくければ英語の原文を読めばいいよ
英語の直訳が読みにくければ英語の原文を読めばいいよ
670デフォルトの名無しさん
2021/08/26(木) 00:37:28.11ID:HdMtKHya 公式リファレンス読まないのはギルティ
読みやすいか、分かりやすいかは別だが
読みやすいか、分かりやすいかは別だが
671デフォルトの名無しさん
2021/08/26(木) 00:49:51.62ID:zNekFy4I 別にググって探すのは悪くないよ。ただ、実際の動作の裏付けには公式のドキュメントの役割が大きい
だから、ググった上で公式のドキュメントも見るような感じがいいと思う
Pythonのドキュメントは原文も同じ書き方してるから和訳呼んでもわからなかったら原文読んでもわからんと思う
翻訳の問題じゃないから、>>668自信の技術力が足りてないか、原文自体の記述が悪いかみたいな話になるけど
だから、ググった上で公式のドキュメントも見るような感じがいいと思う
Pythonのドキュメントは原文も同じ書き方してるから和訳呼んでもわからなかったら原文読んでもわからんと思う
翻訳の問題じゃないから、>>668自信の技術力が足りてないか、原文自体の記述が悪いかみたいな話になるけど
672デフォルトの名無しさん
2021/08/26(木) 00:54:04.47ID:zNekFy4I Pythonに限らず公式のドキュメントを読み慣れるのは大事だと思う
ドキュメントの構成だったり原文と翻訳の時差とか色々癖あるし
ドキュメントの構成だったり原文と翻訳の時差とか色々癖あるし
673デフォルトの名無しさん
2021/08/26(木) 01:14:15.79ID:wylnrun/ なんだかんだで公式が一番詳しかったりするからな
フォーラムを巡ってもわからなかった問題が公式ドキュメントであっさり解決して、こんなことなら最初に読んでおけばと後悔したことが何度もある
フォーラムを巡ってもわからなかった問題が公式ドキュメントであっさり解決して、こんなことなら最初に読んでおけばと後悔したことが何度もある
674デフォルトの名無しさん
2021/08/26(木) 01:36:05.61ID:2U1NMhFu >>668
ドキュメントの書き方はどこの言語でもクセがあるから慣れだな
公式ドキュメントを読むクセ付けないとバージョンによっては挙動が違ったりするから
他の人の奴を参考にしてると稀に挙動が違ってて余計にハマったりする
一番信用できるドキュメントは公式、っていうのだけは念頭に置いておいて欲しい
ドキュメントの書き方はどこの言語でもクセがあるから慣れだな
公式ドキュメントを読むクセ付けないとバージョンによっては挙動が違ったりするから
他の人の奴を参考にしてると稀に挙動が違ってて余計にハマったりする
一番信用できるドキュメントは公式、っていうのだけは念頭に置いておいて欲しい
675デフォルトの名無しさん
2021/08/26(木) 09:31:05.38ID:ANYTQNnK 公式ドキュメントは専門用語をちゃんと使って
正確に書いてるから、そうとうわかってないと
意味不明だろうな
正確に書いてるから、そうとうわかってないと
意味不明だろうな
676デフォルトの名無しさん
2021/08/26(木) 09:48:18.62ID:PKQtsNYj 一概にそういうわけでもなくて、文化だったり書いた人の性格や能力に依存するところが大きい
Pythonの公式ドキュメントは上から目線で不親切だと思うよ
Rustなんて遥かに難しくてユーザーのレベルも高いはずだけど、ドキュメントはPythonよりは分かりやすい
Pythonの公式ドキュメントは上から目線で不親切だと思うよ
Rustなんて遥かに難しくてユーザーのレベルも高いはずだけど、ドキュメントはPythonよりは分かりやすい
677デフォルトの名無しさん
2021/08/26(木) 10:04:09.61ID:FZTkV2My そうとうわかってないと意味不明な公式ドキュメント・・・
存在する意味がないな
存在する意味がないな
678デフォルトの名無しさん
2021/08/26(木) 10:44:16.68ID:k5gORvl5 攻略本は読みたくなるけど取扱説明書は読む気がしない
679デフォルトの名無しさん
2021/08/26(木) 11:24:47.52ID:kArR7Ozy 操作方法が分からないのに攻略本しか読まないアホ
680デフォルトの名無しさん
2021/08/26(木) 16:37:58.78ID:WPRv8+9f >>671
技術力というより知能が足りない
技術力というより知能が足りない
681デフォルトの名無しさん
2021/08/26(木) 17:00:14.47ID:5BXow/+L >>680
csv読むときにどうやってインデックス名の付ければいいかわっかるかなぁ?
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
はたして君は知能が足りてるのか?
csv読むときにどうやってインデックス名の付ければいいかわっかるかなぁ?
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_csv.html
はたして君は知能が足りてるのか?
682デフォルトの名無しさん
2021/08/26(木) 21:09:48.95ID:dja60KXS >>677
専門家が度忘れしたときや念のために確認するときに役立つ
専門家が度忘れしたときや念のために確認するときに役立つ
683デフォルトの名無しさん
2021/08/27(金) 07:26:29.75ID:a7GWOZA3 ここのreferenceはまだ全然見やすい方
Java関係の公式とか酷かった
あと世の中の大半のフレームワークの公式は分かりにくいし雑だな
むしろ公式さえしっかりしてればフレームワーク自体は雑でもいいぐらい公式は重要なのに
フレームワークのフレームワークが公式なんだから
Java関係の公式とか酷かった
あと世の中の大半のフレームワークの公式は分かりにくいし雑だな
むしろ公式さえしっかりしてればフレームワーク自体は雑でもいいぐらい公式は重要なのに
フレームワークのフレームワークが公式なんだから
684デフォルトの名無しさん
2021/08/27(金) 13:44:12.82ID:lxI1gnNr Javaのoracle公式は内部で探しにくい
記述はちゃんとしていると思うが
記述はちゃんとしていると思うが
685デフォルトの名無しさん
2021/08/27(金) 14:35:37.85ID:FpTGA0p8 API一覧はどっかに載せといて欲しいんだよなあ
BeautifulSoupみたいなドキュメント大嫌い
BeautifulSoupみたいなドキュメント大嫌い
686デフォルトの名無しさん
2021/08/28(土) 15:20:25.04ID:1FNDrQ4q androidスマホでクローリングとかスクレイピングとかPythonでやりやすいですか?
あるいは他に楽な方法あったら教えてください(プログラミング言語でなくとも)
あるいは他に楽な方法あったら教えてください(プログラミング言語でなくとも)
687デフォルトの名無しさん
2021/08/28(土) 20:01:10.55ID:XJOj+thk blenderでpython つかってるんですけど
10から-10の範囲で動く変数 var があって
その数値に応じてもう一つの変数 var2 を0から0.2の数値に変化させたいんですが
たとえばこう記述すると
if var >= 0:
var2 = 0.2
else:
var2 = 0
varがプラスになった途端にいきなりvar2の数字が0.2になっちゃうじゃないですか
なのでvar2を徐々に0.2にまで増やしていきたいんですが、なにかいい数式とかないですかね
変数varは一応10から-10の範囲を動くとはしていますが、場合によっては数値がまったく違ってくるので
varを条件式で使う場合の条件はvarが0以上の数値をもっているかいないかくらいしかないです
なのでvar2と他のなにかをつかって数値を調整するしか無いんですが
10から-10の範囲で動く変数 var があって
その数値に応じてもう一つの変数 var2 を0から0.2の数値に変化させたいんですが
たとえばこう記述すると
if var >= 0:
var2 = 0.2
else:
var2 = 0
varがプラスになった途端にいきなりvar2の数字が0.2になっちゃうじゃないですか
なのでvar2を徐々に0.2にまで増やしていきたいんですが、なにかいい数式とかないですかね
変数varは一応10から-10の範囲を動くとはしていますが、場合によっては数値がまったく違ってくるので
varを条件式で使う場合の条件はvarが0以上の数値をもっているかいないかくらいしかないです
なのでvar2と他のなにかをつかって数値を調整するしか無いんですが
688デフォルトの名無しさん
2021/08/28(土) 21:56:09.25ID:KCQB2Q+0 var2 = (var+10) / 100
これでどや!
これでどや!
689デフォルトの名無しさん
2021/08/28(土) 23:04:51.28ID:o0C8VYNv var2=(10-var)/100
じゃね?
じゃね?
690デフォルトの名無しさん
2021/08/28(土) 23:10:19.97ID:Syg1tfaV > 10から-10の範囲で動く変数 var があって
っと書いてあるのに
> varがプラスになった途端
とか意味わからんので俺は傍観中
っと書いてあるのに
> varがプラスになった途端
とか意味わからんので俺は傍観中
691デフォルトの名無しさん
2021/08/29(日) 00:00:15.10ID:f3cdDfKi 単純にリニアに対応させるのはよくやるしありそうだけど
残念ながら標準ライブラリにはない
python MinMax scaling
でググるといろいろでてくる
残念ながら標準ライブラリにはない
python MinMax scaling
でググるといろいろでてくる
692デフォルトの名無しさん
2021/08/29(日) 00:40:53.81ID:a8dnpsvI 変数名にvarとかletとか意味わからなくなるからやめろ
693デフォルトの名無しさん
2021/08/29(日) 00:41:59.01ID:kSqJuAzn じゃあhogeにします
694デフォルトの名無しさん
2021/08/29(日) 00:44:34.75ID:a8dnpsvI hogeとfugaも見ただけで思考が停止する
695デフォルトの名無しさん
2021/08/29(日) 00:57:44.19ID:kSqJuAzn bar bazならOKだね
696デフォルトの名無しさん
2021/08/29(日) 01:24:41.28ID:TPHdi4yb わざとなのか知らんが
0->10
0.2->-10
なのか
0->-10
0.2->10
なのかはっきりしないな
圧倒的に知能の欠落を感じる
0->10
0.2->-10
なのか
0->-10
0.2->10
なのかはっきりしないな
圧倒的に知能の欠落を感じる
697デフォルトの名無しさん
2021/08/29(日) 02:51:56.56ID:8LB32Hf6 そんな事いちいち書かなくても文章見れば分かるじゃない
ガイジなのは一目瞭然
ガイジなのは一目瞭然
698デフォルトの名無しさん
2021/08/29(日) 07:38:58.20ID:H3IeLoxc windows環境のpythonで追加モジュールインストールなしでシステム音量を変える方法はありますか
スクリプトを流し終わったらミュート解除して音を流してミュートにする的なことをやりたいです
winapi触るようなイメージなんですが
スクリプトを流し終わったらミュート解除して音を流してミュートにする的なことをやりたいです
winapi触るようなイメージなんですが
699デフォルトの名無しさん
2021/08/29(日) 10:34:36.66ID:dJJJwYZf windows 10、Python 3.9.1 の環境です
https://i.imgur.com/27ebmLL.jpeg
インポートの仕様についてですが、以下のファイルがあります
/run.py
/modules/a1.py
/modules/a2.py
runはa1を読み込んでいて、a1とa2はお互いに依存しているのでお互いをimportしています。
ここでrun.py を実行すると以下のエラーが表示されます。
Traceback (most recent call last):
File "C:\run.py", line 2, in <module>
from modules.a1 import A1C
File "C:\modules\a1.py", line 2, in <module>
from modules.a2 import A2C
File "C:\modules\a2.py", line 2, in <module>
from modules.a1 import A1C
ImportError: cannot import name 'A1C' from partially initialized module 'modules.a1' (most likely due to a circular import) (C:\modules\a1.py)
エラーの内容はrun→a1→a2→a1 と、インポートが循環しているからというのはわかるのですが、pythonの文法として 循環インポートはコード書く側が注意しないといけないものなのでしょうか
これ以上ファイルを増やしたくないのですが、 __init__.py というものを使う必要があるのでしょうか。
https://i.imgur.com/27ebmLL.jpeg
インポートの仕様についてですが、以下のファイルがあります
/run.py
/modules/a1.py
/modules/a2.py
runはa1を読み込んでいて、a1とa2はお互いに依存しているのでお互いをimportしています。
ここでrun.py を実行すると以下のエラーが表示されます。
Traceback (most recent call last):
File "C:\run.py", line 2, in <module>
from modules.a1 import A1C
File "C:\modules\a1.py", line 2, in <module>
from modules.a2 import A2C
File "C:\modules\a2.py", line 2, in <module>
from modules.a1 import A1C
ImportError: cannot import name 'A1C' from partially initialized module 'modules.a1' (most likely due to a circular import) (C:\modules\a1.py)
エラーの内容はrun→a1→a2→a1 と、インポートが循環しているからというのはわかるのですが、pythonの文法として 循環インポートはコード書く側が注意しないといけないものなのでしょうか
これ以上ファイルを増やしたくないのですが、 __init__.py というものを使う必要があるのでしょうか。
700デフォルトの名無しさん
2021/08/29(日) 10:38:21.86ID:SOFRyS0H >>699
普通はお互いに依存してる部分を切り出して共通クラスを作るぞ
普通はお互いに依存してる部分を切り出して共通クラスを作るぞ
701デフォルトの名無しさん
2021/08/29(日) 11:42:47.82ID:6aPcdB/x >>688>>689
アニメーションさせるオブジェクトの設定を見直していたら数値が変わってしまってvar2は0から1、varが取得する数値が-100から100くらいになってしまったので
最初にあげた数値とは違っていますけど参考にして書き直しました
(10+var)/400 if var >= 0 else (10-var)/400
varが0近辺になるときに返す値を0から1の範囲でうまい具合に動かしたかったんですがこれでなんとかなりました
どうもでした
アニメーションさせるオブジェクトの設定を見直していたら数値が変わってしまってvar2は0から1、varが取得する数値が-100から100くらいになってしまったので
最初にあげた数値とは違っていますけど参考にして書き直しました
(10+var)/400 if var >= 0 else (10-var)/400
varが0近辺になるときに返す値を0から1の範囲でうまい具合に動かしたかったんですがこれでなんとかなりました
どうもでした
702デフォルトの名無しさん
2021/08/29(日) 12:50:56.45ID:Y4MENvlF >>699
インポートが実行されるタイミングで循環が発生しないようにすればいい
その例だと「A1Cをimport -> そのためにはA2Cが必要 -> そのためにはA1Cが必要」で循環してる
例えばa2.pyのほうをimport modules.a1 as A1とかにすればインポート実行時には循環しない
設計を変更するのが一番だけど
何か特別な事情があるならインポートを遅延させるとかで対処する
インポートが実行されるタイミングで循環が発生しないようにすればいい
その例だと「A1Cをimport -> そのためにはA2Cが必要 -> そのためにはA1Cが必要」で循環してる
例えばa2.pyのほうをimport modules.a1 as A1とかにすればインポート実行時には循環しない
設計を変更するのが一番だけど
何か特別な事情があるならインポートを遅延させるとかで対処する
703デフォルトの名無しさん
2021/08/29(日) 13:13:15.88ID:nWxynwj6 これifいらんことない?
704デフォルトの名無しさん
2021/08/29(日) 13:42:27.03ID:dJJJwYZf >>700,702
どうもです。
という事は、最初1ファイルにズラーッと書いて一段落したからちゃんとクラスごとに別ファイルに分けようと思ったら
切り貼りしてimport文付け足すだけでリファクタリング出来る保証は1ミリも無いという事か・・・
どうもです。
という事は、最初1ファイルにズラーッと書いて一段落したからちゃんとクラスごとに別ファイルに分けようと思ったら
切り貼りしてimport文付け足すだけでリファクタリング出来る保証は1ミリも無いという事か・・・
705デフォルトの名無しさん
2021/08/29(日) 13:44:36.38ID:ik0U7t7o そんなに気にしなくていいよ
そのレベルだと、後でリファクタリングしたくなる頃には今より遥かに腕が上がっていて、最初の頃に書いた糞コードなんて全部捨てることになるから
そのレベルだと、後でリファクタリングしたくなる頃には今より遥かに腕が上がっていて、最初の頃に書いた糞コードなんて全部捨てることになるから
706デフォルトの名無しさん
2021/08/29(日) 14:28:14.75ID:W2eZWYJ9 >>699
コードとかレスはよく読んでないけど
公式ドキュメントにはfrom import使わずに全部importだけでやれば回避できると書いてあった気がする
まあ実際には100%問題を回避できるわけじゃないはずだが
コードとかレスはよく読んでないけど
公式ドキュメントにはfrom import使わずに全部importだけでやれば回避できると書いてあった気がする
まあ実際には100%問題を回避できるわけじゃないはずだが
707デフォルトの名無しさん
2021/08/29(日) 17:14:19.33ID:D+nxUtQ9708デフォルトの名無しさん
2021/08/29(日) 17:31:44.52ID:f3cdDfKi 外部プロセスでPowerShell呼ぶとか
そもそもPowerShellで書くのはダメなのか
適材適所
そもそもPowerShellで書くのはダメなのか
適材適所
709デフォルトの名無しさん
2021/08/29(日) 18:01:08.20ID:wRzFeJgq 趣味でゲームを作っているpython初心者です
発想を間違えている気がするのですが調べても独力で修正できないので質問させてください
pythonでは ファイル間を超えて有効な広域配列変数を定義することはできない という理解であっていますか?
アイテム情報や命名マスタなど「あちこちから参照したいマスタデータ」の持ち方が分からず困っています
トップレベル(≒高いレベル)でCSVロードを済ませた配列なりインスタンスなりを、中間クラスの引数として目的の関数まで持ちまわるしかないのでしょうか?
発想を間違えている気がするのですが調べても独力で修正できないので質問させてください
pythonでは ファイル間を超えて有効な広域配列変数を定義することはできない という理解であっていますか?
アイテム情報や命名マスタなど「あちこちから参照したいマスタデータ」の持ち方が分からず困っています
トップレベル(≒高いレベル)でCSVロードを済ませた配列なりインスタンスなりを、中間クラスの引数として目的の関数まで持ちまわるしかないのでしょうか?
710デフォルトの名無しさん
2021/08/29(日) 20:57:36.98ID:+XFaADRO モジュールとして参照できる
<vars.py>
X=10
Y=100
<main.py>
import vars
print(vars.X)
print(vars.Y)
<vars.py>
X=10
Y=100
<main.py>
import vars
print(vars.X)
print(vars.Y)
711デフォルトの名無しさん
2021/08/30(月) 14:16:06.77ID:a7szkEqk memcached
pymemcache
pymemcache
712デフォルトの名無しさん
2021/08/30(月) 15:03:22.80ID:IH9WNTpQ713デフォルトの名無しさん
2021/08/30(月) 17:48:48.11ID:7NK+aNuC configparserもヘナチョコいんよねえ
714デフォルトの名無しさん
2021/08/30(月) 22:43:34.34ID:30yuDIRz python2でpip等使わずlz4のデータ展開をする方法はありますか?
715デフォルトの名無しさん
2021/08/31(火) 00:05:53.27ID:2Z3a814f OSにliblz4があるか導入できるならctypesモジュールでいけんじゃない
716709
2021/08/31(火) 19:12:15.52ID:9YLyrvXT みなさんありがとうございます
pymemcacheが探してた答えのようです
>>712
自分の設計が悪いだけなのでしょうが、引数で持ち回ると全体的にコードが冗長になってしまい正解が分からなくなっていました
pymemcacheが探してた答えのようです
>>712
自分の設計が悪いだけなのでしょうが、引数で持ち回ると全体的にコードが冗長になってしまい正解が分からなくなっていました
717デフォルトの名無しさん
2021/08/31(火) 19:30:48.38ID:VFuuQVk7 グローバル変数的なものを格納するだけに使うつもりで、常に1つしかインスタンス化しないようなクラスは、全くインスタンス化せずクラス変数とクラスメソッドで使うというのもありですか?
インスタンス化してインスタンス格納用の変数を用意するのが面倒だなと思いまして。
インスタンス化してインスタンス格納用の変数を用意するのが面倒だなと思いまして。
718デフォルトの名無しさん
2021/08/31(火) 20:01:08.53ID:2Z3a814f mockで差し替えたり、初期化を遅延したりしないんならそれでもいいんじゃない
もし必要になったときに見直せばいい
といってもシングルトンの制御いれるだけなんだけどね
もし必要になったときに見直せばいい
といってもシングルトンの制御いれるだけなんだけどね
719デフォルトの名無しさん
2021/08/31(火) 21:31:36.81ID:1mws6K8n https://ideone.com/Xn6V4Y
1から10まで数え上げるプログラムで
total = 0をdefの上の行に移動するとエラーになります
>UnboundLocalError: local variable 'total' referenced before assignment
defの中からグローバル変数?は書き換えられないということですか?
あたま痛い
1から10まで数え上げるプログラムで
total = 0をdefの上の行に移動するとエラーになります
>UnboundLocalError: local variable 'total' referenced before assignment
defの中からグローバル変数?は書き換えられないということですか?
あたま痛い
720デフォルトの名無しさん
2021/08/31(火) 21:47:50.29ID:vXJ7Oc0W 複数行コメントアウトしたいとき
'''
print("hello")
'''
pass
という風にしますが、
解除したいとき変更箇所が2箇所あるのでちょっと面倒だと思いました
なので
#'''
print("hello")
#'''
pass
こうして、上部のみの#を付けたり消したりするだけで切り替えできるようにしてみたのですが
何か不測の事態とか起きるでしょうか?
'''
print("hello")
'''
pass
という風にしますが、
解除したいとき変更箇所が2箇所あるのでちょっと面倒だと思いました
なので
#'''
print("hello")
#'''
pass
こうして、上部のみの#を付けたり消したりするだけで切り替えできるようにしてみたのですが
何か不測の事態とか起きるでしょうか?
721デフォルトの名無しさん
2021/08/31(火) 21:48:09.84ID:vX6Y4w4T >>719
global total
global total
722デフォルトの名無しさん
2021/08/31(火) 21:53:19.20723デフォルトの名無しさん
2021/08/31(火) 23:25:58.49ID:7dGeW7mE >>719
Pythonの変数のスコープについて調べたほうがいいかもね
Pythonの変数のスコープについて調べたほうがいいかもね
724デフォルトの名無しさん
2021/08/31(火) 23:47:03.52ID:2Z3a814f725デフォルトの名無しさん
2021/09/01(水) 07:51:46.18ID:A3Q1UiDE twintってライブラリ使ったことある人おる?
自分のアカウントのすべてのツイートをスクレイピングしてきたいんだが、10日前くらいまでのツイートしかとれなくて困ってる
自分のアカウントのすべてのツイートをスクレイピングしてきたいんだが、10日前くらいまでのツイートしかとれなくて困ってる
726デフォルトの名無しさん
2021/09/01(水) 13:06:04.44ID:uLacWkrf727デフォルトの名無しさん
2021/09/01(水) 20:28:34.09ID:KwaoNT+v いちばん勢いあるPythonスレがこのスレで、この程度の勢いとか
Pythonほんとに人気あるの?
Pythonほんとに人気あるの?
728デフォルトの名無しさん
2021/09/01(水) 20:51:14.35ID:zw5pi55j ム板と言うか5ch自体が衰退メディアですし
729デフォルトの名無しさん
2021/09/01(水) 22:50:28.57ID:UppKED7J730デフォルトの名無しさん
2021/09/02(木) 12:59:54.32ID:DVH2qPZi Windowsでminiconda(4.9.2/python3.8.5)使っててproxy関係のエラーが出る。
proxyが必須なNW環境。
baseだとproxyエラーが出ずrequestで外部URLのスクレイピングなどもできる。
それ以外の環境をconda createで作ってそっちをactivateした状態からだと「cannot connect to proxy」エラーが出る。
.condarcにはproxyを記述してある。
どの環境からconda configを見てもHTTPもHTTPSもproxy情報が参照できている。
baseをcloneした環境を試したらそっちは繋がる。
cloneで作った環境とcloneせずにcreateした環境(proxyエラーになる)とでライブラリをチェックしたけどopensslとかcertifiとか入ってるもの自体はほとんど同じ。
違いというとcreateした方はversionがconda-forgeの最新版になってるからそこだろうか。
minicondaの最新版のインストーラ(4.10.3/python3.9)を使って再インストールしたらbaseからでも繋がらない。
proxy接続のためにWindowsの証明書ストアに.crtファイルをインポートとかしてるからその辺りかもしれない。
proxyが必須なNW環境。
baseだとproxyエラーが出ずrequestで外部URLのスクレイピングなどもできる。
それ以外の環境をconda createで作ってそっちをactivateした状態からだと「cannot connect to proxy」エラーが出る。
.condarcにはproxyを記述してある。
どの環境からconda configを見てもHTTPもHTTPSもproxy情報が参照できている。
baseをcloneした環境を試したらそっちは繋がる。
cloneで作った環境とcloneせずにcreateした環境(proxyエラーになる)とでライブラリをチェックしたけどopensslとかcertifiとか入ってるもの自体はほとんど同じ。
違いというとcreateした方はversionがconda-forgeの最新版になってるからそこだろうか。
minicondaの最新版のインストーラ(4.10.3/python3.9)を使って再インストールしたらbaseからでも繋がらない。
proxy接続のためにWindowsの証明書ストアに.crtファイルをインポートとかしてるからその辺りかもしれない。
731デフォルトの名無しさん
2021/09/02(木) 16:02:33.72ID:L8dQJCTS 初めてwindows使うんですがcondaとpipってどっちがいいんでしょうか
今まではノリでpip使ってたんですがググるとcondaもいいと言われて迷ってきました
主な使用用途は簡単なスクリプトからデータ計算、セキュリティの勉強や自分用のまとめ表作りなど本当に様々です
今まではノリでpip使ってたんですがググるとcondaもいいと言われて迷ってきました
主な使用用途は簡単なスクリプトからデータ計算、セキュリティの勉強や自分用のまとめ表作りなど本当に様々です
732デフォルトの名無しさん
2021/09/02(木) 16:15:26.22ID:4vWPiFe2733デフォルトの名無しさん
2021/09/02(木) 19:59:47.57ID:bRMdZZsN734デフォルトの名無しさん
2021/09/02(木) 20:21:57.15ID:PLPQmXRE735デフォルトの名無しさん
2021/09/02(木) 20:32:53.62ID:lSTkj0Rg736デフォルトの名無しさん
2021/09/02(木) 20:41:46.54ID:t+wDMqp+ クラス変数に順次アクセスする方法はありますでしょうか。(define代わりにクラス直下に変数が複数ある状態)
__dict__.valuesで取れるとあったのでリストに入れてforで回そうと思ったのですが、変数以外にいろんな属性がついてきてしまいます。
__dict__.valuesで取れるとあったのでリストに入れてforで回そうと思ったのですが、変数以外にいろんな属性がついてきてしまいます。
737デフォルトの名無しさん
2021/09/02(木) 20:55:57.53ID:DVH2qPZi >>732
原因分かったわ。
世の中に配布されてるcertifiのcacert.pemっていうファイルにこの環境で使ってる独自の証明書のpemファイルの中身を追記したら繋がった。
コピペは避けたいから2ファイル読ませられないかとcertifiを調べたけどcacert.pemが決め打ちだから無理っぽい。
ついでになぜか3.8.5までしか動かない問題をチェックしたがそっちは解消されず。
3.9にすると同じ方法でも繋がらないどころかconda自身のアップデートもできない。
openssl周りじゃないかと思うけど諦めた。
原因分かったわ。
世の中に配布されてるcertifiのcacert.pemっていうファイルにこの環境で使ってる独自の証明書のpemファイルの中身を追記したら繋がった。
コピペは避けたいから2ファイル読ませられないかとcertifiを調べたけどcacert.pemが決め打ちだから無理っぽい。
ついでになぜか3.8.5までしか動かない問題をチェックしたがそっちは解消されず。
3.9にすると同じ方法でも繋がらないどころかconda自身のアップデートもできない。
openssl周りじゃないかと思うけど諦めた。
738デフォルトの名無しさん
2021/09/03(金) 11:02:01.16ID:qtGmv/9F739デフォルトの名無しさん
2021/09/03(金) 13:14:44.01ID:QJ/1j3Lw >>738
出先なんで試せてないですが、そんな感じです。厳密には変数名ではなくて値を取りたいです。
出先なんで試せてないですが、そんな感じです。厳密には変数名ではなくて値を取りたいです。
740デフォルトの名無しさん
2021/09/03(金) 21:55:16.43ID:T2V+s1mX741デフォルトの名無しさん
2021/09/05(日) 13:43:56.65ID:LaSEjliV tzinfoが設定されているdatetimeオブジェクトを、時差が適用された状態で文字列か新しいdatetimeオブジェクトに変換したいです
具体的には↓のコードのlocal_dtから日本時間に変換したdatetimeオブジェクトが欲しいです
↓のコードではpublishedは最初UTCで、それをAsia/Tokyoのlocal_dtに変換しています
しかしlocal_dtのmonthやdayなどを参照しても日本時間になっていません
時差の実際の適用は手動でやる必要があるのでしょうか?
def get_published(self, obj):
print('tzinfo', obj.published.tzinfo) # UTC
tz = pytz.timezone('Asia/Tokyo')
local_dt = obj.published.astimezone(tz)
print('conv tzinfo', local_dt.tzinfo) # Asia/Tokyo
return local_dt
具体的には↓のコードのlocal_dtから日本時間に変換したdatetimeオブジェクトが欲しいです
↓のコードではpublishedは最初UTCで、それをAsia/Tokyoのlocal_dtに変換しています
しかしlocal_dtのmonthやdayなどを参照しても日本時間になっていません
時差の実際の適用は手動でやる必要があるのでしょうか?
def get_published(self, obj):
print('tzinfo', obj.published.tzinfo) # UTC
tz = pytz.timezone('Asia/Tokyo')
local_dt = obj.published.astimezone(tz)
print('conv tzinfo', local_dt.tzinfo) # Asia/Tokyo
return local_dt
742デフォルトの名無しさん
2021/09/05(日) 14:51:07.53ID:LgQhIBwq localtime()
743デフォルトの名無しさん
2021/09/05(日) 14:53:32.33ID:lJqHVJAL744デフォルトの名無しさん
2021/09/05(日) 15:54:14.08ID:LaSEjliV745デフォルトの名無しさん
2021/09/05(日) 16:08:51.59ID:lJqHVJAL746デフォルトの名無しさん
2021/09/05(日) 19:53:30.08ID:ejEr4mJx リストの結合について質問です
リストの先頭要素を末尾に移動したいとします
ex)[0,1,2]→[1,2,0]
コマンドラインで以下のように書いたところ
2行目で can only concatenate list (not "int") to list というTypeErrorが発生してしまいました
li = list(range(3))
li[1:] + li[0] # TypeError
結果として
li[1:] + li[:1]
としたら問題なく通ったのですが、先に書いた方がエラーになるのはどうしてですか?
li[0]は0(int型)なので、スライスを使用して取得したリスト(li[1:] で得られる [1, 2]、リスト型)とは加算演算できない、という認識で良いですか?
で、li[:1]で取得できるのはリスト型の[0]なので加算可能ということでしょうか
リストの先頭要素を末尾に移動したいとします
ex)[0,1,2]→[1,2,0]
コマンドラインで以下のように書いたところ
2行目で can only concatenate list (not "int") to list というTypeErrorが発生してしまいました
li = list(range(3))
li[1:] + li[0] # TypeError
結果として
li[1:] + li[:1]
としたら問題なく通ったのですが、先に書いた方がエラーになるのはどうしてですか?
li[0]は0(int型)なので、スライスを使用して取得したリスト(li[1:] で得られる [1, 2]、リスト型)とは加算演算できない、という認識で良いですか?
で、li[:1]で取得できるのはリスト型の[0]なので加算可能ということでしょうか
747デフォルトの名無しさん
2021/09/05(日) 20:47:37.17ID:DaMQ65LY >>746
大体そんな感じ
"+ (加算) 演算は、引数同士の和を与えます。引数は双方とも数値型か、双方とも同じ型のシーケンスでなければなりません。前者の場合、数値は共通の型に変換され、加算されます。後者の場合、シーケンスは結合 (concatenate) されます。"
https://docs.python.org/ja/3/reference/expressions.html#binary-arithmetic-operations
大体そんな感じ
"+ (加算) 演算は、引数同士の和を与えます。引数は双方とも数値型か、双方とも同じ型のシーケンスでなければなりません。前者の場合、数値は共通の型に変換され、加算されます。後者の場合、シーケンスは結合 (concatenate) されます。"
https://docs.python.org/ja/3/reference/expressions.html#binary-arithmetic-operations
748デフォルトの名無しさん
2021/09/05(日) 20:51:43.82ID:ejEr4mJx749デフォルトの名無しさん
2021/09/06(月) 12:19:20.10ID:5X8quI1P ファイル読み込み時に入力セパレータを改行から他の文字列に変える事は出来ないのでしょうか?
perlなら$/='\n\n'みたいに入力のレコードセパレータを改行2個にしたり出来るのですが
今はファイル一括で読み込んでsplitしてるので読み込み時間がえらく掛かってしまいます
1行ずつ連続した改行がくるまで読んで連結するとかはあまりスマートじゃないのでなにか上手い方法知ってらっしゃる方いましたら教えて下さい
perlなら$/='\n\n'みたいに入力のレコードセパレータを改行2個にしたり出来るのですが
今はファイル一括で読み込んでsplitしてるので読み込み時間がえらく掛かってしまいます
1行ずつ連続した改行がくるまで読んで連結するとかはあまりスマートじゃないのでなにか上手い方法知ってらっしゃる方いましたら教えて下さい
750デフォルトの名無しさん
2021/09/06(月) 12:45:22.69ID:n3QcSaSA csvとして読み込め
751デフォルトの名無しさん
2021/09/06(月) 12:47:18.91ID:FistWoaj open関数のnewlineパラメータでできそうだけど速くなる気がしない
752デフォルトの名無しさん
2021/09/06(月) 14:44:42.59ID:DsY+3+kX >>743
変数名や引数名の付け方が最低だな
変数名や引数名の付け方が最低だな
753デフォルトの名無しさん
2021/09/06(月) 14:46:25.44ID:DsY+3+kX >>746
li[1:] + [li[0]]
li[1:] + [li[0]]
754デフォルトの名無しさん
2021/09/06(月) 14:48:25.79ID:DsY+3+kX755デフォルトの名無しさん
2021/09/06(月) 15:11:11.17ID:h2TdR+zH first_value = li.pop(0)
li.append(first_value)
実行速度を気にするならdequeとか使うんかね
li.append(first_value)
実行速度を気にするならdequeとか使うんかね
756デフォルトの名無しさん
2021/09/06(月) 15:25:00.95ID:5X8quI1P >>754
すみません、2行ずつ読む意味が分からないんですがgzip化された25万行くらいのファイルでも読み込むと
d = fp.read()で一括で読んだ時は6秒程度、d = fp.readlines()やd = [x for x in fp]で1行毎に読んだ時は0.3秒程度と読み込みだけで結構な差が出てますので一括が原因だと考えてます。
やりたい事は下記のような必ず改行2連続で区切られたデータひと固まりをリストの1要素として取得したいわけですが、これを下記のようにやると読み込みに時間が掛かってしまうので先の質問に至ったわけです
d = fp.read()
s = d.split('\n\n')
aaa
bbb ここのひと固まりの行数は可変
ccc
ddd
eee
fff
ggg
hhh
すみません、2行ずつ読む意味が分からないんですがgzip化された25万行くらいのファイルでも読み込むと
d = fp.read()で一括で読んだ時は6秒程度、d = fp.readlines()やd = [x for x in fp]で1行毎に読んだ時は0.3秒程度と読み込みだけで結構な差が出てますので一括が原因だと考えてます。
やりたい事は下記のような必ず改行2連続で区切られたデータひと固まりをリストの1要素として取得したいわけですが、これを下記のようにやると読み込みに時間が掛かってしまうので先の質問に至ったわけです
d = fp.read()
s = d.split('\n\n')
aaa
bbb ここのひと固まりの行数は可変
ccc
ddd
eee
fff
ggg
hhh
757デフォルトの名無しさん
2021/09/06(月) 16:49:12.87ID:cl/YIp9D 人間の発想だと改行が2個続くことを条件に分割してやれば早いって思えるけどpythonのあるべき書き方だと違うやり方の方が早いこともありそうな気がするね。
例えばだけど1行ずつ読んでkeyを行番号にvalueにして中身は条件判断せずにテキストを読み込み切ってからvalueを縦に走査して改行のみが入ったところで区切りの処理をするみたいな形にしたら早まらんかな。
元の質問の狙いとしては改行が2個続いたときに普通は使われない文字(例えば▲とか)に1回置換してそこからまた▲を行区切りとして読めば短縮されるのでは?というように見える。
けど756を見るとその置換処理の時点で6秒かかって意味なさそうに見えるわな。
例えばだけど1行ずつ読んでkeyを行番号にvalueにして中身は条件判断せずにテキストを読み込み切ってからvalueを縦に走査して改行のみが入ったところで区切りの処理をするみたいな形にしたら早まらんかな。
元の質問の狙いとしては改行が2個続いたときに普通は使われない文字(例えば▲とか)に1回置換してそこからまた▲を行区切りとして読めば短縮されるのでは?というように見える。
けど756を見るとその置換処理の時点で6秒かかって意味なさそうに見えるわな。
758デフォルトの名無しさん
2021/09/06(月) 16:53:07.95ID:VKhiLpUq759デフォルトの名無しさん
2021/09/06(月) 17:15:24.45ID:5X8quI1P760デフォルトの名無しさん
2021/09/06(月) 17:34:12.87ID:cl/YIp9D ファイル開くときのopenでnewlineに改行2個入れてみたら?
761デフォルトの名無しさん
2021/09/06(月) 17:35:55.31ID:cl/YIp9D >>760
エラー出たわ
エラー出たわ
762デフォルトの名無しさん
2021/09/06(月) 18:22:41.52ID:5X8quI1P なんか調べてたら公式のissue152248で任意の区切り文字での読み取りの話を色々やられてたんで、それ通りやればとりあえずは望み通りの動きが出来ました
まあ知らない記述やらモジュールとか使ってるんで全く内容理解してませんが
長々と失礼しました、回答頂いた方ありがとうございました
まあ知らない記述やらモジュールとか使ってるんで全く内容理解してませんが
長々と失礼しました、回答頂いた方ありがとうございました
763デフォルトの名無しさん
2021/09/06(月) 23:20:11.85ID:lLs6oVSG よろしくお願いします
tqdmのプログレスバーがリストの長さだけ改行されてターミナル上で表示されてしまいます
これを1本のバーが更新されて表示されるようにしたいです
python3.7.9, VScode, windows10です
tqdmのプログレスバーがリストの長さだけ改行されてターミナル上で表示されてしまいます
これを1本のバーが更新されて表示されるようにしたいです
python3.7.9, VScode, windows10です
764デフォルトの名無しさん
2021/09/06(月) 23:39:42.63ID:ek7WdP0s 1行の長さを適当に100文字と考えて50MB程度しかないのに、buffer(あるいは行)に分割しないだけでそんなに遅くなるもんかな?
765デフォルトの名無しさん
2021/09/07(火) 10:32:46.11ID:SoS5+Qbw うちのpython3.8.5のシェル、pip install sympyが通らないからおかしいなーと思ってpip installを実行したらこれも通らないんだけど何故?
>>> pip install sympy
File "<stdin>", line 1
pip install sympy
^
SyntaxError: invalid syntax
>>> pip install
File "<stdin>", line 1
pip install
^
SyntaxError: invalid syntax
>>> pip install sympy
File "<stdin>", line 1
pip install sympy
^
SyntaxError: invalid syntax
>>> pip install
File "<stdin>", line 1
pip install
^
SyntaxError: invalid syntax
766デフォルトの名無しさん
2021/09/07(火) 10:50:57.04ID:SgLDDegk >>765
それはシェルじゃなくてPythonのインタプリタ
pip installはbashやzshみたいなシェルに入力するコマンド
Pythonのインタプリタは基本的にPythonのコードを入力するところ
それはシェルじゃなくてPythonのインタプリタ
pip installはbashやzshみたいなシェルに入力するコマンド
Pythonのインタプリタは基本的にPythonのコードを入力するところ
767デフォルトの名無しさん
2021/09/07(火) 11:05:44.28ID:E5TDGgcH >>764
色々試してみましたが、読み込みと言うよりメモリに一括で入れるのが原因で遅くなる感じのようです
d = fp.read() や d = ''.join(fp) や d = ''.join([x for x in fp])とか色々試しましたけど、これらの場合は遅くて
下記のようにfor文で連結させたら早くなりました
ネットとか見てもjoinの方が速いとか書いてるんですけどね
d = ''
for s in fp:
d += s
色々試してみましたが、読み込みと言うよりメモリに一括で入れるのが原因で遅くなる感じのようです
d = fp.read() や d = ''.join(fp) や d = ''.join([x for x in fp])とか色々試しましたけど、これらの場合は遅くて
下記のようにfor文で連結させたら早くなりました
ネットとか見てもjoinの方が速いとか書いてるんですけどね
d = ''
for s in fp:
d += s
768デフォルトの名無しさん
2021/09/07(火) 12:03:40.05ID:E5TDGgcH >>767
自己レスですけどマシンの問題のような気がします
Linuxでやってるとread()がめっちゃ遅いんですが、windowsだと変わらないくらい速いです。
寧ろ+=で代入とかしてる方はクソみたいに遅すぎて、なんでここまでの差が出るのか意味分からないくらいです
自己レスですけどマシンの問題のような気がします
Linuxでやってるとread()がめっちゃ遅いんですが、windowsだと変わらないくらい速いです。
寧ろ+=で代入とかしてる方はクソみたいに遅すぎて、なんでここまでの差が出るのか意味分からないくらいです
769デフォルトの名無しさん
2021/09/07(火) 12:18:31.34ID:hE/CNaTP770デフォルトの名無しさん
2021/09/07(火) 13:57:15.69ID:6nMAIx0t メモリ周りだとありがちなのは初回だけ遅くて2回目は早い(python用にメモリ空間を囲うから)だけどそうでもないならOSのファイルシステムの根っこのあたりが腐ってるとかかもな。
個人的に作ってるようなものだったらgoogle colabとかのクラウド実行環境でサクッと検証してみては?
個人的に作ってるようなものだったらgoogle colabとかのクラウド実行環境でサクッと検証してみては?
771デフォルトの名無しさん
2021/09/07(火) 14:25:01.03ID:QthkAqNV >必ず改行2連続で区切られたデータ
readlines() でループ回して一回ずつ飛ばせば良いだろうね
readlines() でループ回して一回ずつ飛ばせば良いだろうね
772デフォルトの名無しさん
2021/09/07(火) 15:00:03.49ID:GNL8Ud6q 改行3連続があった場合は?
773デフォルトの名無しさん
2021/09/07(火) 15:48:04.56ID:2tb+Xun1774デフォルトの名無しさん
2021/09/07(火) 18:18:55.32ID:SoS5+Qbw >>766
ありがとうございます。今度はシェルでpip install sympyが通ったんですが
pip installが通りません。
>pip install
ERROR: You must give at least one requirement to install (see "pip help install")
ありがとうございます。今度はシェルでpip install sympyが通ったんですが
pip installが通りません。
>pip install
ERROR: You must give at least one requirement to install (see "pip help install")
775デフォルトの名無しさん
2021/09/07(火) 18:42:45.52ID:o/q1by9H776デフォルトの名無しさん
2021/09/07(火) 18:46:56.75ID:9ZJa/YC2 d = ''
for s in fp:
__d += s
これは一番ダメな実装でしょ。
文字列はイミュータブルだから、メモリコピー量が2乗で増えていくことになる。
それでもマシンの能力が「十分」なうちは、他の実装より速いこともありうる、ってだけ。
for s in fp:
__d += s
これは一番ダメな実装でしょ。
文字列はイミュータブルだから、メモリコピー量が2乗で増えていくことになる。
それでもマシンの能力が「十分」なうちは、他の実装より速いこともありうる、ってだけ。
777デフォルトの名無しさん
2021/09/07(火) 19:35:15.63ID:yHN0q2ka >>776
ねーよ
ねーよ
778デフォルトの名無しさん
2021/09/07(火) 19:36:34.77ID:u7xHCyux >>773
sqlite3とどう関係が・・・??
sqlite3とどう関係が・・・??
779デフォルトの名無しさん
2021/09/07(火) 19:59:43.49ID:6nMAIx0t >>776
随分昔(※Java1.5の頃)から、「文字列結合は"+"ではなく、StringBufferを使うと処理が高速化する」ということが既に広く知られていました。
https://qiita.com/nkojima/items/0098dccbe4a593bc0306
みたいな話かな。
pythonだとどうなんだろ。
随分昔(※Java1.5の頃)から、「文字列結合は"+"ではなく、StringBufferを使うと処理が高速化する」ということが既に広く知られていました。
https://qiita.com/nkojima/items/0098dccbe4a593bc0306
みたいな話かな。
pythonだとどうなんだろ。
780デフォルトの名無しさん
2021/09/07(火) 20:23:56.12ID:SoS5+Qbw781デフォルトの名無しさん
2021/09/07(火) 20:25:59.15ID:yP3cXAjd pip list
782デフォルトの名無しさん
2021/09/07(火) 20:26:41.96ID:o/q1by9H >>780
節子、それやりたいならpip listや
節子、それやりたいならpip listや
783デフォルトの名無しさん
2021/09/07(火) 20:33:41.53ID:YcIWO4/P Elixir は片方向リストで、immutable だから、
先頭への追加ではコピーされないけど、
末尾へ追加するとコピーされる
つまり、先頭のみ最適化される
だから未だに、文字列を追加していく方法が分からない
先頭への追加ではコピーされないけど、
末尾へ追加するとコピーされる
つまり、先頭のみ最適化される
だから未だに、文字列を追加していく方法が分からない
784デフォルトの名無しさん
2021/09/07(火) 20:37:37.38ID:eKv4jfBm785デフォルトの名無しさん
2021/09/07(火) 21:31:13.42ID:8Blsw2sW CPythonでは最適化が入っていてO(n)になるんだけど使うなとPEP8に書いてある
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
For example, do not rely on CPython's efficient implementation of in-place string concatenation
or statements in the form a += b or a = a + b. This optimization is fragile even in CPython
(it only works for some types) and isn't present at all in implementations that don't use refcounting.
In performance sensitive parts of the library, the ''.join() form should be used instead.
https://www.python.org/dev/peps/pep-0008/#programming-recommendations
For example, do not rely on CPython's efficient implementation of in-place string concatenation
or statements in the form a += b or a = a + b. This optimization is fragile even in CPython
(it only works for some types) and isn't present at all in implementations that don't use refcounting.
In performance sensitive parts of the library, the ''.join() form should be used instead.
786デフォルトの名無しさん
2021/09/07(火) 23:20:45.23ID:Cp1uuQsT >>779
それってJavaの処理系がさぼっているだけだよねね
それってJavaの処理系がさぼっているだけだよねね
787デフォルトの名無しさん
2021/09/08(水) 00:39:17.00ID:jISXv5nw789デフォルトの名無しさん
2021/09/08(水) 15:56:50.49ID:45GUJlB8 重いcondaら
790デフォルトの名無しさん
2021/09/08(水) 16:50:53.30ID:B2IhbCSc 勉強するだけならcondaが便利
でも他システムと繋げにくい
でも他システムと繋げにくい
791デフォルトの名無しさん
2021/09/08(水) 17:27:10.26ID:tJQkvu8J formatで
0.1未満なら "5.2%"
0.1以上〜1.0未満なら "5.1%"
みたいに、全体の桁数は固定で値によって少数点以下を調整してくれるような簡易な方法ってないですか?(%だけでなく、fなんかでも)
formatだと丸められるので、単純に
if x >= 0.1 とかはできないので、一旦formatかけてからlenで桁が溢れてないかチェックしてるんですが、もうちょっとスマートな方法が無いものかと。
0.1未満なら "5.2%"
0.1以上〜1.0未満なら "5.1%"
みたいに、全体の桁数は固定で値によって少数点以下を調整してくれるような簡易な方法ってないですか?(%だけでなく、fなんかでも)
formatだと丸められるので、単純に
if x >= 0.1 とかはできないので、一旦formatかけてからlenで桁が溢れてないかチェックしてるんですが、もうちょっとスマートな方法が無いものかと。
792デフォルトの名無しさん
2021/09/08(水) 17:42:49.27ID:s8bChe9P 単に関数作っとけばいいんでないの?
793デフォルトの名無しさん
2021/09/08(水) 17:50:12.13ID:QqH5BAVe 何回か読み直したが
難解過ぎて俺には文章の意味がわからなかったよorz
難解過ぎて俺には文章の意味がわからなかったよorz
794デフォルトの名無しさん
2021/09/08(水) 17:51:41.60ID:45GUJlB8 ruby 使ってると馬鹿になりゅよ
795デフォルトの名無しさん
2021/09/08(水) 17:53:59.73ID:s8bChe9P >0.1未満なら "5.2%"
>0.1以上〜1.0未満なら "5.1%"
ここが逆になってるんだろ?
小数点以下が0.1以上の場合は全て0.2に統一って事じゃ無いの?
そうでないとしたら俺も理解不能だわ。
>0.1以上〜1.0未満なら "5.1%"
ここが逆になってるんだろ?
小数点以下が0.1以上の場合は全て0.2に統一って事じゃ無いの?
そうでないとしたら俺も理解不能だわ。
796デフォルトの名無しさん
2021/09/08(水) 18:59:48.32ID:XUjypBYd condaはバックアップ取ったりcloneできるのが便利。
797デフォルトの名無しさん
2021/09/08(水) 19:32:05.85ID:aHZlxj+w master.py上に実行したいスクリプトtestxx.py(xxは数字)がたくさんあります。
os.systemで引数を渡してtestxx.pyを実行しているのですが、testxx.pyからの戻り値を受け取る場合はどうしたら良いのでしょうか。標準出力の値なら取れるみたいな記述を見ましたが、実行中にprintを多様しているため、任意の戻り値のみを取得したいです。
os.systemで引数を渡してtestxx.pyを実行しているのですが、testxx.pyからの戻り値を受け取る場合はどうしたら良いのでしょうか。標準出力の値なら取れるみたいな記述を見ましたが、実行中にprintを多様しているため、任意の戻り値のみを取得したいです。
798791
2021/09/08(水) 20:04:49.50ID:tJQkvu8J 分かりにくくてすみませぬ
{x:5.2%} {x:5.1%} というformatで
xが0.1=10%、1.0=100% なので、
10%未満なら9.99% まで少数点2桁、
10%以上100%未満なら99.9% まで 少数点1桁
で表示してほしい、という意味です。
全体桁固定で少数点だけ変動するようなformatの表記、あるいはやり方は無いかなという質問です
{x:5.2%} {x:5.1%} というformatで
xが0.1=10%、1.0=100% なので、
10%未満なら9.99% まで少数点2桁、
10%以上100%未満なら99.9% まで 少数点1桁
で表示してほしい、という意味です。
全体桁固定で少数点だけ変動するようなformatの表記、あるいはやり方は無いかなという質問です
799デフォルトの名無しさん
2021/09/08(水) 20:42:07.84ID:s/O0A+9w こんなんで
x = 12.125
f'{x:.2f}'[:4]
x = 12.125
f'{x:.2f}'[:4]
800デフォルトの名無しさん
2021/09/09(木) 01:16:22.36ID:YDItKt7x numpyのメソッドzerosやonesなどは引数をタプルで指定することになっていますが、リストで指定しても実行できています。
特に問題ないように見えるのですが、タプルで指定した方がいい理由などあるのでしょうか?
特に問題ないように見えるのですが、タプルで指定した方がいい理由などあるのでしょうか?
801デフォルトの名無しさん
2021/09/09(木) 02:10:35.73ID:1BTdIMLT タプルは普遍だけれども、リストはそうでないから成長することを想定して必要以上の領域が確保されちゃうぶん効率が悪いとかあるんじゃね?知らんけど
802デフォルトの名無しさん
2021/09/09(木) 02:34:23.48ID:OKDvztcs sequenceの操作しかしてないから実際はlistでもOKないんじゃない?
onesの説明には
> Parameters: shape: int or sequence of ints
とあるしzeros側のメンテ漏れとか
onesの説明には
> Parameters: shape: int or sequence of ints
とあるしzeros側のメンテ漏れとか
803デフォルトの名無しさん
2021/09/09(木) 08:14:59.88ID:Ubp0J8aB >>799
%だと末尾に%が付くので…
%だと末尾に%が付くので…
804デフォルトの名無しさん
2021/09/09(木) 08:44:11.31ID:1BTdIMLT805デフォルトの名無しさん
2021/09/09(木) 14:16:43.72ID:3sOE3L2f806デフォルトの名無しさん
2021/09/09(木) 14:54:22.16ID:MjE68I3R807デフォルトの名無しさん
2021/09/09(木) 16:50:44.90ID:Ur+lRPYu これで良くない?
str_formatted = f"{val:.2%}"[:4] +"%"
str_formatted = f"{val:.2%}"[:4] +"%"
808デフォルトの名無しさん
2021/09/09(木) 16:58:17.08ID:MjE68I3R809デフォルトの名無しさん
2021/09/09(木) 17:03:24.41ID:s2e04Gy+ >>808
> 10%未満なら9.99% まで少数点2桁、
> 10%以上100%未満なら99.9% まで 少数点1桁
って言ってるのにわざわざ150%とか出してきてドヤるのは頭になんか障害でもあるのか?
> 10%未満なら9.99% まで少数点2桁、
> 10%以上100%未満なら99.9% まで 少数点1桁
って言ってるのにわざわざ150%とか出してきてドヤるのは頭になんか障害でもあるのか?
810デフォルトの名無しさん
2021/09/09(木) 17:16:30.91ID:MjE68I3R811デフォルトの名無しさん
2021/09/09(木) 17:32:52.06ID:3PF/LFW4 その>>798から引用してるんだけど…
マジでお前が読めよw
マジでお前が読めよw
812デフォルトの名無しさん
2021/09/09(木) 17:35:57.82ID:MjE68I3R813デフォルトの名無しさん
2021/09/09(木) 18:13:06.28ID:Ur+lRPYu 100%の値を渡した時に表示がおかしくなる書き方した俺が悪かった、すまん
境界値テストをちゃんとやってなかった証拠だな、マジでごめん
(実務でも似たような事やらかすからマジで反省しとる……)
境界値テストをちゃんとやってなかった証拠だな、マジでごめん
(実務でも似たような事やらかすからマジで反省しとる……)
814デフォルトの名無しさん
2021/09/10(金) 04:40:44.86ID:uZ6rg4vc815デフォルトの名無しさん
2021/09/10(金) 08:23:56.80ID:oazR15lu 質問とは趣旨違いだがコマンドラインアプリでもGUIでめプログレスバーや%進捗表示はまず回避してどうしてもって言われたら超シンプルにしろって昔言われたな。
境界値の扱いでバグりやすい。
ただ本質的なバグではないのに99.9%で完了するとか100.1%まで行くとかのバグ指摘を受けやすい。
あと業務のこと分かってない情シスが仕事してるフリするために何かレビュー指摘しようとして手をつけやすい。
(1%刻みで出力するけど10の倍数だけ太字にして目立たせろとか)
境界値の扱いでバグりやすい。
ただ本質的なバグではないのに99.9%で完了するとか100.1%まで行くとかのバグ指摘を受けやすい。
あと業務のこと分かってない情シスが仕事してるフリするために何かレビュー指摘しようとして手をつけやすい。
(1%刻みで出力するけど10の倍数だけ太字にして目立たせろとか)
816デフォルトの名無しさん
2021/09/10(金) 08:26:12.15ID:oazR15lu もっとも最悪なのは残り時間予測だけどな。
windowsですらあと5分ですって出してから30分かかったり30秒で済んだりするくらいだからよほど単純な処理じゃないと間違える。
テキストファイルのロードみたいな単純な処理でもメモリ圧迫するような挙動だとだんだん重くなるみたいなことあるし。
windowsですらあと5分ですって出してから30分かかったり30秒で済んだりするくらいだからよほど単純な処理じゃないと間違える。
テキストファイルのロードみたいな単純な処理でもメモリ圧迫するような挙動だとだんだん重くなるみたいなことあるし。
817デフォルトの名無しさん
2021/09/10(金) 11:45:28.24ID:NVBgm1WL 今までに作ったclassの中で一番行数が多いのってどれぐらいですか?
350行程度のclassでもちょっとわけ分からんようになってきたよ
350行程度のclassでもちょっとわけ分からんようになってきたよ
818デフォルトの名無しさん
2021/09/10(金) 16:59:22.38ID:1odBdOt6 それはこのクラスにはこの系統の処理を置くよ という役割分担が上手くなくて
読むときに負荷がかかってるからだと思うぬ
読むときに負荷がかかってるからだと思うぬ
819デフォルトの名無しさん
2021/09/10(金) 22:42:11.14ID:VqIPySM9 Austria, Croatia, Republic of, Congo, Democratic Republic of the
上記のような文字列があってそれをリストと化したいんだけどカンマでsplitしたりすると
'Croatia, Republic of', 'Congo, Democratic Republic of the'ではなく
'Croatia', 'Republic of', 'Congo', 'Democratic Republic of the'になるけど解決方法がわからないので教えてください。c
上記のような文字列があってそれをリストと化したいんだけどカンマでsplitしたりすると
'Croatia, Republic of', 'Congo, Democratic Republic of the'ではなく
'Croatia', 'Republic of', 'Congo', 'Democratic Republic of the'になるけど解決方法がわからないので教えてください。c
820デフォルトの名無しさん
2021/09/10(金) 23:04:37.11ID:6R6RVOqf821デフォルトの名無しさん
2021/09/10(金) 23:35:10.00ID:VqIPySM9 AustriaとCroatia, Republic ofとCongo, Democratic Republic of theの3つに分けたい
元々のデータはブラウザから手動で引っ張ってきてコピペした文字列なのでリストではないです
元々のデータはブラウザから手動で引っ張ってきてコピペした文字列なのでリストではないです
822デフォルトの名無しさん
2021/09/10(金) 23:52:18.65ID:LLuPU2aV 機械的に処理するルールを決めることがプログラミングだよ
とりあえずコンマで分けたあと小文字単語があれば前とくっつける、とやってみたいけど
それで全部うまくいくかね
とりあえずコンマで分けたあと小文字単語があれば前とくっつける、とやってみたいけど
それで全部うまくいくかね
823デフォルトの名無しさん
2021/09/10(金) 23:58:48.69ID:HeVTXR4t オーバースペックだけど
英名の住所は正規化するAPIやモジュールがあるから
それつかった方が楽だし応用効くよ
英名の住所は正規化するAPIやモジュールがあるから
それつかった方が楽だし応用効くよ
824デフォルトの名無しさん
2021/09/11(土) 00:22:54.56ID:ZpRElCEp 国名とそれ以外を分ける必要があるけど
別途国名のリストを拾ってきて、要素を検索しつつ仕分けすればできそう
まぁ、国名リストって時点でアンチョコ使ってるみたいですっきりしないのはおいといて…
別途国名のリストを拾ってきて、要素を検索しつつ仕分けすればできそう
まぁ、国名リストって時点でアンチョコ使ってるみたいですっきりしないのはおいといて…
825デフォルトの名無しさん
2021/09/11(土) 06:02:28.90ID:Ka5OzmL8 あんちょこって何?
826デフォルトの名無しさん
2021/09/11(土) 08:06:33.32ID:A67k4NSD pythonスクリプトを直接python test.pyって実行すると動くんですが、
bashからtest.pyを起動しようとすると「No module named websocket」と表示され失敗します。
sys.path.appendすると今度は「No module named selectors」と表示されます。
どなたか対処法をご存知でないでしょうか?
環境はCloud9のAmazon Linux 2です。
bashからtest.pyを起動しようとすると「No module named websocket」と表示され失敗します。
sys.path.appendすると今度は「No module named selectors」と表示されます。
どなたか対処法をご存知でないでしょうか?
環境はCloud9のAmazon Linux 2です。
827デフォルトの名無しさん
2021/09/11(土) 09:44:22.44ID:IblrjkB0 そのエラーメッセージで検索すれば?
828デフォルトの名無しさん
2021/09/11(土) 10:00:36.84ID:Dj6rAQzj829デフォルトの名無しさん
2021/09/11(土) 17:38:25.32ID:YCQOaCey >>825
カンニングみたいなニュアンス
この場合は、国名を分離するのに国名リスト使ったらそりゃうまく行くが、国名は200数個に限られているからその辺にいくらでも正しいデータ源が転がっているからいいけれど、
データ源を揃えきれないだろう世界の県名とかだったら成り立たず、うまくいかないだろうからモヤモヤするよねって感じだと思う
元のお題は自動処理するにはもともと筋悪だと思うけどね、バラになっちゃったやつを人間がチェックして結合するのが一番時間かからなくて確実そう
カンニングみたいなニュアンス
この場合は、国名を分離するのに国名リスト使ったらそりゃうまく行くが、国名は200数個に限られているからその辺にいくらでも正しいデータ源が転がっているからいいけれど、
データ源を揃えきれないだろう世界の県名とかだったら成り立たず、うまくいかないだろうからモヤモヤするよねって感じだと思う
元のお題は自動処理するにはもともと筋悪だと思うけどね、バラになっちゃったやつを人間がチェックして結合するのが一番時間かからなくて確実そう
830デフォルトの名無しさん
2021/09/11(土) 18:26:28.45ID:A67k4NSD831デフォルトの名無しさん
2021/09/11(土) 18:31:53.67ID:A67k4NSD bashから実行した時はなぜかpythonパッケージのパスが2.7になっているようです
832デフォルトの名無しさん
2021/09/11(土) 18:59:07.20ID:Dj6rAQzj >>831
LinuxとかMac環境で実行しようとしてるなら
python test.py ⇒Python2で実行する
python3 test.py ⇒Pyhthon3で実行する
っていう動きになる
とりあえずpython3 --version
を使って、そもそもpythonの3系が入ってるかを見た方が良い
入ってたら必要なライブラリをpython3 pip install〜で入れればOK
LinuxとかMac環境で実行しようとしてるなら
python test.py ⇒Python2で実行する
python3 test.py ⇒Pyhthon3で実行する
っていう動きになる
とりあえずpython3 --version
を使って、そもそもpythonの3系が入ってるかを見た方が良い
入ってたら必要なライブラリをpython3 pip install〜で入れればOK
833デフォルトの名無しさん
2021/09/11(土) 19:02:25.20ID:A67k4NSD834デフォルトの名無しさん
2021/09/12(日) 02:01:20.44ID:ysmJ7kfO linuxなんかだと、pip3とかできないの?
835デフォルトの名無しさん
2021/09/12(日) 11:08:57.22ID:PNU8wIel > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
836デフォルトの名無しさん
2021/09/15(水) 19:05:12.55ID:0q0CE+HI スクレイピングすると地獄へ落ちるって本当ですか?
837デフォルトの名無しさん
2021/09/15(水) 20:38:57.55ID:IoiHiFbB 392 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:01:39.47 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
9 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:02:48.45 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
294 名前: デフォルトの名無しさん (ワッチョイ e57f-dGLa) [sage] 投稿日: 2021/09/15(水) 19:07:23.60 ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
スクレイピングすると地獄へ落ちるって本当ですか?
9 名前: デフォルトの名無しさん (ワッチョイ 696a-dGLa) [sage] 投稿日: 2021/09/15(水) 19:02:48.45 ID:fHmj5hYp0
スクレイピングすると地獄へ落ちるって本当ですか?
294 名前: デフォルトの名無しさん (ワッチョイ e57f-dGLa) [sage] 投稿日: 2021/09/15(水) 19:07:23.60 ID:0q0CE+HI0
スクレイピングすると地獄へ落ちるって本当ですか?
838デフォルトの名無しさん
2021/09/16(木) 00:25:58.50ID:i5BIJ4kk 君の人生はもう地獄行きが確定してそうだから不安がるなよ
839デフォルトの名無しさん
2021/09/16(木) 09:38:24.19ID:I3VTO38j 5ちゃんに一日1000回書き込むと極楽浄土が約束されます
840デフォルトの名無しさん
2021/09/16(木) 12:46:14.58ID:AVL/loTg sphinxのスレってwebpg板にもweb製作板にもここにも無いのか
841デフォルトの名無しさん
2021/09/16(木) 12:56:20.01ID:ebDt5W+H 1)abc
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
みたいな文字列を")"の位置でsplitで分割したいとき、
1) と abc
のように分割文字も残したい場合、スマートな方法ありますか?
)でsplitして後から )を足す、という方法もあるかと思いますがなんかスマートでは無いですよね
re.splitならできるのかな?
842デフォルトの名無しさん
2021/09/16(木) 14:15:16.89ID:AVL/loTg re.findallでやってる例がググられた
843デフォルトの名無しさん
2021/09/16(木) 14:18:35.84ID:Q5AMtJ/i re.findall(r'(.+\))(.*)', '1)abc')
[('1)', 'abc')]
[('1)', 'abc')]
844デフォルトの名無しさん
2021/09/16(木) 14:22:48.45ID:AVL/loTg と思ったらそのサイトの下のほうに
python3.7からre.split()で行けると
a="alpha,beta,gamma"
import re
re.split("(?<=,)",a)
python3.7からre.split()で行けると
a="alpha,beta,gamma"
import re
re.split("(?<=,)",a)
845デフォルトの名無しさん
2021/09/16(木) 17:59:54.65ID:13aXyCX3 CentOS7(armv7l)
python3.6
/usr/localにgcc10.1.0インストールして/usr/lib/libstdc++.so.6を6.0.19→6.0.28に張り替えてある
pandasのバージョン下げたりしてみたけどimportの段階で駄目でした
誰か原因分かりますか?
$ LD_PRELOAD=/usr/local/lib/libstdc++.so.6 pipenv run python3 test.py
成功
$ pipenv run python3 test.py
失敗
…
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/local/lib/libstdc++.so.6: undefined symbol: libiconv
<test.py>
import pandas as pd
url = 'ヤフーファイナンスのurl'
print(pd.read_html(url))
$ ls -l /usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
python3.6
/usr/localにgcc10.1.0インストールして/usr/lib/libstdc++.so.6を6.0.19→6.0.28に張り替えてある
pandasのバージョン下げたりしてみたけどimportの段階で駄目でした
誰か原因分かりますか?
$ LD_PRELOAD=/usr/local/lib/libstdc++.so.6 pipenv run python3 test.py
成功
$ pipenv run python3 test.py
失敗
…
import pandas._libs.window.aggregations as window_aggregations
ImportError: /usr/local/lib/libstdc++.so.6: undefined symbol: libiconv
<test.py>
import pandas as pd
url = 'ヤフーファイナンスのurl'
print(pd.read_html(url))
$ ls -l /usr/local/lib/libstdc++.so.6
/usr/local/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
846デフォルトの名無しさん
2021/09/16(木) 18:14:47.89ID:TQVwbqUl nm でそのlibをスキャンしてみたら?
libiconvはどこにつながっている?
libiconvはどこにつながっている?
847デフォルトの名無しさん
2021/09/16(木) 18:59:56.78ID:13aXyCX3 >>846
libiconvはUで確かに未定義でした
libiconvはUで確かに未定義でした
848デフォルトの名無しさん
2021/09/16(木) 23:14:17.32ID:KHTFd4df pyton3上で地図に棒グラフを立てたいと思い、cesiumpyにたどり着きました。
インストール後、import cesiumpyを実行したことろ、
AttributeError: partially initialized module 'cesiumpy' has no attribute 'data' (most likely due to a circular import)
と出ます。回避方法等ご教示くださいませ。
インストール後、import cesiumpyを実行したことろ、
AttributeError: partially initialized module 'cesiumpy' has no attribute 'data' (most likely due to a circular import)
と出ます。回避方法等ご教示くださいませ。
849デフォルトの名無しさん
2021/09/16(木) 23:18:50.22ID:wbqs1W10 マイナーなライブラリについて質問しても答えてくれる人いないよ
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
circular importとか書かれてるけど、まさかそのファイル名がcesiumpy.pyだったりしないよね
850デフォルトの名無しさん
2021/09/16(木) 23:31:37.25ID:KHTFd4df851デフォルトの名無しさん
2021/09/17(金) 08:59:56.61ID:UtF7UwZj >>848
dependencyは満たしているか?
dependencyは満たしているか?
852デフォルトの名無しさん
2021/09/18(土) 01:57:16.35ID:lb+sAgRD スクレイピングの勉強するのですが、下手するとF5アタックになるとかの法的リスクと回避法を重視している入門書ってありますか?
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
今の所やりたいことは、特定の市町村の5年分気温気象データを収集して自分用に加工
近所のコインランドリーの稼働データを集計して空いてる確率が高い時間帯を調べるの2つです
前者は膨大なデータを取得する必要があります
後者は10分から20分おきにアクセスすることになります
853デフォルトの名無しさん
2021/09/18(土) 02:04:45.09ID:75qnM2AM854デフォルトの名無しさん
2021/09/18(土) 08:28:17.55ID:bA/qQPAi >コインランドリーの稼働データを集計して空いてる確率が高い時間帯
台風の最中は空いてそうだ
台風の最中は空いてそうだ
855デフォルトの名無しさん
2021/09/18(土) 08:29:01.24ID:BxqtlgPJ 正攻法は>>853だけど裏技的にやるんだったらMVNOのSIM契約してipとかUAを変えながらスクレイピング。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
向こうも機械アクセスだと気づきにくくなる。
ただカムフラしてまでやろうとしたということで相手に迷惑かけるかもって気持ちが入ることになるから訴えられたときには不利になる。
856デフォルトの名無しさん
2021/09/18(土) 08:41:27.45ID:+7IeVSKz >>852
図書館の例があるから無許可はもう何しても危ないよねっていうのが共通認識だと思うよ
図書館の例があるから無許可はもう何しても危ないよねっていうのが共通認識だと思うよ
857デフォルトの名無しさん
2021/09/18(土) 09:09:44.75ID:2a7FPWkS フォルダ内のファイルをenumerate()で一括連番リネームします
リネーム後の名前が既存かもしれないとき
1回目のループでexistsならパスとリネームを記録,大丈夫ならリネーム
2回目のループで記録したパスをリネーム
これで重複回避して全件リネームできますか?
手元ではできてる気がするんだけど,例外パターンがあるような気がする
(windowsのロングパスとか編集不可属性とか並び順の話は置いといてください)
--
元 : 新
000.txt → 1.txt
00.txt → 2.txt
1.txt → 3.txt
3.txt → 4.txt
こういうことがしたいのです
リネーム後の名前が既存かもしれないとき
1回目のループでexistsならパスとリネームを記録,大丈夫ならリネーム
2回目のループで記録したパスをリネーム
これで重複回避して全件リネームできますか?
手元ではできてる気がするんだけど,例外パターンがあるような気がする
(windowsのロングパスとか編集不可属性とか並び順の話は置いといてください)
--
元 : 新
000.txt → 1.txt
00.txt → 2.txt
1.txt → 3.txt
3.txt → 4.txt
こういうことがしたいのです
858デフォルトの名無しさん
2021/09/18(土) 09:33:30.24ID:jUwIv+ht e.txtがすでに存在していたらどうするん?
859デフォルトの名無しさん
2021/09/18(土) 09:34:02.57ID:jUwIv+ht 3.txtの間違い
860デフォルトの名無しさん
2021/09/18(土) 09:44:49.40ID:lb+sAgRD >>853-856
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
回答ありがとうございます
心配性なので許可を取る以外のリスク回避策も知りたいのです
例えば、プログラム書いてもバグでF5アタックレベルの猛烈なアクセスをすることってありえますよね
そういうのが起きないような安全装置の作り方
自前で作ったサーバにも同時にアクセスしてアクセス頻度を証明するログを取る(v6共有IP巻き添え捜査対策)
何らかの理由で訴えられたとき勝つための材料を集めておく
などの方法を教えてくれる書籍がないかと探しています
861デフォルトの名無しさん
2021/09/18(土) 09:46:54.79ID:BxqtlgPJ .netだとtempのファイル名を持ってくるメソッドがあったな。
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
個人用途でリネーム中に他人がファイル名を変更するという懸念がない条件ならランダム英数字の中間ファイル名を経由してリネームすればいいんじゃない?
企業ユースとかでしっかりやる必要のある処理かつリネーム中の障害とかまで考えるなら安直なリネームは処理中の状態が不安定だから禁忌だと言われるね。
ファイルコピーすると同時に名称変更してリネーム後のファイル群を作り完成したところで元ファイルを削除みたいな動作にする。
(もちろんスピードやディスク容量とかの要件とも相談)
862デフォルトの名無しさん
2021/09/18(土) 09:56:28.76ID:dDlDUvsj 対象フォルダにtmpフォルダ作ってそこにリネームして入れていけばいいんじゃ
863デフォルトの名無しさん
2021/09/18(土) 09:56:58.79ID:9Dfq3hh+ >>857
その方法だと下の3行のリネームも無理じゃね
0.txt→ 1.txt
1.txt→ 2.txt
2.txt→ 3.txt
俺は、1回目でリネームできないときは
uuid.uuid4().hex を付加してリネームして
2回目で、uuid.uuid4().hexを付加したファイルを、目的のファイル名にリネームしてる
その方法だと下の3行のリネームも無理じゃね
0.txt→ 1.txt
1.txt→ 2.txt
2.txt→ 3.txt
俺は、1回目でリネームできないときは
uuid.uuid4().hex を付加してリネームして
2回目で、uuid.uuid4().hexを付加したファイルを、目的のファイル名にリネームしてる
864デフォルトの名無しさん
2021/09/18(土) 10:04:11.39ID:bA/qQPAi >>857
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
000.txt -> 1.txt -> 2.txt -> 3.txt -> ... って無限に繰り返す危険は0と言い切れる?
865デフォルトの名無しさん
2021/09/18(土) 10:44:49.91ID:2a7FPWkS >>863
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
あーそうか…
じゃあexistsのときはunique_suffix付きでリネームして
最終的にケツ削る感じにします
uuid知らなかったんですが、いいですねこれ
今回は259文字制限下なのでアレだけど勉強になりました
866デフォルトの名無しさん
2021/09/18(土) 12:17:29.33ID:9Dfq3hh+867デフォルトの名無しさん
2021/09/18(土) 13:21:25.11ID:IiEq2a0h >>852
素人は、本番サーバーでテストしてはいけない。
素人のアプリは、バグで無限ループして、何万回もアクセスするから
必ずダウンロードして、自分のPC 内でテストしないといけない
それと本番サーバーに、100回とか繰り返しアクセスする場合は、
必ず、相手のrobots.txt を遵守すること!
または、相手と契約して、API を使うこと
基本、スクレイピングは営業妨害との戦い。
どの本にも、そう書いてある。
スクレイピングを推奨する本はない
必ず、robots.txt 遵守か、許可を得る、または契約すべき
山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
この動画では、Laravel で、マイナビ転職をスクレイピングしている。
27:40 から、robots.txt を調べている
素人は、本番サーバーでテストしてはいけない。
素人のアプリは、バグで無限ループして、何万回もアクセスするから
必ずダウンロードして、自分のPC 内でテストしないといけない
それと本番サーバーに、100回とか繰り返しアクセスする場合は、
必ず、相手のrobots.txt を遵守すること!
または、相手と契約して、API を使うこと
基本、スクレイピングは営業妨害との戦い。
どの本にも、そう書いてある。
スクレイピングを推奨する本はない
必ず、robots.txt 遵守か、許可を得る、または契約すべき
山浦清透、2021/6
【作業工程フル公開】エンジニアが30万円案件の制作過程を公開
www.youtube.com/watch?v=tYbVl6N8oxI
この動画では、Laravel で、マイナビ転職をスクレイピングしている。
27:40 から、robots.txt を調べている
868デフォルトの名無しさん
2021/09/18(土) 13:56:07.34ID:LBCfu3j9 どの本にも〜とか言う割に本は挙げないのな
869デフォルトの名無しさん
2021/09/18(土) 15:25:34.95ID:ZDaB5e5K selenium(ChromeDriver)で
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
すでにbuttonのWebElementまで取得している状態で、単にそれがクリック可能になるまで待つときはどう書けばいいの?
イメージは↓こんなだけどWebElementは引数に与えられないみたい。
WebDriverWait(driver, 5).until(
EC.element_to_be_clickable(button)
)
870デフォルトの名無しさん
2021/09/18(土) 15:34:01.38ID:aJjTmiOO 改めて locator を与えればいいんじゃね?
871デフォルトの名無しさん
2021/09/18(土) 15:58:23.33ID:9lUPAjpA ある条件を満たした時にプログラムを再起動したくて
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
subprocess.call(__file__, shell=True)
と記述してるんですが挙動がおかしいです
どうおかしいのかと言うと、プログラムを強制終了したい箇所で
sys.exit()
と記述してるんですが、そこでも再起動されてしまいます
どう改善したら良いでしょうか
872デフォルトの名無しさん
2021/09/18(土) 16:03:37.86ID:ZDaB5e5K >>870
WebElementオブジェクトからlocarorって取得可能?
今回のbuttonが、findで一意に特定できないエレメントだから、Waitの例でネットによく書いてあるBy.xxxの書き方だと、複数のbuttonがWaitの対象になってしまうんだよね
特定の1つのエレメントだけをwaitの対象にしたいのだが
WebElementオブジェクトからlocarorって取得可能?
今回のbuttonが、findで一意に特定できないエレメントだから、Waitの例でネットによく書いてあるBy.xxxの書き方だと、複数のbuttonがWaitの対象になってしまうんだよね
特定の1つのエレメントだけをwaitの対象にしたいのだが
873871
2021/09/18(土) 16:03:39.53ID:9lUPAjpA >>871の補足です
subprocess.call(__file__, shell=True)
で、一度再起動した後で、
sys.exit()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
subprocess.call(__file__, shell=True)
で、一度再起動した後で、
sys.exit()
を実行すると、強制終了しないで再起動してしまう挙動を何とかしたいということです
874デフォルトの名無しさん
2021/09/18(土) 16:17:13.98ID:9lUPAjpA875デフォルトの名無しさん
2021/09/18(土) 17:09:13.84ID:jUwIv+ht どう解決したのか書くのが礼儀やで
876デフォルトの名無しさん
2021/09/18(土) 18:13:33.17ID:J85RgKD5 頭のおかしい人に以下のようなことを言われました
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
>>基本、スクレイピングは営業妨害との戦い。
>>どの本にも、そう書いてある。
>>スクレイピングを推奨する本はない
具体的な書籍名を教えてください
>>5ch は、マルチポスト禁止!
>>同じ質問を、複数のスレや外部のサイトに書いてはいけない
どこでそんなルールが決まっているのでしょうか?
877デフォルトの名無しさん
2021/09/18(土) 18:30:17.02ID:6JilEPez マルチポストすんな
878デフォルトの名無しさん
2021/09/18(土) 18:53:11.55ID:b0edjBZj >>876
お前頭悪そうだな
お前頭悪そうだな
879デフォルトの名無しさん
2021/09/18(土) 18:54:45.08ID:+/kaLHzE880デフォルトの名無しさん
2021/09/19(日) 04:35:52.74ID:rCAdh0cW881デフォルトの名無しさん
2021/09/19(日) 05:44:05.93ID:yvbuOcQZ 肉塊って何?
882デフォルトの名無しさん
2021/09/19(日) 06:35:05.82ID:XiUCEd2G >>872
カスタム待機条件を作って elem.is_enabled() を返すのは?
カスタム待機条件を作って elem.is_enabled() を返すのは?
883デフォルトの名無しさん
2021/09/19(日) 15:05:50.16ID:snblcpQq884デフォルトの名無しさん
2021/09/22(水) 08:26:17.31ID:ykk+hhl9 Python3.9.7で、テキストボックスに右クリックメニューをつけたいのですがうまくいきません
input1 = tk.Entry(root,textvariable = x1_str, width = 5)
def show_right_click_menu(e):
____w = e.widget
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command=lambda: None if 0 else w.delete(w.index("sel.first"),w.index("sel.last")))
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
選択していない状態で削除を実行すると下記エラーがコンソールにでます
_tkinter.TclError: selection isn't in widget .!entry
エラーが表示されないようする方法をご教示いただけませんか
エラーが表示されるだけで問題なく動いていますが気持ち悪いので
input1 = tk.Entry(root,textvariable = x1_str, width = 5)
def show_right_click_menu(e):
____w = e.widget
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command=lambda: None if 0 else w.delete(w.index("sel.first"),w.index("sel.last")))
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
選択していない状態で削除を実行すると下記エラーがコンソールにでます
_tkinter.TclError: selection isn't in widget .!entry
エラーが表示されないようする方法をご教示いただけませんか
エラーが表示されるだけで問題なく動いていますが気持ち悪いので
885デフォルトの名無しさん
2021/09/22(水) 16:50:16.15ID:wN494UoL pythonで、いわゆるDBのコネクションプールのような、限られた複数資源をプールにして使い回す基本的な仕組みって何かありますか?
DBで使うわけではないので汎用的なものを想定してます
たとえば資源として5つのインスタンスがあり、要求側はそれのいずれかが空いていれば排他的に1つのインスタンスを獲得し、すべて獲得済みの場合は任意の時間待機させる、というイメージです
要求側は必要な処理が終わればインスタンスをプールに返します
キューを使ってできそうな気がしますがもう少し実装しやすいものとかありますかね?
DBで使うわけではないので汎用的なものを想定してます
たとえば資源として5つのインスタンスがあり、要求側はそれのいずれかが空いていれば排他的に1つのインスタンスを獲得し、すべて獲得済みの場合は任意の時間待機させる、というイメージです
要求側は必要な処理が終わればインスタンスをプールに返します
キューを使ってできそうな気がしますがもう少し実装しやすいものとかありますかね?
886デフォルトの名無しさん
2021/09/22(水) 20:35:20.60ID:N9zBagLQ >>885
しったかで書く
PyPIで多数ヒットするけど逆にこれってのはないからインターフェイスの好みで選択
どうせ中身はQueueかdeque
DB接続でいうとドライバやミドルウェアにだいたい専用のが付いてくる
しったかで書く
PyPIで多数ヒットするけど逆にこれってのはないからインターフェイスの好みで選択
どうせ中身はQueueかdeque
DB接続でいうとドライバやミドルウェアにだいたい専用のが付いてくる
887デフォルトの名無しさん
2021/09/22(水) 23:15:37.85ID:rplKfx8l888デフォルトの名無しさん
2021/09/23(木) 01:31:50.40ID:ERg2ncYO Pythonも最近ではそんな真面目な用途でも使われそうな感じになってきてるのか。
おじさんびっくりだわ。
おじさんびっくりだわ。
889デフォルトの名無しさん
2021/09/23(木) 02:31:58.77ID:GanDJT5R 独学プログラマーを読んで勉強始めた方いますか?
Amazonレビュー見ると意味不明なURLや冗長な表現など初心者を惑わせる表記があるようで
初心者向けとは言えないような印象を受けますが、通しで読むとちゃんと初心者向けになってるのでしょうか?
Amazonレビュー見ると意味不明なURLや冗長な表現など初心者を惑わせる表記があるようで
初心者向けとは言えないような印象を受けますが、通しで読むとちゃんと初心者向けになってるのでしょうか?
890デフォルトの名無しさん
2021/09/23(木) 09:05:11.72ID:aonnyzzk self taught programmerは英語版をパラパラと眺めた程度だけど、悪い本じゃないと思う
どの教材にも欠点はあるから、多少のことは気にせずにさっさと取り掛かったほうが良いと思う
初心者が自分にとって完璧な教材を見つけるのは無理
他の本のほうが良さそうなら他のでもいいし、無料のweb教材でもいいし
どの教材にも欠点はあるから、多少のことは気にせずにさっさと取り掛かったほうが良いと思う
初心者が自分にとって完璧な教材を見つけるのは無理
他の本のほうが良さそうなら他のでもいいし、無料のweb教材でもいいし
891デフォルトの名無しさん
2021/09/23(木) 09:37:27.55ID:aonnyzzk ちなみに『独学プログラマー』は「自力でプログラムを覚えて仕事を始めるまで」が一番大きなテーマであって
pythonのことを手取り足取り教える目的で書かれたものではない
単純にpythonの基本を学びたいだけなら、もう少し狭い内容を扱った他の本が良いかもしれない
pythonのことを手取り足取り教える目的で書かれたものではない
単純にpythonの基本を学びたいだけなら、もう少し狭い内容を扱った他の本が良いかもしれない
892デフォルトの名無しさん
2021/09/23(木) 11:14:45.24ID:zah9lHsX そもそも独学出来るようなプログラマーならそんな本読まなくても出来るからな
893デフォルトの名無しさん
2021/09/23(木) 12:55:36.27ID:aonnyzzk >そもそも独学出来るようなプログラマーならそんな本読まなくても出来るからな
これはその通りで、基礎的なことは全部ネットに無料で落ちているので、わざわざ本を買う必要はない。
本で学ぶのが好き、って人もいるだろうから全否定するつもりはないけど。
これはその通りで、基礎的なことは全部ネットに無料で落ちているので、わざわざ本を買う必要はない。
本で学ぶのが好き、って人もいるだろうから全否定するつもりはないけど。
894デフォルトの名無しさん
2021/09/23(木) 13:12:18.93ID:3iEJN86R spring bootは本買わないと無理あのntt data様が出してる奴
895デフォルトの名無しさん
2021/09/23(木) 15:24:28.97ID:Hq81xlZ0896デフォルトの名無しさん
2021/09/23(木) 15:26:56.89ID:xxtNZLaL LAPP?
897デフォルトの名無しさん
2021/09/23(木) 15:40:45.97ID:w4tdfW/t ApacheもNginxに移行
898デフォルトの名無しさん
2021/09/23(木) 15:50:02.39ID:Ru7FlOs1 Apache も Nginx に移行してるから LNPP かな?
899デフォルトの名無しさん
2021/09/23(木) 15:55:26.37ID:Sp5Iyysf いまさらPostgresが主流になるような感じはしないがな。
DBMS全体でPostgresのシェアは上がってきているがMySQLも同様にシェアを拡大している。
そもそも普及率が倍くらい違うし。
DBMS全体でPostgresのシェアは上がってきているがMySQLも同様にシェアを拡大している。
そもそも普及率が倍くらい違うし。
900デフォルトの名無しさん
2021/09/23(木) 16:00:23.97ID:Hq81xlZ0 MySQLはOracle→MySQLに意図的にOracleが動いてるみたいね
901デフォルトの名無しさん
2021/09/23(木) 16:18:46.38ID:Ru7FlOs1 まあ倍半分違う(対数スケールなので注意してね)からそうそう主流が入れ替わることはないと思うけど PostgreSQL と MongoDB が頑張ってるな
https://news.mynavi.jp/article/20200403-1009423/images/002l.jpg
https://news.mynavi.jp/article/20200403-1009423/images/002l.jpg
902デフォルトの名無しさん
2021/09/23(木) 16:20:47.11ID:/gKnAjHi postgreSQLは最近覚えたけどそこまでメリットは感じない
pythonから叩くにあたってmysqlから面倒くさい部分は増えた
pythonから叩くにあたってmysqlから面倒くさい部分は増えた
903デフォルトの名無しさん
2021/09/23(木) 17:48:30.88ID:LWGez+JK pip listでsympyが確認できるのに
>>> import sympy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sympy'
となるのはなぜですか?
>>> import sympy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'sympy'
となるのはなぜですか?
904デフォルトの名無しさん
2021/09/23(木) 18:00:58.85ID:3iEJN86R インタープリターに入らずにpip install sympyだって前ここで誰かが言ってた気がする
905デフォルトの名無しさん
2021/09/23(木) 18:05:30.32ID:cmFu96z6 実行したpipはver2系だったってのは(俺が)割とよくやるミス
906デフォルトの名無しさん
2021/09/23(木) 18:08:54.09ID:Hq81xlZ0 >>902
PostgreSQL用ドライバ必要だからな
PostgreSQL用ドライバ必要だからな
907デフォルトの名無しさん
2021/09/23(木) 18:23:39.46ID:QMUWvoXV908デフォルトの名無しさん
2021/09/23(木) 19:48:46.26ID:ERg2ncYO MySQLは単純かつ高速に動かしたい時は鉄板
909デフォルトの名無しさん
2021/09/23(木) 20:52:10.59ID:LWGez+JK910デフォルトの名無しさん
2021/09/23(木) 22:25:39.27ID:Ok65a0lv >>884
自己解決しました
def show_right_click_menu(e):
____w = e.widget
____def show_right_click_menu_delete():
________nonlocal w
________try:
____________w.delete(w.index("sel.first"),w.index("sel.last"))
________except:
____________pass
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command= show_right_click_menu_delete)
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
tkinterがよく分からない
次は、undo redo をなんとかしたい
自己解決しました
def show_right_click_menu(e):
____w = e.widget
____def show_right_click_menu_delete():
________nonlocal w
________try:
____________w.delete(w.index("sel.first"),w.index("sel.last"))
________except:
____________pass
____right_click_menu.entryconfigure("切り取り",
____command=lambda: w.event_generate("<<Cut>>"))
____right_click_menu.entryconfigure("コピー",
____command=lambda: w.event_generate("<<Copy>>"))
____right_click_menu.entryconfigure("貼り付け",
____command=lambda: w.event_generate("<<Paste>>"))
____right_click_menu.entryconfigure("削除",
____command= show_right_click_menu_delete)
____right_click_menu.entryconfigure("すべて選択",
____command=lambda: w.select_range(0, "end"))
____right_click_menu.tk.call("tk_popup", right_click_menu, e.x_root, e.y_root)
tkinterがよく分からない
次は、undo redo をなんとかしたい
911デフォルトの名無しさん
2021/09/24(金) 00:17:26.60ID:wqDlteq1 >>867
レス遅れてしまい申し訳ありません
時間つくっていくつか書籍を立ち読みしてみましたが
訴えられる前提でスクレイピングする本は当たり前のようにありませんでした
テストサーバでプログラム作ってから、相手に連絡した上で動作させるのが最低限のマナーで
あとはもう自分で創意工夫して逮捕防ぐしか無いですね
レス遅れてしまい申し訳ありません
時間つくっていくつか書籍を立ち読みしてみましたが
訴えられる前提でスクレイピングする本は当たり前のようにありませんでした
テストサーバでプログラム作ってから、相手に連絡した上で動作させるのが最低限のマナーで
あとはもう自分で創意工夫して逮捕防ぐしか無いですね
912デフォルトの名無しさん
2021/09/24(金) 08:20:48.10ID:KibxKmAg >>730
このpython3.8だとproxy繋がるけど3.9だとダメになる問題は自分自身で解決しますた。
https://github.com/psf/requests/issues/5740
こことかそのリンク先に書いてある。
社内環境でセキュリティのためproxyでHTTPS通信を復号化してるんだけどそんな特定条件で起こるらしい。
.condarcのhttpsのproxyをサンプルを真似してhttps://hogehogeって書いてたけどhttpに修正したら繋がるようになった。
このpython3.8だとproxy繋がるけど3.9だとダメになる問題は自分自身で解決しますた。
https://github.com/psf/requests/issues/5740
こことかそのリンク先に書いてある。
社内環境でセキュリティのためproxyでHTTPS通信を復号化してるんだけどそんな特定条件で起こるらしい。
.condarcのhttpsのproxyをサンプルを真似してhttps://hogehogeって書いてたけどhttpに修正したら繋がるようになった。
913デフォルトの名無しさん
2021/09/24(金) 08:36:42.56ID:EhTNSQ6t ニシキヘビともんごイカか
LNPyM
LNPyM
914デフォルトの名無しさん
2021/09/24(金) 09:00:12.81ID:sjjiTDvK pandasで下の様なデータフレームOLD,NEWがあります。
df_OLD
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
df_NEW
商品名 価格 種類
0 バナナ 120 フルーツ
1 トマト 130 野菜
OLDとNEWを商品名で比較して、一致した場合にNEWの値と置き換えたいときってどの様にしたら良いのでしょう?
一気に比較してくれる方法とかあるんでしょうか?
1行ずつ比較しないといけないのでしょうか?
df_OLD
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
df_NEW
商品名 価格 種類
0 バナナ 120 フルーツ
1 トマト 130 野菜
OLDとNEWを商品名で比較して、一致した場合にNEWの値と置き換えたいときってどの様にしたら良いのでしょう?
一気に比較してくれる方法とかあるんでしょうか?
1行ずつ比較しないといけないのでしょうか?
915デフォルトの名無しさん
2021/09/24(金) 09:05:37.12ID:wqUtxwi5 >>914
価格の値を更新すれば良いのかな?
pandas.DataFrame.update でいかがでしょう
公式
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.update.html
日本語の参考記事は適当に検索すれば出てくる
価格の値を更新すれば良いのかな?
pandas.DataFrame.update でいかがでしょう
公式
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.update.html
日本語の参考記事は適当に検索すれば出てくる
916デフォルトの名無しさん
2021/09/24(金) 09:08:51.13ID:KibxKmAg updateは?
917デフォルトの名無しさん
2021/09/24(金) 09:29:05.87ID:sjjiTDvK >>915-916
後出しみたいになって申し訳ありません。
update試しましたが、同一行を置き換えるのですね。
やりたいこととしては、NEWの方は並び順は一致せず、
さらに新規データの追加やキーとなる列(商品名)以外の内容の変更もしたいのです。
df_NEW
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
後出しみたいになって申し訳ありません。
update試しましたが、同一行を置き換えるのですね。
やりたいこととしては、NEWの方は並び順は一致せず、
さらに新規データの追加やキーとなる列(商品名)以外の内容の変更もしたいのです。
df_NEW
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
918デフォルトの名無しさん
2021/09/24(金) 09:37:04.32ID:wqUtxwi5 やりたいことが良く分からないんだけど
(1) df_NEW のデータは全て保持したい
(2) df_OLD にあるもので、df_NEWに無いものはdf_NEWに追加したい
という解釈でも良いのかな?
それなら df_NEWと df_OLD の差分をとって、そのうちdf_NEWに欠けているものをdf_OLDから追加するという方法でも良い?
(1) df_NEW のデータは全て保持したい
(2) df_OLD にあるもので、df_NEWに無いものはdf_NEWに追加したい
という解釈でも良いのかな?
それなら df_NEWと df_OLD の差分をとって、そのうちdf_NEWに欠けているものをdf_OLDから追加するという方法でも良い?
919デフォルトの名無しさん
2021/09/24(金) 09:38:42.26ID:sjjiTDvK920デフォルトの名無しさん
2021/09/24(金) 09:43:23.68ID:wqUtxwi5 >>919
df_NEWというのはすでにpandas.DataFrameの形で持っているということで良いですか?
その場合、df_NEWに入っている値は全て正しい(更新する必要はない)ということになりますよね。おそらく。
それならdf_OLDを更新するという発想にこだわる必要はなくて、NEW無いものをOLDから追加するという発想に転換しても良いのでは?
その場合、私ならmergeを使うと思います。
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html
df_NEWというのはすでにpandas.DataFrameの形で持っているということで良いですか?
その場合、df_NEWに入っている値は全て正しい(更新する必要はない)ということになりますよね。おそらく。
それならdf_OLDを更新するという発想にこだわる必要はなくて、NEW無いものをOLDから追加するという発想に転換しても良いのでは?
その場合、私ならmergeを使うと思います。
https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html
921デフォルトの名無しさん
2021/09/24(金) 09:46:08.06ID:sjjiTDvK922デフォルトの名無しさん
2021/09/24(金) 10:15:48.12ID:sjjiTDvK 現状のままだと、希望結果=NEWになってしまうので少し変更して試しました。
df_New2=pd.merge(ldf_New ,ldf_Old,on=['商品名'],how='outer')
df_Old**************************************************
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
2 人参 50 野菜C
df_New**************************************************
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
df_New2**************************************************
商品名 価格_x 種類_x 価格_y 種類_y
0 スイカ 150.0 野菜 NaN NaN
1 バナナ 120.0 フルーツ 100.0 フルーツ
2 トマト 130.0 野菜B 150.0 野菜
3 人参 NaN NaN 50.0 野菜C
df_New2=pd.merge(ldf_New ,ldf_Old,on=['商品名'],how='outer')
df_Old**************************************************
商品名 価格 種類
0 バナナ 100 フルーツ
1 トマト 150 野菜
2 人参 50 野菜C
df_New**************************************************
商品名 価格 種類
0 スイカ 150 野菜
1 バナナ 120 フルーツ
2 トマト 130 野菜B
df_New2**************************************************
商品名 価格_x 種類_x 価格_y 種類_y
0 スイカ 150.0 野菜 NaN NaN
1 バナナ 120.0 フルーツ 100.0 フルーツ
2 トマト 130.0 野菜B 150.0 野菜
3 人参 NaN NaN 50.0 野菜C
923デフォルトの名無しさん
2021/09/24(金) 10:16:10.57ID:sjjiTDvK しかし希望する結果は以下のとおりです。
この様にしたい場合どうしたら良いのでしょう?
df_New2**************************************************
商品名 価格 種類
0 スイカ 150.0 野菜
1 バナナ 120.0 フルーツ
2 トマト 130.0 野菜B
3 人参 50.0 野菜C
この様にしたい場合どうしたら良いのでしょう?
df_New2**************************************************
商品名 価格 種類
0 スイカ 150.0 野菜
1 バナナ 120.0 フルーツ
2 トマト 130.0 野菜B
3 人参 50.0 野菜C
924デフォルトの名無しさん
2021/09/24(金) 10:17:19.90ID:sjjiTDvK すみません。式は以下です
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer')
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer')
925デフォルトの名無しさん
2021/09/24(金) 10:34:25.61ID:KibxKmAg 日本語で仕様が決まったらまたご相談くださいって感じかな。
その場合はこうして欲しいってのがコロコロ変わりそう。
その場合はこうして欲しいってのがコロコロ変わりそう。
926デフォルトの名無しさん
2021/09/24(金) 11:00:59.24ID:+y7bOBPx 正規表現のfindall()の挙動について質問です
内線を含む電話番号に対する正規表現パターンを用意(現在使用している参考書のコピペ)し、
適当な番号を与えfindall()で取得したリストを出力しました
コードは↓に
https://techiedelight.com/compiler/?22O5
結果としては print(regex.findall('012-345-6789 x 123')) に対し、出力が
[('012-345-6789 x 123', '012', '-', '-', ' x 123', 'x')]
だったのですが、何故こうなるのか解りません
'012-345-6789 x 123', '012', '-', までは解るのですが、なぜそのあと '345' や '6789' が取得されず、
また、'x 123' の取得後に 'x' だけが取得されるのでしょうか
内線を含む電話番号に対する正規表現パターンを用意(現在使用している参考書のコピペ)し、
適当な番号を与えfindall()で取得したリストを出力しました
コードは↓に
https://techiedelight.com/compiler/?22O5
結果としては print(regex.findall('012-345-6789 x 123')) に対し、出力が
[('012-345-6789 x 123', '012', '-', '-', ' x 123', 'x')]
だったのですが、何故こうなるのか解りません
'012-345-6789 x 123', '012', '-', までは解るのですが、なぜそのあと '345' や '6789' が取得されず、
また、'x 123' の取得後に 'x' だけが取得されるのでしょうか
927デフォルトの名無しさん
2021/09/24(金) 11:27:05.39ID:fM0vlPdr 必要な部分は()で囲え
不要な部分は(?:)にしろ
不要な部分は(?:)にしろ
928デフォルトの名無しさん
2021/09/24(金) 12:00:20.17ID:+y7bOBPx >>927
あ〜〜途中の \d{3} などは () で囲われてないからグルーピングされてないために弾かれちゃってたんですね
以下のようにして
https://techiedelight.com/compiler/?SVye
以下の出力結果を得ることができました
[('012-345-6789 x 123', '012', '-', '345', '-', '6789', ' x 123', 'x')]
最後に取得されている x については (?:) を使用するんでしょうか?
(?:) という記法についてまだ知らないので調べてみます
レスありがとうございました
あ〜〜途中の \d{3} などは () で囲われてないからグルーピングされてないために弾かれちゃってたんですね
以下のようにして
https://techiedelight.com/compiler/?SVye
以下の出力結果を得ることができました
[('012-345-6789 x 123', '012', '-', '345', '-', '6789', ' x 123', 'x')]
最後に取得されている x については (?:) を使用するんでしょうか?
(?:) という記法についてまだ知らないので調べてみます
レスありがとうございました
929デフォルトの名無しさん
2021/09/24(金) 12:10:24.86ID:sjjiTDvK いろいろ試して、以下で思う様な結果を得る事ができました。
アドバイスありがとうございました。
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer',suffixes=("","_d"))
df_New2['価格'].fillna(df_New2['価格_d'], inplace=True)
df_New2['種類'].fillna(df_New2['種類_d'], inplace=True)
df_New2.drop(['価格_d','種類_d'], axis=1)
上記2行目と3行目ってまとめて書いたり、”_d”で終わる列とかで指定できるのでしょうか?
アドバイスありがとうございました。
df_New2=pd.merge(df_New,df_Old,on=['商品名'],how='outer',suffixes=("","_d"))
df_New2['価格'].fillna(df_New2['価格_d'], inplace=True)
df_New2['種類'].fillna(df_New2['種類_d'], inplace=True)
df_New2.drop(['価格_d','種類_d'], axis=1)
上記2行目と3行目ってまとめて書いたり、”_d”で終わる列とかで指定できるのでしょうか?
930デフォルトの名無しさん
2021/09/24(金) 12:12:56.73ID:/f3Q922M >>923
それだったら、同じ商品名のデータを上書きするっていう考え方じゃなくて、
oldだけに有ってnewに無いデータだけ抽出して
それをnew側のdfにくっ付けるってやり方があるかな
一応、想定通りには動くけど
大分不細工なやり方になっちゃったから許して……
https://ideone.com/oxdsR3
それだったら、同じ商品名のデータを上書きするっていう考え方じゃなくて、
oldだけに有ってnewに無いデータだけ抽出して
それをnew側のdfにくっ付けるってやり方があるかな
一応、想定通りには動くけど
大分不細工なやり方になっちゃったから許して……
https://ideone.com/oxdsR3
931デフォルトの名無しさん
2021/09/24(金) 12:23:17.91ID:sjjiTDvK del_old_df = old_df[old_df["商品名"].isin(new_df["商品名"])]
こんなこともできるんですね。ありがとうございます。
こっちの方がてっとり早いですね。
こんなこともできるんですね。ありがとうございます。
こっちの方がてっとり早いですね。
932デフォルトの名無しさん
2021/09/24(金) 16:46:18.89ID:EhTNSQ6t sympyがあれば中学の数学の基礎までなら
933デフォルトの名無しさん
2021/09/24(金) 17:00:32.91ID:41w/BiYs934デフォルトの名無しさん
2021/09/24(金) 17:01:28.66ID:ZghczHx7 ファイルの最後の行に
return 1
と書くと、「SyntaxError: 'return' outside function」
というエラーが出てしまいます
ファイルの最後の行に書く必要はないってことですか?
return 1
と書くと、「SyntaxError: 'return' outside function」
というエラーが出てしまいます
ファイルの最後の行に書く必要はないってことですか?
935デフォルトの名無しさん
2021/09/24(金) 17:02:20.29ID:LxZpM9VS 書く必要がないではなく書いてはいけない
936デフォルトの名無しさん
2021/09/24(金) 17:06:17.94ID:ZghczHx7 関数の最後の行には書くのに
ファイルの最後の行に書いちゃいけないのは何故ですか?
ファイルの最後の行に書いちゃいけないのは何故ですか?
937デフォルトの名無しさん
2021/09/24(金) 17:13:47.22ID:YQZl96Xn どこに戻るんだよ?
938デフォルトの名無しさん
2021/09/24(金) 17:15:32.95ID:ZghczHx7 では、親プロセスに戻る時に
どうやって戻り値を返すんですか?
どうやって戻り値を返すんですか?
939デフォルトの名無しさん
2021/09/24(金) 17:36:24.36ID:TJ6IbgR5 sys.exit()
940デフォルトの名無しさん
2021/09/24(金) 18:11:39.61ID:ZghczHx7941デフォルトの名無しさん
2021/09/24(金) 19:58:52.71ID:cH5BLcev もしかして
1 名前順並び
2 ファイル名は任意
という条件で
指定したファイルの1つ下に新規ファイルを保存する
って難しいですか?
makeChildPathName()みたいな関数が作りたい
https://i.imgur.com/Oa07h0G.png
2番目のファイルパスを指定したら2番目と3番目の間に新規ファイルを挿入保存したいということです
1 名前順並び
2 ファイル名は任意
という条件で
指定したファイルの1つ下に新規ファイルを保存する
って難しいですか?
makeChildPathName()みたいな関数が作りたい
https://i.imgur.com/Oa07h0G.png
2番目のファイルパスを指定したら2番目と3番目の間に新規ファイルを挿入保存したいということです
942デフォルトの名無しさん
2021/09/24(金) 20:28:15.14ID:zSlDj9mb 任意のフォルダ下のファイル名を取得して自分で並べ替えて挿入すればいいじゃん。
自分だったらWindowsのファイルの並び順の仕様を調べてPython側で同じように並べ替える。
それがめんどくさければsubprocessでDIRの結果を取ってくる。
「間に入るように」の部分は仕様が不明確だから答えようがない。
もし仕事なら_001とかつければいいと思ってるなら危険。
挿入されるファイルの規則に沿ったファイルがあらかじめ存在した場合にどうすればいいのかとか元のファイル名がパス260文字のギリギリまであったらどうするかとかまで詰めないと。
自分だったらWindowsのファイルの並び順の仕様を調べてPython側で同じように並べ替える。
それがめんどくさければsubprocessでDIRの結果を取ってくる。
「間に入るように」の部分は仕様が不明確だから答えようがない。
もし仕事なら_001とかつければいいと思ってるなら危険。
挿入されるファイルの規則に沿ったファイルがあらかじめ存在した場合にどうすればいいのかとか元のファイル名がパス260文字のギリギリまであったらどうするかとかまで詰めないと。
943デフォルトの名無しさん
2021/09/24(金) 21:20:10.36ID:/dwjMJ8P944デフォルトの名無しさん
2021/09/24(金) 21:53:51.05ID:Kyc5NeAQ945デフォルトの名無しさん
2021/09/25(土) 06:29:33.65ID:dHZYhTax plot_surfが僅か3600座標の描画で20分以上掛かる
点の散布図なら100万座標でも1分未満だが
点の散布図なら100万座標でも1分未満だが
946デフォルトの名無しさん
2021/09/25(土) 11:31:35.29ID:lBxoEpbF windowsはcmdプロンプトでdirした順番と
explorerで観れる順番がそもそも違うし
sortしても解決しないω
explorerで観れる順番がそもそも違うし
sortしても解決しないω
947デフォルトの名無しさん
2021/09/25(土) 11:32:33.68ID:lBxoEpbF >>945
meshにしてる?
meshにしてる?
948デフォルトの名無しさん
2021/09/25(土) 14:13:18.95ID:hl+7wKHR >>946
explorerでってんだからAPIソート1択でしょ。そこは
explorerでってんだからAPIソート1択でしょ。そこは
949デフォルトの名無しさん
2021/09/27(月) 19:04:05.97ID:EG3c4N9U 辞書のkeyに対するリスト型のvalueを使いやすいように良い感じに分解したい、または取り出したいんですがどうやれば良いんでしょう?
950デフォルトの名無しさん
2021/09/27(月) 19:15:37.57ID:UiRgP5VH ちょっと何言ってるかわかんない
951デフォルトの名無しさん
2021/09/27(月) 19:23:20.36ID:EG3c4N9U 値がリストなんですよ
952デフォルトの名無しさん
2021/09/27(月) 19:26:32.30ID:h2Q4WFZZ ただの2次元データだから
keyとリストのindexで2回解決したら任意のデータにはたどり着けるけど
どう扱いたいのか目的がわからんとなんとも
keyとリストのindexで2回解決したら任意のデータにはたどり着けるけど
どう扱いたいのか目的がわからんとなんとも
953デフォルトの名無しさん
2021/09/27(月) 19:38:34.45ID:E71fEMCh >>951
リストなら分解する必要なくね?
リストなら分解する必要なくね?
954デフォルトの名無しさん
2021/09/27(月) 21:43:37.37ID:EG3c4N9U 分解しないでどうやって辞書の値のリストを取り出せば良いのですか?
955デフォルトの名無しさん
2021/09/27(月) 21:45:21.63ID:hDBwg8Mc956デフォルトの名無しさん
2021/09/27(月) 21:48:03.64ID:NoJANVQi どっかのサイトからパクってきた
data = { "in_channels": [1024, 1024, 512, 256, 128], "out_channels": [1024, 512, 256, 128, 64], "upsample": [True, True, True, True, True], "resolution": [8, 16, 32, 64, 128], "attention": { 8: False, 16:False, 32:False, 64:True, 128:False } }
for seq in zip(*(v.values() if type(v) is dict else v for v in data.values())):
print(seq)
data = { "in_channels": [1024, 1024, 512, 256, 128], "out_channels": [1024, 512, 256, 128, 64], "upsample": [True, True, True, True, True], "resolution": [8, 16, 32, 64, 128], "attention": { 8: False, 16:False, 32:False, 64:True, 128:False } }
for seq in zip(*(v.values() if type(v) is dict else v for v in data.values())):
print(seq)
957デフォルトの名無しさん
2021/09/27(月) 21:55:01.96ID:NoJANVQi958デフォルトの名無しさん
2021/09/27(月) 22:01:54.51ID:h2Q4WFZZ 取り出すというのが削り出すの意味なら
>>> d = {2: [21,22], 3: [31,32,33], 4: [41,42,43,44]}
>>> d.pop(3)
[31, 32, 33]
>>> d
{2: [21, 22], 4: [41, 42, 43, 44]}
>>> d = {2: [21,22], 3: [31,32,33], 4: [41,42,43,44]}
>>> d.pop(3)
[31, 32, 33]
>>> d
{2: [21, 22], 4: [41, 42, 43, 44]}
959デフォルトの名無しさん
2021/09/27(月) 22:05:54.30ID:NoJANVQi 間違えた
arr = {'key1': [1, 2, [['target', ], ], ], }
print(arr['key1'][2][0])
私も勉強中です
arr = {'key1': [1, 2, [['target', ], ], ], }
print(arr['key1'][2][0])
私も勉強中です
960デフォルトの名無しさん
2021/09/27(月) 22:10:19.33ID:EG3c4N9U 全然わかんないっす…w
イメージ的には辞書に、test1とtest2というキーがあって、
test1のvalueがリスト形式で
name, tanaka
age, 30
のときに
printでnameとtanaka を表示させたいです
イメージ的には辞書に、test1とtest2というキーがあって、
test1のvalueがリスト形式で
name, tanaka
age, 30
のときに
printでnameとtanaka を表示させたいです
961デフォルトの名無しさん
2021/09/27(月) 22:21:28.01ID:2GjWPTj5962デフォルトの名無しさん
2021/09/27(月) 22:33:02.74ID:jqnAXCBZ963デフォルトの名無しさん
2021/09/27(月) 23:04:44.30ID:EG3c4N9U おお、こんなサイトあるんですね
ちょっと勉強がてら実データ入れてやってみます!ありがとうございます
ちょっと勉強がてら実データ入れてやってみます!ありがとうございます
964デフォルトの名無しさん
2021/09/28(火) 00:08:18.44ID:6t0zGqaE >>962
>>> for _, name, _, age in data.values():
... print(name, age)
...
tanaka 30
suzuki 28
>>> for key, [_, name, _, age] in data.items():
keyがほしれば
>>> for _, name, _, age in data.values():
... print(name, age)
...
tanaka 30
suzuki 28
>>> for key, [_, name, _, age] in data.items():
keyがほしれば
965デフォルトの名無しさん
2021/09/28(火) 08:23:37.75ID:QDSiHXp+ >>960-961
この流れ完璧に各地の現場で毎年繰り返される先輩と後輩の間のやりとりだな。
こうしたいんですって説明させることで質問者の脳みそが活性化されて問題の90%くらいは解消される。
残り1割は便利なメソッドややり方を知ってるかどうかだけという。
この流れ完璧に各地の現場で毎年繰り返される先輩と後輩の間のやりとりだな。
こうしたいんですって説明させることで質問者の脳みそが活性化されて問題の90%くらいは解消される。
残り1割は便利なメソッドややり方を知ってるかどうかだけという。
966デフォルトの名無しさん
2021/09/28(火) 12:44:54.83ID:EdXmOL1P openpyxlで指定の範囲例えばA1:C5のセルの外枠だけ罫線引くのはどうすれば良いですか?
967デフォルトの名無しさん
2021/09/28(火) 14:22:03.09ID:nD0g4rLv968デフォルトの名無しさん
2021/09/28(火) 15:05:35.43ID:EdXmOL1P >>967
んー、あまり参考にならなかったんですけど結局はセルの1つずつでしか罫線引けないんで
複数範囲のセルの外枠のみを引こうと思うとforで回して上下左右辺のみの時だけ対象の罫線引くって処理にするしか無いんですかね
んー、あまり参考にならなかったんですけど結局はセルの1つずつでしか罫線引けないんで
複数範囲のセルの外枠のみを引こうと思うとforで回して上下左右辺のみの時だけ対象の罫線引くって処理にするしか無いんですかね
969デフォルトの名無しさん
2021/09/28(火) 15:19:16.11ID:936Pqhrd だったら最初から1発で線引くことできますか?って聞けや
970デフォルトの名無しさん
2021/09/28(火) 15:28:04.89ID:EdXmOL1P すみません、openpyxlで指定の範囲の外枠のみの罫線を1発で引く方法ありますか?
971デフォルトの名無しさん
2021/09/28(火) 16:13:38.41ID:hcEOSxvd ライブラリ純正のやり方ではない。
こういうの発明してる人がたくさんいるから見栄えが良いのを適当にどうぞ。
https://stackoverflow.com/questions/34520764/apply-border-to-range-of-cells-using-openpyxl
こういうの発明してる人がたくさんいるから見栄えが良いのを適当にどうぞ。
https://stackoverflow.com/questions/34520764/apply-border-to-range-of-cells-using-openpyxl
972デフォルトの名無しさん
2021/09/29(水) 11:36:55.19ID:H8LnbJn1 pythonのコマンドライン引数にJSON.stringifyした辞書を含む配列を渡すと、
辞書の中身が配列として分割されてしまいます。どうしたら辞書をそのまま渡せるのでしょう?
VSコードに渡した引数
"args":["[{¥"test¥":¥"a¥",¥"testB¥":¥"b¥"}]"]
argv[1]:'["test":"a"]'
argv[2]:’[“testB”:”b”]’
辞書の中身が配列として分割されてしまいます。どうしたら辞書をそのまま渡せるのでしょう?
VSコードに渡した引数
"args":["[{¥"test¥":¥"a¥",¥"testB¥":¥"b¥"}]"]
argv[1]:'["test":"a"]'
argv[2]:’[“testB”:”b”]’
973デフォルトの名無しさん
2021/09/29(水) 12:33:40.08ID:vWqip1VL 普通はコマンドライン引数に、JSON などのオブジェクトの構造物を渡さない。
構造物はファイルにまとめて、アプリ内で、そのファイルを読み込む
コマンドライン引数は、「a b c」みたいな空白区切りの文字列だけ
構造物はファイルにまとめて、アプリ内で、そのファイルを読み込む
コマンドライン引数は、「a b c」みたいな空白区切りの文字列だけ
974デフォルトの名無しさん
2021/09/29(水) 13:02:17.67ID:H8LnbJn1 ありがとうございます。
配列のみだと問題なかったので、大丈夫かと思っていました。
一旦書き出してから読み込むことにします。
配列のみだと問題なかったので、大丈夫かと思っていました。
一旦書き出してから読み込むことにします。
975デフォルトの名無しさん
2021/09/29(水) 22:33:50.89ID:J7GS4Ln7 AnacondaのidleがC:\〜〜\[username]\Anaconda3\Scripts\の中にあるのを
今更知ったw
多少のファイルを作りながら動かすなら一々JupyterやらSpyderやらを
重いなあと思いながら開かなくても良かったって事か
今更知ったw
多少のファイルを作りながら動かすなら一々JupyterやらSpyderやらを
重いなあと思いながら開かなくても良かったって事か
976デフォルトの名無しさん
2021/09/30(木) 03:50:39.98ID:qnQatXiV 実はidle好きの俺もこれには歓喜!
977デフォルトの名無しさん
2021/09/30(木) 10:29:01.81ID:rsDh5L5E base64使えば良い
978デフォルトの名無しさん
2021/09/30(木) 10:30:11.82ID:rsDh5L5E >>975
Anaconda prompt も一緒にインストールされるだろ?ショートカットも出来てるだろ?
Anaconda prompt も一緒にインストールされるだろ?ショートカットも出来てるだろ?
979デフォルトの名無しさん
2021/09/30(木) 12:37:26.63ID:c7qiSj6D980デフォルトの名無しさん
2021/09/30(木) 14:22:25.86ID:W8iUKo94 Anaconda promptだとファイルを作りながら実行って考えるならidleより面倒
981デフォルトの名無しさん
2021/09/30(木) 15:06:50.08ID:HC7iXZId base64と言っても
. とか / とか使うパターン以外に
+ とか - とか使うのもあるし
都合が悪ければ適当にコマンドラインで安全なキャラクターを選んで良い
base64 の亜種
. とか / とか使うパターン以外に
+ とか - とか使うのもあるし
都合が悪ければ適当にコマンドラインで安全なキャラクターを選んで良い
base64 の亜種
982デフォルトの名無しさん
2021/09/30(木) 17:28:17.23ID:uM1Dq10V idleってコメントをPEP8準拠(# )にできないの?
983デフォルトの名無しさん
2021/09/30(木) 20:12:26.79ID:afPZA96P パソコン上で選択中のフォルダかファイルのパスを取得したいんだけど
各種ダイアログ経由しない方法ってありますか?
例えばGUIにコピペボタンを実装しといて
エクスプローラーでファイルクリック
GUIボタンクリックでその場に複写 みたいなことがしたいです
各種ダイアログ経由しない方法ってありますか?
例えばGUIにコピペボタンを実装しといて
エクスプローラーでファイルクリック
GUIボタンクリックでその場に複写 みたいなことがしたいです
984デフォルトの名無しさん
2021/09/30(木) 21:15:31.19ID:BqDA7lQW SHIFTを押しながら右クリック→”パスのコピー”をクリック
985デフォルトの名無しさん
2021/09/30(木) 22:37:34.91ID:Q+Yf9LrK > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
986デフォルトの名無しさん
2021/10/01(金) 00:29:07.44ID:753Hv+uI >>983
簡単にできるかと思ったけど難しい気がする
簡単にできるかと思ったけど難しい気がする
987デフォルトの名無しさん
2021/10/01(金) 01:24:45.73ID:b9bDtpSh macのFinderなら割りと簡単だけど
Explorerだと拡張書くか探すことになりそう
Pythonだけでは書けないし
Explorerだと拡張書くか探すことになりそう
Pythonだけでは書けないし
988デフォルトの名無しさん
2021/10/01(金) 03:14:59.71ID:4hZQhWFc エクスプローラーは選択されてる状態でCTRL+Cでもクリップボードにフルパス入るから
キー入力メッセージ送ってクリップボード読めばいいんでね
キー入力メッセージ送ってクリップボード読めばいいんでね
989デフォルトの名無しさん
2021/10/01(金) 03:45:28.03ID:LRVjWXLk ドラッグアンドドロップじゃダメなの?
990デフォルトの名無しさん
2021/10/01(金) 06:32:34.44ID:753Hv+uI 要件はオブジェクトクリック、GUIクリックでしょ
間で操作入れるなら普通にダイアログ出せばいい
間で操作入れるなら普通にダイアログ出せばいい
991デフォルトの名無しさん
2021/10/01(金) 07:07:02.57ID:S6tJEmA+ その要件が普通じゃ無いこと気づけよー
エクスプローラーが複数立ち上がってたらどうするの?
ファイル選択できるのはエクスプローラー限定なの?
Windows のマナー通り、ファイル選択ダイアログを
出せば済む話だと思うんだが。
エクスプローラーが複数立ち上がってたらどうするの?
ファイル選択できるのはエクスプローラー限定なの?
Windows のマナー通り、ファイル選択ダイアログを
出せば済む話だと思うんだが。
992デフォルトの名無しさん
2021/10/01(金) 10:20:54.28ID:5A2oAz4+993デフォルトの名無しさん
2021/10/01(金) 10:42:33.79ID:js1izThg エクスプローラーからSendToかドラッグ&ドロップだな
SendToはショートカットも割り当てられるのでキーボードだけでも操作可能
ただ起動中のGUIで受け取るためにはそれ用の受け口を用意しておく必要がある
コピペはUXとして微妙なので人に使わせるアプリならやめたほうがいい気がする
SendToはショートカットも割り当てられるのでキーボードだけでも操作可能
ただ起動中のGUIで受け取るためにはそれ用の受け口を用意しておく必要がある
コピペはUXとして微妙なので人に使わせるアプリならやめたほうがいい気がする
994デフォルトの名無しさん
2021/10/01(金) 11:18:02.98ID:PaEGpo5A 例えば、デスクトップにショートカットを作って、Ruby スクリプトを起動する。
Explorer からファイルとフォルダを、ショートカットへdrag & drop すると
リンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/Ruby/desktop/a.rb
スクリプトの内容は、
puts ARGV # 配列
sleep # 出力したコマンドプロンプト画面を閉じないようにする
出力
C:\Users\Owner\Documents\あ.txt
C:\Users\Owner\Documents\a
Explorer からファイルとフォルダを、ショートカットへdrag & drop すると
リンク先
C:\Ruby25-x64\bin\ruby.exe C:/Users/Owner/Documents/Ruby/desktop/a.rb
スクリプトの内容は、
puts ARGV # 配列
sleep # 出力したコマンドプロンプト画面を閉じないようにする
出力
C:\Users\Owner\Documents\あ.txt
C:\Users\Owner\Documents\a
995デフォルトの名無しさん
2021/10/01(金) 11:25:55.56ID:b9bDtpSh Ruby 2.5
status: eol
release date: 2017-12-25
EOL date: 2021-03-31
status: eol
release date: 2017-12-25
EOL date: 2021-03-31
996994
2021/10/01(金) 12:53:42.59ID:PaEGpo5A WSL2, Ubuntu 18.04 には、
日本人が作ったanyenv で、Ruby 2.6.6 をインストールしているけど、
Windows 用のMSYS2 のRuby では、Ruby 2.6 以降、
巨大なコンパイル環境を入れないと、コンパイルできないモジュールがあるので、やっかい
それで、Windows用Ruby は、2.5 を使っている
また、WSL2 には、drag & drop できない
日本人が作ったanyenv で、Ruby 2.6.6 をインストールしているけど、
Windows 用のMSYS2 のRuby では、Ruby 2.6 以降、
巨大なコンパイル環境を入れないと、コンパイルできないモジュールがあるので、やっかい
それで、Windows用Ruby は、2.5 を使っている
また、WSL2 には、drag & drop できない
997デフォルトの名無しさん
2021/10/01(金) 13:11:48.98ID:q6100VNR >>983
でけたよ。
あらかじめpip install pywin32しておいてね
import win32com.client as win32
shell_app = win32.Dispatch('Shell.Application')
for win in shell_app.Windows():
print(win.LocationName)
for item in win.Document.SelectedItems():
print(f' {item.Name} ({item.Path})')
でけたよ。
あらかじめpip install pywin32しておいてね
import win32com.client as win32
shell_app = win32.Dispatch('Shell.Application')
for win in shell_app.Windows():
print(win.LocationName)
for item in win.Document.SelectedItems():
print(f' {item.Name} ({item.Path})')
998デフォルトの名無しさん
2021/10/01(金) 14:43:29.34ID:QbIBSCAW999デフォルトの名無しさん
2021/10/01(金) 15:25:02.82ID:xAAYN8E1 Rubyはオワコン
1000デフォルトの名無しさん
2021/10/01(金) 15:37:18.54ID:xAAYN8E1 ぁ
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 113日 18時間 31分 34秒
新しいスレッドを立ててください。
life time: 113日 18時間 31分 34秒
10021002
Over 1000Thread 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。