くだすれPython(超初心者用) その52【まず1嫁】at TECH
くだすれPython(超初心者用) その52【まず1嫁】 - 暇つぶし2ch112:デフォルトの名無しさん
21/01/22 19:58:48.45 ucotd9u3.net
>>107
回答ありがとうございます
なるほど
ただ、ちょっと具体的なイメージが浮かばないのでもう少し詳しい方法を教えていただけないでしょうか

113:デフォルトの名無しさん
21/01/22 21:55:57.48 bS3A3tOW.net
>>107
コード寄越せってことだぞ。あくしろや

114:85
21/01/22 22:36:26.16 1dyqdMu0.net
85です。もろもろレスありがとうございました。
まず結論ですが、PyTorchをimportできるようになり推論結果も出力されました。
皆さまのレスを総合すると、パスを通そうがApacheからユーザーディレクトリは見えない・アクセスできない。
に集約されると考え、pipの-tオプションで/usr/local/lib/python3.6/dist-packagesを指定してPyTorch
をインストールしたら成功しました。
セキュリティ関係含めここにブチ込んでいいものか所有者やパーミッションはこのままでいいのかなどこれから詰めますが、取り急ぎご報告まで。
皆さまのレスがなければ詰んでました。本当にありがとうございました。

115:デフォルトの名無しさん
21/01/22 23:07:41.14 9jKbgi1Z.net
URLリンク(i.imgur.com)

116:デフォルトの名無しさん
21/01/22 23:28:00.59 aHT4H8FH.net
照すつ文章
2行目
3行目
テスト文章

117:デフォルトの名無しさん
21/01/22 23:31:17.68 aHT4H8FH.net
めんなさい、>>116はミスです...
質問失礼します
requestsとBeautifulSoup4で遊んでいましたが、requestsがエラーとなるサイトが出てきてしまい理由がわからずここへ来ました
ひとまずHTMLが取得できるところまで解決したいです
よろしくお願いいたします
実行環境:
Python 3.7.0, Windows 10 64bit, IDLE 3.7.0 (64bit)で実行しています
ソース:
import requests
import bs4
url = "URLリンク(www.tokyomotion.net)
res = requests.get(url)
soup = bs4.BeautifulSoup(res.content, "html.parser")
print(soup)
エラーメッセージ:
============================== RESTART: C:\BOX\Python\test\test.py ==============================
Traceback (most recent call last):
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 401, in _decode
data = self._decoder.decompress(data)
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 88, in decompress
ret += self._obj.decompress(data)
zlib.error: Error -3 while decompressing data: incorrect data check
During handling of the above exception, another exception occurred:
下に続きます

118:デフォルトの名無しさん
21/01/22 23:32:33.64 aHT4H8FH.net
Traceback (most recent call last):
File "C:\Python\Python37\lib\site-packages\requests\models.py", line 753, in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 572, in stream
for line in self.read_chunked(amt, decode_content=decode_content):
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 769, in read_chunked
chunk, decode_content=decode_content, flush_decoder=False
File "C:\Python\Python37\lib\site-packages\urllib3\response.py", line 407, in _decode
e,
urllib3.exceptions.DecodeError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect data check'))
During handling of the above exception, another exception occurred:
次が最後です

119:デフォルトの名無しさん
21/01/22 23:32:59.50 aHT4H8FH.net
Traceback (most recent call last):
File "C:\BOX\Python\test\test.py", line 5, in <module>
res = requests.get(url)
File "C:\Python\Python37\lib\site-packages\requests\api.py", line 76, in get
return request('get', url, params=params, **kwargs)
File "C:\Python\Python37\lib\site-packages\requests\api.py", line 61, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python\Python37\lib\site-packages\requests\sessions.py", line 542, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python\Python37\lib\site-packages\requests\sessions.py", line 697, in send
r.content
File "C:\Python\Python37\lib\site-packages\requests\models.py", line 831, in content
self._content = b''.join(self.iter_content(CONTENT_CHUNK_SIZE)) or b''
File "C:\Python\Python37\lib\site-packages\requests\models.py", line 758, in generate
raise ContentDecodingError(e)
requests.exceptions.ContentDecodingError: ('Received response with content-encoding: gzip, but failed to decode it.', error('Error -3 while decompressing data: incorrect data check'))
以上です
よろしくお願いいたします

120:デフォルトの名無しさん
21/01/22 23:42:56.73 1d1lzUWQ.net
リクエストヘッダーでgzipで受け入れ可能ということを伝えて
受信した内容をデコードする
headers = {'Accept-Encoding': 'gzip'}

121:デフォルトの名無しさん
21/01/23 00:12:05.81 fA0JjYru.net
res = requests.get(url, headers={'Accept-Encoding': 'identity'})

122:デフォルトの名無しさん
21/01/23 00:28:43.65 fA0JjYru.net
>>112
executeScriptでscrollIntoView()使う
//xpathで’foobar’を含む最初の要素を検索してそこまでスクロール
var xpath = "//*[contains(text(),'foobar')]";
var match = document.evaluate(xpath, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null)
match.singleNodeValue.scrollIntoView()

123:デフォルトの名無しさん
21/01/23 00:45:47.09 84i3Suj7.net
>>120,121
ありがとうございます
gzipは初耳だったので調べている途中でしたが、'identity'の方で解決できました!
でもマナーとしてはサイト指定の圧縮形式で取得して自分側で展開するべきということですかね?

124:デフォルトの名無しさん
21/01/23 02:18:11.86 BPicNdps.net
0から9の数字が複数描かれた画像があります
いわゆる認証でよく出てくるcaptcha画像の類ですが
練習として、これを機械学習で認識しようとしました
画像の条件として
・数字のサイズは一定
・数字の桁数は一定
・数字の行間は一定
・数字の始まりの座標は不定
です
とりあえず流れとして
データ収集 → 前処理 → データセット作成 → 学習 → モデル作成 → 検証
みたいなことはわかりいくつかのサンプルは成功しました
が、いざ条件のcaptcha画像でやってみたところ
このcaptcha画像から数字ひとつひとつを抜き出す、という前処理でつまづきました
すべて一定ならcv2などで等間隔で区切ればいいのでしょうが
画像の最左に近い場合もあるし遠い場所から数字の連番が始まるときもあります
この最初の座標さえわかればあとは文字サイズなりなんなりで等間隔でトリミングすればいけると思うのですが
どういうロジックを組めばいいのでしょうか?
あと仮に、文字サイズが不定、行間も不定となる場合、
どう一文字を判定するのだろうと思いました
(調べて見るとcv2.findContoursという便利なものがありやってみましたが
画像を2値化するときに数字の線が若干荒れて、輪郭の判定が大量に現れる結果となってしまいました)

125:デフォルトの名無しさん
21/01/23 03:43:00.35 BPicNdps.net
とりあえずは数字意外のノイズが確実に出ないしきい値で2値化して
左から1pxずつ1px幅の縦1列を全て検査し、全て255とはならない始めのx列目が、数字の始まり
で、対応できるような気がしました

126:デフォルトの名無しさん
21/01/23 12:08:13.54 JpTPlhL6.net
初歩的な質問いいですか?
本によると、int型などはイミュータブル型とありましたが
num = 1
num = 3
というように後に中身を変更できると思うのですが、どういうことでしょうか?

127:デフォルトの名無しさん
21/01/23 12:17:51.59 VD+/dXF+.net
1そのものが3に変化するのでは無い
3を新たに生成して上書きしているだけ

128:デフォルトの名無しさん
21/01/23 12:19:24.57 /Vi6Lfdi.net
x=(1,2)
x=(3,4) # ok
x[0]=10 # error

129:デフォルトの名無しさん
21/01/23 13:28:45.00 sVLw03+p.net
変数名の集合と整数の集合を考える
人間が作り出すであろう全ての変数名が入った無限集合だ
すると、変数名の集合と整数の集合の間の写像になる
「初めから全てが存在していた」とするのが西洋人の考え方

130:デフォルトの名無しさん
21/01/23 15:09:25.35 LTjhYSXq.net
aiやろうとおもってもpcパワーないから結局無理なんだすな(´・ω・`)?

131:デフォルトの名無しさん
21/01/23 15:14:12.58 .net
無料の範囲でもgoogle colabでGPUパワーで回せば余裕

132:デフォルトの名無しさん
21/01/23 16:29:23.88 UQz6+2D6.net
つ NCS2
FP16だけど早いぞ

133:デフォルトの名無しさん
21/01/23 17:03:36.52 5Na5U87Z.net
>>124
JapanPostのサイトに解説あった希ガス

134:デフォルトの名無しさん
21/01/23 17:06:58.44 5Na5U87Z.net
>>127
1の発生場所を3に書き換える変態言語もあった希ガス

135:デフォルトの名無しさん
21/01/23 19:33:58.95 LTjhYSXq.net
>>131
アダルト無理じゃない?

136:126
21/01/23 22:47:11.63 JpTPlhL6.net
答えてくれた方々ありがとうございました

137:デフォルトの名無しさん
21/01/24 00:29:44.56 s/DRXVeC.net
>>133
郵便番号の赤い枠線がどうのこうのってやつですかね?
そうだとすれば枠線前提の話になってくるので
枠線なかった場合とではトリミングの方法も違ってきそうな気がしますね

138:デフォルトの名無しさん
21/01/24 00:39:34.13 s/DRXVeC.net
文字認識の学習データのセットを作る作業をしていて思ったのですが
学習データよりも、一文字に区切るアルゴリズムの方が重要ですよねこれ…

139:デフォルトの名無しさん
21/01/24 00:41:55.95 K8Y7qKof.net
OCRはすでにあるし

140:デフォルトの名無しさん
21/01/24 00:47:03.46 s/DRXVeC.net
それでも透かし入ってるのとか背景にノイズ入ってるのとか結構難しくないですかね
しきい値 → 2値化
みたいな方法しかないのか気になるところです

141:デフォルトの名無しさん
21/01/24 00:56:04.45 K8Y7qKof.net
いったい何やってるの
キャプチャ認証とか認識できないようにしてるけど

142:デフォルトの名無しさん
21/01/24 01:08:32.70 s/DRXVeC.net
>>141
単純に練習としてよくある手書き数字認識のサンプルをいくつかやり終えて
背景にシミとかノイズがあった場合もやってみたくなっただけですね
その場合、一文字に区切るのが難しいとわかったのですが
だったらそもそもノイズ自体も文字として考えればいいのでは、と思い始めてきた感じです
ようは、ノイズの中に文字記号っぽい線の流れを認識できるモデル
(シミュラクラ現象的に)ノイズを文字と認識するようなモデルがあれば
仮に間違ってシミを何らかの文字と認識してもそれは正解でいいような
そんな便利なモデルありそうなのですが
microsoftとかgoogleのOCRを試したところ
どうも大別すると一文字に区切る系の処理をしているような気がしますわかりませんが

143:デフォルトの名無しさん
21/01/24 02:34:53.55 Kksl1SnT.net
簡易な奴なら投影で位置決めするんだけど
高度な奴ならsvm使うzinniaとかがあるなぁ
paddlepaddle とかにもデモがあったと
思うけど、中国語読めないので使った事ないな(3.8.xのpythonとpipで入るかと)
PyTroch与えれば後は作れるのか、OpenVinoがあれば出来るのか
どのレベルを求めているかわからないと
回答のしようがないな

144:デフォルトの名無しさん
21/01/24 10:08:13.49 r5Iz9DtC.net
アイドルの画像なんですが、まず画像のまえにリストを作成したいです
そのリストを参考に集めていく感じ
雑誌名と発売日などのリストを作る方法ありますです?
手作業が一番かな

145:デフォルトの名無しさん
21/01/24 11:08:43.25 wSlEv8S7.net
>>137
アホか
いつの時代の話だよ

146:デフォルトの名無しさん
21/01/24 18:37:17.09 7biDvLeQ.net
テキストファイルに文字列が存在するかの判定について一番単純(≒記述が単純or無駄が少ないor最速or低コスト)な方法はなにがありますか?
行番号や該当行を取得するなどは必要でなくて、ただ含まれているかどうかだけ真偽値や検索結果が0とかで判断できればいいです

147:デフォルトの名無しさん
21/01/24 18:48:29.98 3sIGrLL8.net
>>146
少なくとも↓くらいは書かないとどうしようもない
・通信資源CPUメモリHDD コスト高い順に並べろ
・どのくらいのサイズのテキストと、どのくらいのサイズの文字列なんだ
・2バイト文字の有無
・エンコードは何か

148:デフォルトの名無しさん
21/01/24 18:48:59.83 IE48Qmt3.net
ファイルサイズ > 0

149:デフォルトの名無しさん
21/01/24 19:29:02.36 1RNIc9lC.net
記号もスペースも文字ではないという判別をしながら
1文字ずつ見ていって文字が2回続けば文字列発見

150:デフォルトの名無しさん
21/01/24 19:55:52.94 ++e8Ymxx.net
globで頭からファイル舐めるのがいいんじゃないの

151:デフォルトの名無しさん
21/01/24 20:00:38.02 ++e8Ymxx.net
競プロ形式で質問してくれればわかりやすいんだけどな。プログラミングに限らず日常生活でも。
何を材料に何を出力すればいいかを明確にしてほしい(機械脳)

152:デフォルトの名無しさん
21/01/24 20:10:06.75 98CVdt0z.net
grepコマンドに投げれば?

153:デフォルトの名無しさん
21/01/24 20:34:59.80 6VwlJ5kc.net
grep

154:デフォルトの名無しさん
21/01/24 20:45:39.40 lVRRnz8/.net
餅は餅屋

155:デフォルトの名無しさん
21/01/24 20:46:31.51 7biDvLeQ.net
>>147
NGワードが解決できずここにレスできませんでしたので
「NGワード絞り込みスレッド」にテスト投稿した以下のレスを参照お願いします
スレリンク(mango板:757番)
もしどこがNGだったのかわかる方教えてください...

156:デフォルトの名無しさん
21/01/24 21:06:52.04 3sIGrLL8.net
>>155
で、そのテキストファイル、
無限に肥大させてくつもりなの?
ばかなの?
ちぬの???
>どこがNGか
MD5ハッシュでggrks

>>151
せやせや

157:デフォルトの名無しさん
21/01/24 21:24:44.34 gsEGxkN1.net
典型的なXY Problemだね

158:デフォルトの名無しさん
21/01/24 22:03:08.11 7biDvLeQ.net
>>156
ひとまず一通り組み上げてみたかったので>>155の方法を考えました
現時点ではそうなりますが、普通の人はどのような実装をすることが多いのですか?
>MD5
こちらではMD5でググると一致する情報が見つからなかったため本文をどうにかするのを諦めましたが、
そちらではなにか見つかりますか?

159:デフォルトの名無しさん
21/01/24 23:58:55.03 A3BXsN94.net
>>146
典型的なオートマトンの問題だな
一番最初の文字がヒットするまでファイルを1文字ずつ見ていく、ヒットしたら2文字目以降もヒットするか確認
計算量は最悪のケースでO(mn)

160:デフォルトの名無しさん
21/01/25 01:05:15.62 rfwZrgZs.net
簡単に処理済のURLのリストがほしいなら処理したやつをsetにポンポコ突っ込んでいくのが簡単かな
メモリに乗らなくなったらソートとか分割とかして保存すればいいんじゃないかな

161:デフォルトの名無しさん
21/01/25 01:15:04.33 T4mYhBzV.net
こういうのはSQL使うのが一番楽なんじゃない?

162:デフォルトの名無しさん
21/01/25 01:25:39.09 co/Rkwpa.net
>8KB/月 程度で増加予定。1行に1URLが記録
>検索文字列(URL):基本30~100B程度
件数にしたら100~250件/月で10年やっても3万件程度なので
pythonのforループでリニアに1行ずつ判定するのでも速度的に困ることはまずないんじゃないかな
100msの間に10万回や100万回判定できないと困るようなら別だけど

163:デフォルトの名無しさん
21/01/25 01:44:25.98 baBGx8Uf.net
正規表現最強だからなあ
素人ががんばってもまず勝てない

164:デフォルトの名無しさん
21/01/25 10:58:10.58 +q31tGtg.net
>>155
そのスレッドに、上半分を投稿して、NGなら、また半分に分割して投稿する。
もし上半分がOKなら、下半分がNGだから、下半分をさらに半分に分割して投稿する
つまり、2分探索のように投稿して、どの行がNGなのか、突き止める
宣伝に書きそうな単語は、cost かな?

165:デフォルトの名無しさん
21/01/25 18:53:33.40 P238B9gb.net
同一単語連呼じゃね?

166:デフォルトの名無しさん
21/01/27 10:32:47.71 McyrI0oe.net
こんな感じでコンター図描こうとしてます.
x座標とy座標を読み込んで値を返す関数hogeをどうやって定義すればよいか分かりません.
hogeの中身はif文だらけです.
誰か教えてください.
import numpy as np
import matplotlib.pyplot as plt
def hoge(???
???
x = np.arange(0, 1, 0.05)
y = np.arange(0, 1, 0.05)
X, Y = np.meshgrid(x, y)
Z = hoge(X,Y) #そもそもこんな感じで書けるのか?

167:デフォルトの名無しさん
21/01/27 10:59:29.72 vVvyPhvD.net
matplotlib.pyplot.contour ― Matplotlib 3.3.3 documentation
URLリンク(matplotlib.org)
これに似せて定義すれば完璧

168:デフォルトの名無しさん
21/01/27 11:21:03.41 cJSBZXf9.net
速度気にしないなら
def hoge_Z(X, Y):
Z = np.ndarray(X.shape)
for y in Y:
for x in X:
Z[y][x] = hoge(x, y)
Z = hoge_z(X, Y)

169:167
21/01/27 11:51:12.24 McyrI0oe.net
返信ありがとうございます.
>168
どこ見たらよいですか?
>169
速度は気にしません.
Zのインデックには整数入れろって言われました.
あと,XとYの2つでループ回すんですか?

170:デフォルトの名無しさん
21/01/27 13:43:52.62 cJSBZXf9.net
def hoge_Z(X, Y):
Z = np.ndarray(X.shape)
for h in len(X):
for w in len(X[0]):
Z[h][w] = hoge(X[h][w], Y[h][w])
Z = hoge_z(X, Y)

171:デフォルトの名無しさん
21/01/27 13:45:47.56 cJSBZXf9.net
ああ
len(X) は range(len(X))
len(X[0]) は range(len(X[0]))


172:デフォルトの名無しさん
21/01/27 13:49:53.43 FiwaqU44.net
opencvではモザイク消せる?
水着を塗りつぶすところまではいけるだろうけど、その先よ

173:デフォルトの名無しさん
21/01/27 13:52:24.66 cJSBZXf9.net
本来は ndarray のまま処理した方が良いけど
そもそも if だらけの hoge の中身ってのが
具体的に示されてないとそこはコメントしようがないので
速度気にせず全要素ひとつづつバラす方法を出した
(慣れたら if だらけの hoge の中身の修正方法は判るようになるはず)
URLリンク(deepage.net)
URLリンク(python.atelierkobato.com)
URLリンク(www.haya-programming.com)

174:デフォルトの名無しさん
21/01/27 13:52:31.52 3A/JkQSF.net
お前いっつもそれ聞いてるな

175:デフォルトの名無しさん
21/01/27 13:53:13.78 cJSBZXf9.net
>>172
禿しく概出

176:デフォルトの名無しさん
21/01/27 16:17:43.97 sCjAqXlj.net
ブラック企業で統合失調症になり、5年以上働けていません
一日11時間くらいベッドにいます
この言語を必死でマスターしたら、在宅ワークの仕事をいただくことは出来るでしょうか?
一日1000円でいいので稼ぎたいです
お金よりも、作業に慣れて仕事復帰への足がかりにしたのです

177:デフォルトの名無しさん
21/01/27 16:42:15.14 l31MIXPZ.net
>>176
あなたの年齢は?

178:デフォルトの名無しさん
21/01/27 17:05:04.25 isvLWJ6Q.net
>>176
URLリンク(www.youtube.com)

179:デフォルトの名無しさん
21/01/27 18:22:32.77 sCjAqXlj.net
>>177
37歳の時にブラック企業で発狂して、5年経って42歳です
>>178
ありがとうございます
時間のある時に見てみます

180:デフォルトの名無しさん
21/01/27 18:38:35.00 4tKYq7MS.net
ム板とマ板の違いがわからないようではむずかしくね?

181:デフォルトの名無しさん
21/01/27 18:39:13.35 4tKYq7MS.net
>>180>Pythonをマスターする()とかいうビッグマウスの実現が

182:デフォルトの名無しさん
21/01/27 18:58:06.58 sCjAqXlj.net
失敗しました
ここはプログラム板でしたね
プログラマー板というのがあるというのは今知りました

183:デフォルトの名無しさん
21/01/27 20:42:03.18 VFjRyOVo.net
昔マ板がよくネタになってた気がする

184:デフォルトの名無しさん
21/01/27 22:47:37.79 nyJ4kTty.net
windowsでpythonをインストールしたのですが、pyコマンドを使うと

185:デフォルトの名無しさん
21/01/27 22:48:55.98 nyJ4kTty.net
windowsでpythonをインストールしたのですが、pyコマンドを使うと
内部コマンドまたは外部コマンド
操作可能なプログラムまたはバッチファイルとして認識されていません
と表示されます
どうすればpyコマンドを使えるのでしょう?

186:デフォルトの名無しさん
21/01/27 23:21:24.05 lgpuzElo.net
>>185
py.exeを正しくインストールすれば使える

187:デフォルトの名無しさん
21/01/27 23:42:33.88 nyJ4kTty.net
>>186
失礼しました。

188:デフォルトの名無しさん
21/01/27 23:42:53.97 nyJ4kTty.net
>>186
OKとなりましたm(__)m

189:デフォルトの名無しさん
21/01/27 23:44:42.50 nyJ4kTty.net
from sklearn.metrics import mean_squared_error
とある行で
Traceback (most recent call last):
File "E:/AAAAAA/半側空間無視データ分析/USN_data_analyzer(RANSAC mode)ver1.8.py", line 6, in <module>
from sklearn.metrics import mean_squared_error
File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\__init__.py", line 81, in <module>
from . import __check_build # noqa: F401
ImportError: cannot import name '__check_build' from 'sklearn' (C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\__init__.py)
というエラーがでます
scikit-learnのインストールはpipコマンドで成功しているのですが、なぜでしょうか?

190:デフォルトの名無しさん
21/01/28 00:01:38.67 xWgdnw0/.net
以前環境設定したときは何の問題もなくSklearn使えたのですが、
今回はなぜかインストールしてもimportできない・・・

191:デフォルトの名無しさん
21/01/28 00:07:15.13 xWgdnw0/.net
コマンドプロンプトからインポートするとこんなメッセージがでます
やっぱり、きちんとインストールできてないのかな・・・
>>> import sklearn
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\__init__.py", line 81, in <module>
from . import __check_build # noqa: F401
ImportError: cannot import name '__check_build' from 'sklearn' (C:\Users\user\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.7_qbz5n2kfra8p0\LocalCache\local-packages\Python37\site-packages\sklearn\__init__.py)

192:デフォルトの名無しさん
21/01/28 00:20:16.87 V1xLv34X.net
where pip
where python
を比較するといいかも
違う場合は、pipコマンドは違うところにインストールしちゃってる
python -m pip install sklearn
でpythonコマンドのあるところにpipモジュールが入れてくれるので、この方法が一番おすすめ

193:デフォルトの名無しさん
21/01/28 00:24:28.11 xWgdnw0/.net
C:\Users\user>where pip
C:\Users\user\AppData\Local\Microsoft\WindowsApps\pip.exe
C:\Users\user>where python
C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Users\user>python -m pip install sklearn
Requirement already satisfied: sklearn in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (0.0)
Requirement already satisfied: scikit-learn in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from sklearn) (0.24.1)
Requirement already satisfied: numpy>=1.13.3 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from scikit-learn->sklearn) (1.19.5)
Requirement already satisfied: joblib>=0.11 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from scikit-learn->sklearn) (1.0.0)
Requirement already satisfied: scipy>=0.19.1 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from scikit-learn->sklearn) (1.6.0)
Requirement already satisfied: threadpoolctl>=2.0.0 in c:\users\user\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages (from scikit-learn->sklearn) (2.1.0)
C:\Users\user>
でした。
これって同じところにインストールできてるってことですよね・・・
なんでimportできないんだろ???

194:デフォルトの名無しさん
21/01/28 00:39:29.50 qlSIyEsC.net
ん?ms store版python入れたの?
公式の方で試してみたら?

195:デフォルトの名無しさん
21/01/28 00:46:08.58 jix62l8F.net
>ImportError: cannot import name '__check_build' from 'sklearn'
まずはエラーが出てるモジュール(__check_build)がimport可能な状態なのかどうかを確認したら?

196:デフォルトの名無しさん
21/01/28 01:08:32.60 xWgdnw0/.net
>>194
公式版をダウンロードして再インスコしたら問題なくインストールできました
ご指摘ありがとうございました
これでやっと寝れます・・・
なんでMS版だとだめなんだろう?
いや、もう寝ます
本当にありがとうございましたm(_ _)m

197:デフォルトの名無しさん
21/01/28 10:51:34.67 dNWrUHbO.net
カレントディレクトリとかに変なもの置いてるパターン

198:デフォルトの名無しさん
21/01/28 20:25:23.66 4rpb/Pko.net
オススメorm教えて

199:デフォルトの名無しさん
21/01/28 20:49:15.80 94KM1Ac4.net
ActiveRecord

200:デフォルトの名無しさん
21/01/29 01:41:04.75 tsiSROOw.net
みんな何で開発してるの?

201:デフォルトの名無しさん
21/01/29 06:36:24.11 8F9BgvB7.net
秀丸

202:デフォルトの名無しさん
21/01/29 08:00:22.46 qc+WYcmr.net
pyscripter

203:デフォルトの名無しさん
21/01/29 08:19:31.66 /7M+cArx.net
>>200
お金もらえるから。趣味という人もいるかな。

204:デフォルトの名無しさん
21/01/29 08:43:29.56 FiRRjN3z.net
>>200
パソコンかなぁ。スマホはしんどい

205:デフォルトの名無しさん
21/01/29 08:52:16.07 GH0JLNfn.net
アスペルガーばっかだなここ

206:デフォルトの名無しさん
21/01/29 16:38:16.71 5pIDnM+S.net
ORMが使いやすいとは思えない

207:デフォルトの名無しさん
21/01/29 17:52:02.81 GkoRIUQ4.net
日本語難しい

208:デフォルトの名無しさん
21/01/30 12:13:11.27 EWZvTk3z.net
曖昧な質問をすれば曖昧な回答が返ってくる仕様
ただそれだけのこと

209:デフォルトの名無しさん
21/01/30 12:37:54.78 SLqQC90z.net
禿丸エディタ。

210:デフォルトの名無しさん
21/01/30 16:01:53.04 9ArkaPud.net
URLリンク(i.imgur.com)
線虫の神経エンジンをGoPiGoで動かそうとすると、最後のほうで謎のエラーが出る
俺が書いたコードじゃないから、どこを直せばいいかわからん
Pythonどころかプログラム自体初心者で何もわからん

211:デフォルトの名無しさん
21/01/30 16:06:08.38 9ArkaPud.net
文字列、命令の文法が間違ってるのかな(構文エラー?)
ちょっと昔のPython2系のやつを、gopigo3用に無理やり3系に変換したから、
そこでどこかおかしくなったのか

212:デフォルトの名無しさん
21/01/30 16:37:20.06 5cjiGf9R.net
解析してる最中だったのに終端まで到達しちゃったんだけどどうしてくれんの?の意味。
たいていカッコが閉じてないからとかだけど、まずはインデントサイズがバラバラなの直せ

213:デフォルトの名無しさん
21/01/30 16:48:20.81 9ArkaPud.net
ありがとう
インデントサイズが何なのかわからんからググってみるよ
あとは()の閉じ忘れか

214:デフォルトの名無しさん
21/01/30 22:33:23.05 e5kc5ZG/.net
Pythonでインデントがあやふやって命とりだぞ?

215:デフォルトの名無しさん
21/01/31 04:38:10.07 LnuqQuZJ.net
恐ろしいことだよ
プログラマが新たな言語を身に着けようとするのではなく
プログラミング素人が、おそらくは機械学習等の話題の技術を使いたくて
ライブラリ・プレイヤーとしてPythonを使おうとする風潮が広まっているのではと危惧している
プログラマなら言語の概略は自習できるはずだからな

216:デフォルトの名無しさん
21/01/31 06:40:44.67 QZnwKzSF.net
別に誰が何を使おうがどうでもいいだろ
こんな超初心者スレで土方が偉そうにしてんじゃねえよ

217:デフォルトの名無しさん
21/01/31 06:59:47.71 7s2vE3J9.net
だよな
大きなお世話。

218:デフォルトの名無しさん
21/01/31 07:57:45.33 ztsWDMWg.net
>>214が超重要なこといってるのに
おまいらときたら・・・

219:デフォルトの名無しさん
21/01/31 08:54:49.79 r2IynlG8.net
最近もうpythonすら使う必要ないぞ
ウィザード進めてくだけで深層学習できるサービスをmsとか出してたしな

220:デフォルトの名無しさん
21/01/31 10:13:00.10 1DsB1/Xq.net
>>215
全員最初は素人だし何の問題が?
変な選民思想持ってそう

221:デフォルトの名無しさん
21/01/31 10:56:05.26 BqL9JwJS.net
>>216
そのうちGitHubにSMBC上げるんですね判ります

222:デフォルトの名無しさん
21/01/31 10:58:11.00 BqL9JwJS.net
「最初は素人」は事実だが
選民の思想を知ろうとしない素人は総じてクソ

223:デフォルトの名無しさん
21/01/31 11:35:59.24 kL2FkcqW.net
>>220
「ライブラリ・プレイヤーとしてPythonを使おうとする風潮が広まっているのでは」ってことを危惧してるって書いてあって
最初が素人であることが問題とか全く触れてない
日本語学べ

224:デフォルトの名無しさん
21/01/31 12:01:58.90 ztsWDMWg.net
ADHDあるあるで
最初の話題をわすれてしまう症状のヤツなのでは

225:デフォルトの名無しさん
21/01/31 12:09:04.11 +uTrKl1S.net
「ExcelプレイヤーとしてVBAを使おうとする風潮が広まっている」恐ろしいことだよ。

226:デフォルトの名無しさん
21/01/31 12:10:55.49 J0fsnxQJ.net
元はDOM操作をするために生まれたJavaScriptでデスクトップアプリケーションを実装しようとする風潮が広まっているのではないか

227:デフォルトの名無しさん
21/01/31 12:13:26.43 nCH8CA61.net
Pythonなんて豊富なライブラリ活用しないなら使う意味ないだろ
フルスクラッチで書くならCでも書いてろって話だわ

228:デフォルトの名無しさん
21/01/31 12:13:51.59 QZnwKzSF.net
>>221
むしろ今回の事件起こした人は自作バブルソートとか実装してたみたいだし
このスレでイキってるライブラリを見下してる自閉症オタクみたいなやつの方が可能性高いよ

229:デフォルトの名無しさん
21/01/31 13:38:19.95 fV+Qo3gM.net
ぶっちゃけ、普通のプログラミングも出来ないやつは機械学習なんかできないよ
だって、独自に画像を整理したりメタデータ付けたりということを効率的にできないし、
外注したとしても検証する術もない
チュートリアルでメソッド1発でデータセット取れるやつなら出来るけど、それ以上のとこで相当に苦労するよね

230:デフォルトの名無しさん
21/01/31 15:02:29.05 o9nNBABB.net
私は競馬好きのおじさんです
excelvba程度はいじれます
URLリンク(www.youtube.com)
の内容が全然ついて行けないのですが、基礎的知識を付ける方法を教えていただけないでしょうか?

231:デフォルトの名無しさん
21/01/31 15:06:29.68 ztsWDMWg.net
>>230
勉強に抜け道なし
じみちにやれやー

232:デフォルトの名無しさん
21/01/31 15:12:09.25 tXs0q/O2.net
ググってすぐ解決することもあればどんだけグッグても同じ症状がなくて丸1日無駄にすることもある

233:デフォルトの名無しさん
21/01/31 16:05:15.00 7s2vE3J9.net
今月に日経ソフトウェアを買って
Pythonでぷよぷよを作ろう。
出来たら平安京エイリアンにチャレンジだ

234:デフォルトの名無しさん
21/01/31 18:48:25.73 v040GjhZ.net
>>231-234
レスありがとうございます
皆さんはコードを紙に書いてますか?
youtubeやぐぐっても頭に貼らなくて・・・

235:デフォルトの名無しさん
21/01/31 18:53:38.01 ztsWDMWg.net
.
            ,.:::.⌒⌒:::::ヽ
            (::::::::::::::::::::::::::::)
           (;:::::::::::::人:::::::::::ノ
           (::: (´・ω・`):ノ またヅラの話してる...
             (|   |)::::
              (γ /:::::::
               し \:::
                  \

236:デフォルトの名無しさん
21/01/31 18:57:28.47 WemMLUTq.net
>>234
実際にパソコンで入力して動かしてみないと身に付かないよ。
ついでに言えばyoutubeとかググって見つける断片的な情報で理解するのはよほど理解力があるかすでに基礎がちゃんと身に付いてる人くらいだから、面倒がらずにちゃんと入門書か入門者向けサイトとかで体系的に学んだ方がいいぞ。

237:デフォルトの名無しさん
21/01/31 20:38:55.38 I1yjTYID.net
>>234
紙に書くよりも実際にエディタに書きながらの方が良いな

238:デフォルトの名無しさん
21/01/31 20:59:40.49 qx1o6j8f.net
どのサイトのデータスクレイピングしてるのか知らんけど規約的にOKなサイトなんだろうか
違法の物を売ってるってことは流石にないか…

239:デフォルトの名無しさん
21/01/31 21:23:53.55 nzAJKhF6.net
tkinterでテキストボックスを使って、ボタンに設定した関数に引数として送りたいと思って下記の式を書いたのですが、
ウィンドウ内のテキストボックスで値を入力しても、ボタンへの引数が反映されません
どのようにしたらいいのでしょうか
#関数送り用テキストボックス
txt = tk.Entry(width=5)
txt.insert(tkinter.END,"1") #初期値入力
iii = int(txt.get())
# ボタン生成
start_button = tk.Button(root, text = "test", command = lambda:test(iii))
root.mainloop()

240:デフォルトの名無しさん
21/01/31 21:32:40.30 ukHS72vv.net
testの中でtxt.get()

241:デフォルトの名無しさん
21/01/31 22:28:44.26 3FeQVY09.net
>>236-237
ありがとうございます
本買ってきて地道に基礎力をつけようと思います

242:デフォルトの名無しさん
21/01/31 22:50:06.33 ztsWDMWg.net
>>238
誤爆か?それともアンカーを省略するのがカコイイと思ってるアレなやつなのか???

243:デフォルトの名無しさん
21/02/01 00:14:19.87 z41PbL1f.net
>>223
何故それを危惧するのか分からん
「にわかが機械学習目的でpythonに大量流入していてけしからん」としか読めないが

244:デフォルトの名無しさん
21/02/01 01:40:03.07 n/vck6ul.net
>>241
基礎力とはなにや
文法わかるのか?

245:デフォルトの名無しさん
21/02/01 02:13:42.29 raodPEZB.net
>>243
ユーザーの質が落ちていくからだよ
Pythonは低レベルユーザーが使う言語という認識が広まるのは
決して良いことではない

246:デフォルトの名無しさん
21/02/01 02:32:01.34 CsFMKFd2.net
Pythonに求められてる事なんて簡単に書ける事と
それこそライブラリプレイヤーとしての機能くらいなんだし別にいいだろ
所詮スクリプト言語だぞ

247:デフォルトの名無しさん
21/02/01 04:30:17.57 lp7rw/Rg.net
Real Programmers Don't Use Python.

248:デフォルトの名無しさん
21/02/01 05:56:37.03 nEaLvYMA.net
言語を使う人の質を気にするなら関数型みたいなオタク言語使ってればいいじゃん
ユーザの質()は上がるんじゃないのw

249:デフォルトの名無しさん
21/02/01 06:27:02.10 iI5pUuOE.net
訳:「pythonはわたくしのような意識の高い選民が使うものなんだから現生の利益だけを求める愚民は寄ってくるな」

250:デフォルトの名無しさん
21/02/01 07:08:50.44 zru6Wjni.net
>>245
おまいにPythonがあってないんだ
COBOLかアセンブラあたりへ移動するんだ

251:デフォルトの名無しさん
21/02/01 08:40:37.01 hLj49IWK.net
>>240さん
ありがとうございます
それ以外の方法ってないでしょうか、、できれば他にも流用できる関数としたくて、引数で使いたいなと思ってます

252:デフォルトの名無しさん
21/02/01 13:37:16.32 5yr9aQzL.net
lambda:test(txt.get())
txt.get()がいつ評価されるか、239となにが違うのか考えてみ

253:デフォルトの名無しさん
21/02/01 13:50:44.44 upKfiVZv.net
只でさえ型が緩いpythonに素人が押し寄せた結果、Qiitaには大量の糞記事だけが投稿される惨状に感じることは少なくはない。のはおれだけじゃないはず

254:デフォルトの名無しさん
21/02/01 14:12:37.28 zJNLywrQ.net
日本語でok

255:デフォルトの名無しさん
21/02/01 14:20:58.61 fos4FOVO.net
>>245
javascriptもPHPもC++も低レベルユーザー多いぞ

256:デフォルトの名無しさん
21/02/01 15:00:37.83 3cmRi5lu.net
だから何?って言う。。
スルー出来ないおまえが低能なだけ
どんな言語・ジャンルにも低レベルなのは居る

257:デフォルトの名無しさん
21/02/01 16:21:33.73 o+igF3HP.net
糞記事というか似通った生地が多いのはあるな
適当なライブラリでググって上のほうにあるサイトの書き方とどれも同じとか
別に変数とか順番とか決まってるわけでもないのに、みんな上のほうにあるサイトを教科書代わりにして書くから、結果それが決まった定型のような扱いになるパターン
ソース見たら意外と便利な関数とかあって、それでググったら日本語サイト一切ひっかからなかったり

258:デフォルトの名無しさん
21/02/01 16:59:40.21 fos4FOVO.net
-sejuku は毎回NG指定してる

259:デフォルトの名無しさん
21/02/01 18:47:53.12 FgV6dnQe.net
関数内で呼び出すexecをグローバルコンテキストで
実行させるには第2引数に何を与えれば良いですか?
def func():
 exec(“a=1”, ???)

260:デフォルトの名無しさん
21/02/01 19:08:24.93 .net
google colabのタブのミラーセルってなんですか?

261:デフォルトの名無しさん
21/02/01 20:00:17.26 zru6Wjni.net
>>259マルチポスト
スレリンク(tech板:488番)

262:デフォルトの名無しさん
21/02/01 20:01:56.60 zru6Wjni.net
>>260
うんこつきヴァー('A`)

263:デフォルトの名無しさん
21/02/01 20:09:05.13 M+MnQ84M.net
>>253
上級者()ならqiitaに求める情報はないやろ
stackoverflowでも読みな

264:デフォルトの名無しさん
21/02/01 20:21:18.01 6c5mrI3q.net
超クソ初心者
for a in range(2,21):
sosuu=1
for j in range(2,a):
if a % j ==0:
sosuu=0
if sosuu ==1:
print(a,'(素数)')
if sosuu ==1:
print(a,'(素数)')
else:
print(a)
これって一行一行どういうことが起こってるのが教えてほしい
『最初の一行「for a in range(2,21):」でaは2-21までの範囲を指してる』
的な感じの説明で。
2行目のsosuu=1とか3行目で何故(2.21)はダメで(2.a)だとしっかりできるのかが謎で
一つ一つ根本が知りたい

265:デフォルトの名無しさん
21/02/01 20:22:49.15 zru6Wjni.net
>>264マルチポストクソやろうチネ!!!(・∀・)
スレリンク(tech板:473番)

266:デフォルトの名無しさん
21/02/01 20:58:11.39 qbaS6uPl.net
OS付属のPythonが3.8から3.9になった。
すると、pipが/usr/lib64/python3.8/site-packages/ に入れたライブラリが使用できなくなった。
仕方ないので pip で再インストールした。
そこで質問です。pip upgrade 3.8 to 3.9 などとすると、その辺りを勝手にやってくれないの?
pip(1)には特に記載ないのだけれど、わりとぶち当たる問題ですよね。

267:デフォルトの名無しさん
21/02/01 21:01:59.77 DEyQGLil.net
>>259
第二引数にglobals()

268:デフォルトの名無しさん
21/02/01 21:11:19.61 f5CB6Ii8.net
>>267
ありがとうございます。

269:デフォルトの名無しさん
21/02/01 21:59:34.59 DEyQGLil.net
>>266
3.8$ pip freeze > requirement.txt
requirement.txtの中身を編集して
3.9$ pip install -r requirement.txt
使ってるバージョンマネージャによっては
新しいバージョン入れたら必ず入れるパッケージを指定できるようなのもある

270:デフォルトの名無しさん
21/02/01 22:00:33.26 HqX9nviR.net
>>266
>わりとぶち当たる問題ですよね。
そんなことはないです
一つだけ確認なんですけど
>仕方ないので pip で再インストールした。
とりあえずはこれで解決できたということですか?

271:デフォルトの名無しさん
21/02/01 22:06:44.00 hLj49IWK.net
>>252さん
ありがとうございました。
できました、ボタンを押した際にgetが実行されるのですね、バッチリです

272:デフォルトの名無しさん
21/02/01 22:07:12.42 WmhSgTw5.net
>>266
OS付属のPythonをpipで弄るのはOSがおかしくなるかもしれないからやめた方がいいよ
OSはOSの都合でPythonや付属ライブラリのバージョンを決めてるから、ユーザーが開発に使うのはpyenvでインストールしたバージョンが固定されたPythonの方がいいし、
そもそもプロジェクトごとに使いたいパッケージのバージョンが違ったりするからPoetry, pipenvなどの仮想環境を使った方がいい

273:デフォルトの名無しさん
21/02/01 22:48:17.19 KcF6/QTu.net
OS にプリインストールされているものを変えたの?
すべてのアプリが想定しているものと異なるから、動かなくなる
漏れは、日本人が作った、バージョンマネージャーのanyenv で、
rbenv, nodenv を使って、ruby 2.6.6, node 12.16.2 を入れた
こういうので、pyenv で、プロジェクト毎にバージョンを切り替える

274:デフォルトの名無しさん
21/02/02 00:52:49.29 D6RFLw+E.net
そう、で、す、か、

275:デフォルトの名無しさん
21/02/02 09:18:07.44 JzH47QT8.net
Docker は微妙だから VirtualBox でいいや。

276:デフォルトの名無しさん
21/02/02 13:40:26.61 .net
pythonをGUIで操作したいならdockerは微妙だけど、それ以外ならdockerの方がいい
webアプリ化すればほとんどはシェル併用でどうにもなるし
どうしてもpython以外(かつGUIで)のソフトを使いたいって場合くらいじゃないのVirtualBoxの仕用途

277:デフォルトの名無しさん
21/02/02 18:18:25.76 Bbt0Bton.net
PythonをGUIで操作とかもう訳わかんねーな

278:デフォルトの名無しさん
21/02/02 18:20:09.25 ozkAVgNF.net
Jupyter Notebook...

279:デフォルトの名無しさん
21/02/02 18:31:30.06 Bbt0Bton.net
それアプリケーションじゃん

280:デフォルトの名無しさん
21/02/02 18:44:22.05 PI7tMABu.net
PyQtとEricでVSのwinformみたいに組めるよ。
ラズパイでGUIやれるようになって幸せ。

281:デフォルトの名無しさん
21/02/02 18:47:28.41 ERs0GZwW.net
まぁ初心者スレだし

282:デフォルトの名無しさん
21/02/02 18:53:45.22 SgZfZ3QH.net
Pythonってなに作るのに向いてるの?

283:デフォルトの名無しさん
21/02/02 19:00:48.91 u/HK1Pt5.net
>>279
Python を GUI で操作じゃないのか?
GUI を作りたいんかね。

284:デフォルトの名無しさん
21/02/02 19:07:55.98 SgZfZ3QH.net
C#でGUI作って
特定の処理だけPythonの方が普通なのか?

285:デフォルトの名無しさん
21/02/02 19:17:49.05 OU1WloPY.net
別に無理してPython使わなくても

286:デフォルトの名無しさん
21/02/02 19:17:56.73 DklR/gYA.net
GUIで操作ってOpenCVのimshowみたいなのをインタラクティブに操作したいってことでは?

287:デフォルトの名無しさん
21/02/02 19:30:44.46 cdl6o0Fq.net
Lua

288:デフォルトの名無しさん
21/02/02 19:48:05.52 Bbt0Bton.net
>>283
Python製のアプリケーションをGUIで操作ってことなら意味わかる

289:デフォルトの名無しさん
21/02/02 20:39:12.65 kp7FgpQM.net
今ではGUIが必要になったら、FlaskとVueを組み合わせて作ることが多くなった

290:デフォルトの名無しさん
21/02/02 20:55:55.73 NtuoF5yn.net
>>284
GUIを必要としないものは実は沢山ある
君がそういうものを思いつかないなら、おそらく君にPythonは適していない

291:デフォルトの名無しさん
21/02/02 21:13:01.59 PI7tMABu.net
>>282
ラズパイではこれが便利なんだよ。

292:デフォルトの名無しさん
21/02/02 21:14:50.83 PI7tMABu.net
ラズパイで色んな装置と通信するコンソールをGUIでやってみて、楽勝だった。

293:デフォルトの名無しさん
21/02/03 01:09:27.08 uyKGjePK.net
with文について質問です
withブロック内で新しく宣言した変数をブロックの外で使っても
エラーが発生しないのはなぜでしょうか?
with open('./example.txt', 'r', encoding='UTF-8') as file:
____data = file.read()
print(data) # ←この文です

294:デフォルトの名無しさん
21/02/03 01:24:18.13 NRhVzOUI.net
>>293
Pythonのローカルスコープは、関数内およびクラスのメソッド内でのみ作られる…はず
withは関数ではないから、dataはグローバル変数

295:デフォルトの名無しさん
21/02/03 02:16:42.71 FJQE1f2p.net
ブロック=スコープではなく制御文同様スコープ作りません
あとはPython3で内包表記が密かに作るようになったかな?

296:293
21/02/03 02:22:26.48 uyKGjePK.net
>>294
>>295
ありがとうございました
Pythonややこしい…

297:デフォルトの名無しさん
21/02/03 19:53:20.90 dO5q2ySB.net
すみません、openpyxlの質問はここでよろしかったでしょうか。
取り込んだエクセルから、指定のセルの文字サイズを得たいのですが、どなたかアドバイス下さい。

298:デフォルトの名無しさん
21/02/03 20:02:34.55 0a0VMm7q.net
>>297
>文字サイズ
文字数じゃなくてフォントのポイント数のことけ?それともまさかそれ以外(セルの高さとか)?

299:デフォルトの名無しさん
21/02/03 20:18:59.44 dO5q2ySB.net
ポイント数です。
print(cell.font)で、一覧としては出てきたのですが、
他のセルに貼り付けるために取得たいのですが、上手くいきません。

300:デフォルトの名無しさん
21/02/03 20:22:30.18 0a0VMm7q.net
>>299
「openpyxl フォント 設定」でまずぐぐり
気に入らない/理解できないならば
次に「openpyxl フォント サイズ」でぐぐる

301:デフォルトの名無しさん
21/02/03 20:30:33.12 dO5q2ySB.net
>>300
設定方法は、ネット上で見つけて何とかなったのですが、取得方法がうまくいきません。
だいぶ検索もしたのですが、、

302:デフォルトの名無しさん
21/02/04 06:10:52.03 Rmua4RGj.net
>>301のprint(cell.font)ってしてる
cellにナニぶっこんでるのかresして
結果の一覧とやらを>>1にのってるろだとかにのせたら
もちょい進める、かも

303:デフォルトの名無しさん
21/02/04 06:42:15.09 8ASdjdRY.net
とりあえず
簡単な画像比較作るか

304:デフォルトの名無しさん
21/02/04 07:17:40.73 V53VIWYq.net
(function (x, y) {
  ここに処理を書く
})(a, b);
JavaScript では上記のように擬似的なスコープを作って
上位スコープから変数を渡すことができますが
これと似たようなことをPythonで実現可能ですか?
グローバルの変数汚染を避けるのが目的です
以下のような無名関数として呼び出せればと思うのですが。。。
(def (x, y):
  ここに処理を書く
)(a, b)

305:デフォルトの名無しさん
21/02/04 09:26:22.09 c560f9Nc.net
>>304
lambdaでどーぞ

306:デフォルトの名無しさん
21/02/04 09:29:06.70 yNPj7IC/.net
>>304
普通は気にしない
Pythonのグローバル変数はモジュール(ファイル)の名前空間に属するから、グローバル名前空間を汚染しない
本当に局所的な変数が欲しいなら普通に関数を定義してローカル変数にして普通に呼ぶ
トリッキーなことはしないで素直に普通に書くのがPython流

307:デフォルトの名無しさん
21/02/04 10:47:48.68 ETtm6pXr.net
Pythonて関数の引数が参照渡しなんだな
値渡しだと思って今まで使ってたから調べてびっくりしたわ
リストなんかを変数で渡した場合は関数内で書き換えできてしまうから注意が必要だね

308:デフォルトの名無しさん
21/02/04 11:12:44.25 ZzRKCYY/.net
>>294
with の中を通らなかったときの data の値は必ず None で OK?

309:デフォルトの名無しさん
21/02/04 11:15:39.42 0AhC+pkm.net
>>307
引数が(変数の)参照渡しな訳ではないよ、元々が実体へのオブジェクト参照(PyObject*ポインタ)
値渡しはC的に言えばスタックに載せるという事であり、それは大抵のシステムで既定上限が数MB以下

310:デフォルトの名無しさん
21/02/04 12:21:19.44 fv2NAPkU.net
ナムパイとナンパイ、どっちですか?

311:デフォルトの名無しさん
21/02/04 13:42:24.63 eiMq+3qj.net
>>306
コーティングの是非を聞きたいのではなく
仕様として可能なのかを聞いています
単にそこに興味があるだけです

312:デフォルトの名無しさん
21/02/04 13:44:27.86 eiMq+3qj.net
>>305
もちろん考えましたが
何行にも渡るコードをlambdaでローカルスコープにするのは
実用的でないと思ってます
偉そうな書き方になってたら申し訳ない

313:デフォルトの名無しさん
21/02/04 13:45:16.38 4oTwDo+v.net
(lambda x,y:x+y)(1,2) -> 3
みたいな書き方はできる

314:デフォルトの名無しさん
21/02/04 14:21:08.73 8DiqYeP0.net
PILで読み込んだ画像とOPENCVで読み込んだ画像は、それぞれで扱うことはできないのでしょうか?
また、画像がどっちの形式で変数に入っているかを判断することはできないでしょか?

315:デフォルトの名無しさん
21/02/04 14:58:09.72 qhstqCrC.net
>>311
括弧を使ってスコープを切れるか? => 切れない
JSのIIFEを模倣できるか? => lambdaなら可
グローバル汚染を避けられるか? => そもそもグローバル汚染しない

316:デフォルトの名無しさん
21/02/04 15:06:35.15 qhstqCrC.net
>>311
lambda以外に無名関数を定義する方法があるか? => ない

317:デフォルトの名無しさん
21/02/04 16:13:42.50 Rmua4RGj.net
>>310
前者

318:デフォルトの名無しさん
21/02/04 16:54:20.60 4/57iig+.net
>>314
URLリンク(note.nkmk.me)
URLリンク(qiita.com)
URLリンク(wonderfuru.com)
URLリンク(tatabox.)はてなぶろ.com/entry/2013/07/21/231751

319:デフォルトの名無しさん
21/02/04 17:00:58.28 dB2jWvbu.net
netの情報はいい加減なのが多い

320:デフォルトの名無しさん
21/02/04 19:10:10.39 KK0mSk54.net
>>314
numpy.array(pil_image)でおーぷんしーぶいで扱える

321:デフォルトの名無しさん
21/02/04 21:04:09.36 c560f9Nc.net
python界隈は、ピップだのピップエンブだのパイパイだのパイエンブだの、固有名詞がダサすぎないかい。

322:デフォルトの名無しさん
21/02/04 21:06:02.85 Rmua4RGj.net
そもがモンティパイソンだからしゃーない

323:デフォルトの名無しさん
21/02/04 21:16:08.40 WFDJ+byI.net
並列で実行しておきたい関数があって
ある条件に一致したら終了する関数なのですが
終了して、まだキューになく並列実行してなかったら再度並列実行したいと思ってます
下記で同時実行しているタスク数や実行しているか確認することはできるのでしょうか
実行中はTrueが入っていると思ったらちがいました
executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
f = executor.submit(test_sub,1)
if f=True:
f = executor.submit(test_sub,1)

324:デフォルトの名無しさん
21/02/04 21:30:50.18 xGlwnT6u.net
競プロかなんかで時間ギリギリまで問題解きたいのか?

325:デフォルトの名無しさん
21/02/04 23:46:00.85 WzBF5t1f.net
>>321
ぱいぱい!!

326:デフォルトの名無しさん
21/02/05 07:49:10.98 PjtyCIQW.net
>>323
fはFutureオブジェクト

327:デフォルトの名無しさん
21/02/05 09:11:59.04 aDktR5P1.net
pythonのエラーの対応について教えて下さい
環境は3.6でエディタはAtomを使っています。
VBAとかだとどこでエラーが起きてもエラメッセージが帰ってくる思うのですが、
pythonだと関数から呼び出した関数で起きたエラーは、コンソールウィンドウに表示されず
メッセージ無しで止まってしまいます。
エラー対応で検索すると、Tryを使うとのことなのですが、
関数の始まりからtryで囲うやり方がベストなのでしょか?
全関数を以下の通り対応するのはスマートではないなと・・
def test():
try:
関数の中の全部の処理
except ****:

328:デフォルトの名無しさん
21/02/05 09:44:19.31 j/7809a/.net
普通に出力されるが

329:デフォルトの名無しさん
21/02/05 12:49:18.87 T/OPgv07.net
>>327
関数使うときにtryしたほうが良くね?

330:デフォルトの名無しさん
21/02/05 13:03:15.92 mRakDWTP.net
>>327
try使うときは
エラーがおきるかもしれない最小範囲のみをくくるべし

331:デフォルトの名無しさん
21/02/05 15:18:46.74 f8nqzbTK.net
最初にやった方法からさらにいい方法思いついてデータ量や実行時間が大幅に減らせたときの快感がたまらん

332:デフォルトの名無しさん
21/02/05 16:02:31.28 zkrcBcSu.net
それで、コードの可読性を損ねて、
後でどこを直せばいいかわからなくなることもしばしば

333:デフォルトの名無しさん
21/02/05 16:08:30.83 .net
try:
 エラーでそうな処理
except:

334:デフォルトの名無しさん
21/02/05 16:11:08.41 .net
途中で送信してしまいました
def
try:
 エラーでそうな処理
 return 11
except:
 エラー出たときの処理
 return 22
このエラー出たときに、エラー以外の処理を返すようなやり方はやめた方がいいですか?
エラーのときはExceptionなりでエラーをそのまま返す
みたいな

335:デフォルトの名無しさん
21/02/05 17:19:11.95 oYpVlEXM.net
>>334
「エラー出たときの処理」でエラーから復旧したと言えるならそれでいいんじゃないか
呼び出し側で対応が必要ならExceptionを返すべき

336:デフォルトの名無しさん
21/02/05 17:21:11.97 oYpVlEXM.net
× Exceptionを返す
○ Exceptionをraiseする

337:デフォルトの名無しさん
21/02/05 21:02:16.92 N5jEb7lV.net
Jsonファイルのリストの中から、
価格の情報だけを比べて、
一番大きい価格を取り出す方法が分かりません。
{
"status": 0,
"data": {
"list": [
{
"price": "4172840",
"symbol": "BTC",
},
{
"price": "4104400",
"symbol": "BTC",
}
}
こんなようなJSONがあって、
リストの中の、priceだけを比較して、
一番大きい、priceを取り出す方法が分かりません、
上の例だと、max( "price": "4172840" "price": "4104400")
となると思うのですが、
どうやってリストの中の価格だけを取り出して、
一番大きい値を取り出せばいいか分からないです。

338:デフォルトの名無しさん
21/02/05 22:23:34.72 6/zDXCCK.net
item = max(json_obj["list"], lambda i: i["price"])

339:デフォルトの名無しさん
21/02/05 22:36:41.20 ltTaykUg.net
ジェイソン!

340:デフォルトの名無しさん
21/02/05 22:57:54.64 T/OPgv07.net
410万ビットコインって幾らになるんだろう?17億円くらいかな?

341:デフォルトの名無しさん
21/02/05 23:29:03.53 N5jEb7lV.net
>>338
ありがとうございます!
string indices must be integers
とエラーがでてまだ取れてないけど、、
もう少し調べて頑張ってみます。

342:デフォルトの名無しさん
21/02/06 08:39:05.31 UyfeHPoO.net
今までpcで動かしてた機能をandroidで動かしたい
apkを作るにはkivy とbuildozerを使うらしい
こっちの環境作るのにも詰まってるけどそもそも今動いてる.py をそのまま使えるのかも分からない
何か書き換えとか必要?
そして環境構築方法詳しく載ってるサイトがあったら教えてください。

343:デフォルトの名無しさん
21/02/06 10:54:46.58 PohEB++t.net
sl4a

344:デフォルトの名無しさん
21/02/06 11:42:13.31 IR3wWC2w.net
sl4aは見つけたけどapkにしたいんだ....

345:デフォルトの名無しさん
21/02/06 13:29:12.16 ROiZJzWf.net
python のメソッドって
def hoge(x,y):
以下中身
まではわかるんだけど
終わりの区切りはどうなってるの?
空行できたらそこで終わり?
returnとかあればいいの?

346:デフォルトの名無しさん
21/02/06 13:40:24.90 FU+/gIxh.net
>>345
カラ行は無視で
なんか書いてある行のインデントの深さが変わったらそのブロックはおしまい

347:デフォルトの名無しさん
21/02/06 13:54:35.07 ROiZJzWf.net
>>346
インデントか
なるほど
ありがとうございます
勉強になりました

348:デフォルトの名無しさん
21/02/06 14:24:19.00 FU+/gIxh.net
>>347
体系化ずみのサイトなりテキストなりを一冊読んだ方が
遠回りにみえるかもしらんが
一番早道だぉ
ノシ

349:デフォルトの名無しさん
21/02/06 15:12:36.40 6eQmSTNr.net
>>337
Ruby では、文字列の値を、数値へ変換すればよい。
と言うか、変換するのが面倒なので、最初から数値で、やり取りすれば良いだけ
require 'json'
# 値が数値
json_1 = <<'JSON'
{ "a":1, "b":2 }
JSON
p JSON.load( json_1 ) #=> {"a"=>1, "b"=>2}
# 値が文字列
json_2 = <<'JSON'
{ "a":"1", "b":"2" }
JSON
p hash = JSON.load( json_2 ) #=> {"a"=>"1", "b"=>"2"}
# 文字列の値を、数値へ変換する
hash.each { |key, val| hash[ key ] = val.to_i }
p hash #=> {"a"=>1, "b"=>2}

350:デフォルトの名無しさん
21/02/06 15:26:54.07 sxvkqNg5.net
NG推奨ワード: Ruby

351:デフォルトの名無しさん
21/02/06 19:20:59.71 8pppcqNFl
>>337
URLリンク(ideone.com)

352:デフォルトの名無しさん
21/02/06 22:21:18.88 WYrAP15n.net
for num in range(5):
print(num)
if num==3:
num=num-1
ていうのを動かすと
0,1,2,3,4
ていう結果になる。
0,1,2,3,3,3,......
ていう結果にしたいんだけどどうすればい?
下のような動きにしたい。
for i=0 to 5
print i
if i=3 then i=i-1
next

353:デフォルトの名無しさん
21/02/06 23:05:26.75 l1Q4fjMo.net
URLリンク(ideone.com)

354:デフォルトの名無しさん
21/02/06 23:08:53.63 s8ZQn1/T.net
その例のコードで 0,1,2,3,3,3,...... って出力されるの?
やべーねその言語

355:デフォルトの名無しさん
21/02/06 23:10:49.88 B5gVBJsh.net
forじゃなくてwhileを使うのでは…

356:デフォルトの名無しさん
21/02/06 23:11:47.83 Ye4r/rjw.net
for i in range(5):
print (min(i, 3))

357:デフォルトの名無しさん
21/02/06 23:12:43.26 9BgHZVUo.net
for i in range(5):
____if i > 3 : i=3
____print(i)

358:デフォルトの名無しさん
21/02/06 23:15:55.88 1hxtRDLK.net
やりたいことはジェネレーターで無限ストリームっぽい気がする

359:デフォルトの名無しさん
21/02/07 00:16:21.39 jpmL2+yv.net
こういうこと?
i = 0
while True:
x = i
if i > 2:
x = 3
i = i + 1
print(x)

360:デフォルトの名無しさん
21/02/07 02:02:20.67 QRtsbk1z.net
[i if i < 3 else 3 for i in range(5)]

361:デフォルトの名無しさん
21/02/07 04:46:16.11 9cKdY56s.net
printせえよ

362:デフォルトの名無しさん
21/02/07 08:50:24.56 JR5bkMUq.net
>>352
まじほんと>>354だは…
351は偽Pythonをつかまされているのでは

363:デフォルトの名無しさん
21/02/07 09:10:55.34 FFuFCGQD.net
sorted関数はwindowsの名前順と同じようにソートするんですか?
natsort?

364:デフォルトの名無しさん
21/02/07 10:44:13.68 KNf11SZT.net
dictの型ヒント書こうとしているんだけど、TypeScriptみたいにキー毎に
値の型を指定するような芸当は無理だよね?

365:デフォルトの名無しさん
21/02/07 10:57:54.98 7XkuYEp+.net
>>364
typeddictとかいうの無かったっけ
tsと同じようなことできた気がする

366:デフォルトの名無しさん
21/02/07 11:24:42.44 KNf11SZT.net
すげぇ。ありがとう。

367:デフォルトの名無しさん
21/02/07 11:44:28.72 kn8KLgWd.net
>>363
Windowsのソート順は分からないけど

368:デフォルトの名無しさん
21/02/07 13:56:45.22 +o5/+U2b.net
>>367
windows上で、フォルダの中に名前順に並んだ複数ファイルがあって
これをそのままの順番で取得したいんですが、glob+sortedでいいのでしょうか?
windows上での並び順と異なる場合があるとかだと困るのです

369:デフォルトの名無しさん
21/02/07 14:00:38.24 NCHwUWPY.net
>>368
なんで困るの?

370:デフォルトの名無しさん
21/02/07 14:10:44.92 7XkuYEp+.net
sortedはnatsortじゃないです

371:デフォルトの名無しさん
21/02/07 14:11:22.42 3B496xZd.net
_1 と _01 の話でしょう。
エクスプローラは長さ判定の方が
優先順位が高いアルよ

372:デフォルトの名無しさん
21/02/07 14:33:32.29 mFk3/GAA.net
エクスプローラーのソート順は全角半角同一視とかロケール依存もあるでよ

373:デフォルトの名無しさん
21/02/07 15:22:35.38 FFuFCGQD.net
スクリプト使用者は日本語環境のwindows
フォルダ内に任意の命名規則の連番ファイルが数種類混在する
つかわれる文字種は全半角日本語英語、数字と記号(文字化けした中国語っぽいやつはありえる)
例えば
.01.02
.あ001.い001
._01a._01b
という3ルールがひとつのフォルダ内にあって、命名規則は制限できない
エクスプローラー上で表示される名前順の並びに意味があるので、順番を保持したデータ構造を取得したい
です!

374:デフォルトの名無しさん
21/02/07 15:31:29.22 0RC+Q+w9.net
あ、個々の連番ファイル作成者も日本語windowsのエクスプローラーで順番を確認してます

375:デフォルトの名無しさん
21/02/07 15:39:10.65 LHj1ntdf.net
sortedは単なる辞書順

376:デフォルトの名無しさん
21/02/07 15:54:16.47 UfsgAoOW.net
natも違う
windowsは.01→01と並べるけどnatは逆になる

377:デフォルトの名無しさん
21/02/07 16:09:32.73 QRtsbk1z.net
それを使って何がしたいのか分からないと見当違いになるかも知れないけど
ファイルへの処理を疎結合にはできないの?
あとはこれもnatsortと同じなのかな
sorted(paths, key = lambda x: int(x.name))

378:デフォルトの名無しさん
21/02/07 16:13:58.14 kn8KLgWd.net
そもそもWindowsと同じ並びにしなければならない理由が理解できないんだけど
どういう理由なの?
もし並び順に依存した処理が必要なんだっていうならばその実装がおかしいと思うけどな

379:デフォルトの名無しさん
21/02/07 16:22:59.73 NCHwUWPY.net
エクスプローラー上で表示される名前順に依存しなきゃいけないシステムってのがよくわからないけど
とりあえずnatsortのos_sorted()を試してみたら?
Windowsの場合はエクスプローラが使ってるAPIを使ってる
エクスプローラのソート仕様を100%把握するのは無理な気がするので
どういうテストケースを通ればOKとするかは事前に決めておかないと後で困りそう

380:デフォルトの名無しさん
21/02/07 16:25:23.50 KNf11SZT.net
windowsと同じにって言っても、ファイルシステムがFAT系とNTFSでも違った気がする。

381:デフォルトの名無しさん
21/02/07 17:00:56.73 FFuFCGQD.net
>>379
あーこれですね。たぶん
ちょっと様子見つつ、動かしてみます。ホント助かりました
>>377
a, bさんがそれぞれ独自の連番データを持ってて、Aというひとつのフォルダに入力します
bさんは“エクスプローラーの名前順で”aさんのデータのあとに自分のデータを置くこと
aさんとbさんは異なる命名ルールを使って、第三者が“命名ルールを見て”群を区別できるようにすること
がルールです
そうして出来たAフォルダの中身を、自分が上から順に読み込んで処理する
みたいな…

382:デフォルトの名無しさん
21/02/07 17:11:24.53 QRtsbk1z.net
正規表現で群を分割してそれぞれの群に対して逐次処理していく
とかだと駄目なのかな?
単純にソートして順に処理していくとファイル漏れがあった時とかにバグりそう

383:デフォルトの名無しさん
21/02/07 17:25:25.92 kn8KLgWd.net
早々に破綻しそう
ユーザー名や更新日時を基準に考え直した方が早いよ

384:デフォルトの名無しさん
21/02/07 17:31:05.90 JR5bkMUq.net
ういんどーずあぷでーとである日地獄になりそう

385:デフォルトの名無しさん
21/02/07 17:42:05.53 kn8KLgWd.net
まずaさんとbさんのデータをわけなよ
その上でファイル名を正規化してソート出来る形にする
ソートの基準が違うものをソートしようとしてるから物事が複雑になる
なのでまずはソートの基準を揃えることから始めたら良いんじゃねーかな

386:デフォルトの名無しさん
21/02/07 17:59:41.51 Ezbk+4+j.net
要するに
[".1", "10", "2", "1", ".2", "1"]
をwindowsエクスプローラー上の名前順
[".1", ".2", "01", "1", "2", "10"]
にソートするにはどうすればいいか的な話でしょ?
つか状況がクソだぞって指摘はしてあげるべきだろうが
そこを変えろって回答は論外じゃ…

387:デフォルトの名無しさん
21/02/07 18:10:18.26 /kKFnkGm.net
システムはエクスプローラーとか、特定のアプリのアルゴリズムに依存すべきじゃない。
ある日突然、変わるかも知れない。
API・規格が無保証だろ
自分のアプリは、自分で規格を定義すべき。
そうしないと、可搬性がなくなる
OS・ファイルシステムが異なると、結果が違ってくるから

388:デフォルトの名無しさん
21/02/07 18:12:05.44 RFMN3ZYm.net
こういうメンドクセーもんは大抵はどっかの誰かが既に作ってあるハズだからpypiで探すか
標準で提供されてると見当つけて公式サイトを探す
自分が欲しいと思ったモンは99.99%の確率で他の誰かが既に実装してる

389:デフォルトの名無しさん
21/02/07 18:12:49.36 NCHwUWPY.net
>>386
命名ルールがわからないからそれで十分かどうかはわからない
ある時点のあるPCで見たエクスプローラの名前順をPythonで再現したいという話
命名ルールも再現したいエクスプローラのソート仕様の範囲も不明確なので事故るかどうかは運任せ

390:デフォルトの名無しさん
21/02/07 18:31:26.56 4v/nAOdw.net
>>368
windows って explorer で表示したときの並び順と
プロンプトで dir で表示したときの並び順が
違うって知ってた?
0000
0001
1
111
10
20
みたいなファイル名で試してみ

391:デフォルトの名無しさん
21/02/07 18:39:15.86 JR5bkMUq.net
>>390
エクスプローラのソートとひとくちにいっても、
ターゲットのフォルダをあけた状態と
そこから左カラム右クリック新しいウインドウから開く でもいっこあけた窓の中で
順番変わる

392:デフォルトの名無しさん
21/02/07 18:53:51.92 cgYbYP7a.net
この言い訳の山よw

393:デフォルトの名無しさん
21/02/07 18:54:51.98 JR5bkMUq.net
>>392
見本コードはようp

394:デフォルトの名無しさん
21/02/07 19:04:34.30 uQM/ElP7.net
並列処理をしているときに、何が実行されているか確認することって出来ますか?
キューに入って順番待ちになっているタスクも確認したいです。
WEBページを2〜3ページ並列で取得するようにしてるのですが、並列にしたときにデバッグで確認することも難しく教えていただければと思います。

395:デフォルトの名無しさん
21/02/07 19:05:55.85 kn8KLgWd.net
Pythonだとcelery

396:デフォルトの名無しさん
21/02/07 19:25:21.61 3B496xZd.net
9x年代の「accessの美しいsort順」の
再来かよw
アレの実装も凄いな

397:デフォルトの名無しさん
21/02/07 20:09:13.36 kn8KLgWd.net
>>386
そもそもユーザーがソート順変えたら破綻する仕組みに依存した設計とかどうしようもないだろ

398:デフォルトの名無しさん
21/02/07 20:11:08.97 JR5bkMUq.net
ユーザーが2個目のウインドウ開けてそっち見たらおしまいな件

399:デフォルトの名無しさん
21/02/07 21:30:52.36 HPp7Agld.net
URLリンク(docs.microsoft.com)
windowsのpythonのos_sortedはこれで判定してる

400:デフォルトの名無しさん
21/02/07 21:33:41.58 xkZ6C6tJ.net
Behavior of this function, and therefore the results it returns, can change from release to release. It should not be used for canonical sorting applications.
だとさ

401:デフォルトの名無しさん
21/02/08 00:38:44.29 5J2edDoW.net
>>398
横から
これで順番変わってる状態って見たことないけど、どういうファイル名の並びだとそうなるん?

402:デフォルトの名無しさん
21/02/08 02:14:42.69 wlkdd0te.net
ラズパイを載せたGoPiGoロボカーで、線虫脳シミュレート
URLリンク(www.youtube.com)
エラーを解決したので、試しに動かした

403:デフォルトの名無しさん
21/02/08 03:02:58.50 wlkdd0te.net
コードはGithubで公開されてるものを突っ込んだ

404:デフォルトの名無しさん
21/02/08 09:25:13.35 wJ3JIqDy.net
>>396
くわしく

405:デフォルトの名無しさん
21/02/08 09:29:15.28 dM4oOJoS.net
スイッチのONOFFに連動してアクション起こすものを作ってみたくてほぼ期待通りの挙動させられるようになったのですが、たぶんimportで他.py呼び出す時にエラー?になります。
スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。
importで呼び出す場合は回数制限のようなものがあるのでしょうか?

406:デフォルトの名無しさん
21/02/08 10:17:14.59 WsHYblSd.net
どんなエラーがでてるか、そのまま貼った方がいいと思うな

407:デフォルトの名無しさん
21/02/08 10:58:40.46 hgsCKB/O.net
importの実行は一度だけ
なので関数にして都度実行

408:デフォルトの名無しさん
21/02/08 12:17:07.33 5JxS4RLe.net
「importで他.py呼び出す時」
「importで呼び出す」
perlじゃないから考え方を変えろ

409:デフォルトの名無しさん
21/02/08 12:27:47.27 yv+/ZfUq.net
Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね
ソースのその箇所に埋め込む感じの

410:デフォルトの名無しさん
21/02/08 12:44:47.59 5KN+Fjzm.net
>>409
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ

411:デフォルトの名無しさん
21/02/08 13:10:02.10 dM4oOJoS.net
>>406
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。
>>407
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。
>>408
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。

412:デフォルトの名無しさん
21/02/08 14:02:52.07 hgsCKB/O.net
>>409
>>411
Pythonのimportは名前空間にパッケージ名を登録してるだけ
import package # プロセスの名前空間にパッケージ名を登録
package.function() # packageに書いた関数を使う
import時、プロセス内に同じ名前のパッケージ名があれば読み込み不要だからキャンセルされる
なので >>405 のように一度しか実行されないってことになります

413:デフォルトの名無しさん
21/02/08 18:22:57.82 .net
pandasのdropってディープコピーってことは
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか

414:デフォルトの名無しさん
21/02/08 18:54:54.09 0fSH6U0R.net
Ruby でも、require・load は異なる
require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う
つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある

415:デフォルトの名無しさん
21/02/08 20:10:14.07 Ar0nSnLQ.net
>>413
IOに比べたらカスみたいなもんだからどうでもいい
実際遅かったら直せばよい

416:デフォルトの名無しさん
21/02/08 20:50:16.85 wJ3JIqDy.net
推奨NGワード: Ruby

417:デフォルトの名無しさん
21/02/08 21:18:46.00 .net
>>415
なるほどありがとうございます
とりあえずはまとめられる処理はできる限り一つにまとめてみます

418:404
21/02/08 21:40:53.51 TgcbDI6H.net
正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。
元々のコード:URLリンク(codepad.org)
変更後:URLリンク(codepad.org)
スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。

419:デフォルトの名無しさん
21/02/08 21:44:11.22 XWqxRkjb.net
>>404
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。
それの紹介記事は残っていた
URLリンク(atsushieno.hatenadiary.org)
webアーカイブに残っているかなぁ?

420:デフォルトの名無しさん
21/02/08 22:22:53.64 XWqxRkjb.net
>>419
アーカイブされていた
URLリンク(web.archive.org)URLリンク(www.asahi-net.or.jp)

421:デフォルトの名無しさん
21/02/08 23:57:12.05 qlvhc88X.net
親切な方誰か教えてください。
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?

422:デフォルトの名無しさん
21/02/09 00:03:22.35 Vys7ayWD.net
3.6で始めて欲しい機能が最新版にしかなかったら
その時移行する

423:デフォルトの名無しさん
21/02/09 00:05:25.90 9lYAN9ot.net
仮想環境があるから正直どうでもよい

424:デフォルトの名無しさん
21/02/09 00:08:54.47 gY4wTt7u.net
>>422 422
ありがとう。とりあえず3.6で初めてみます

425:デフォルトの名無しさん
21/02/09 00:33:28.54 D2eLzUKh.net
3.9でいいよ
・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める
3.6にあってそれ以降無くなった機能あったっけな?

426:デフォルトの名無しさん
21/02/09 01:08:10.84 WN7fm/D8.net
3.8だと思うように動作しないライブラリあったから3.6に戻した
それ以来,ずっと3.6

427:デフォルトの名無しさん
21/02/09 01:23:34.91 iwKT59GY.net
3を指定すると3.7.8か3.7.9あたりになるのが多い気がするからその辺が互換的にもよさそう

428:デフォルトの名無しさん
21/02/09 08:41:41.04 ArPH6UCx.net
>>419-420
読んでたら頭痛くなってきた…
これMSがちゃんと仕様公開しなきゃ駄目だよなぁ…

429:デフォルトの名無しさん
21/02/09 09:16:09.94 oB9H/ghx.net
教えていただきたいのですが、
tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。
tkinterは非同期モジュールらしく、
これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?

430:デフォルトの名無しさん
21/02/09 09:21:39.36 LMsNGPvT.net
非同期なのにフリーズするっておかしくね?

431:デフォルトの名無しさん
21/02/09 10:20:06.37 fLSeggtA.net
>>429
コード見てみないとなんともだけど
非同期のコードかかずにwhileで回してるだけになってるとか

432:デフォルトの名無しさん
21/02/09 11:42:31.22 oB9H/ghx.net
すみません、非同期とかよくわかっていなかったです。
ボタンが全く押せず、ブレークでwhile文から抜けるしかない状況です
import tkinter as tk
import tkinter.messagebox
import time
def start():
global stop_flag
  timer_time = time.time()
while stop_flag == False:
txt.insert(tkinter.END,str(time.time()-timer_time))
if time.time()-timer_time >5:
txt.insert(tkinter.END,str(time.time()-timer_time))
break
def stop():
global stop_flag
stop_flag=True
stop_flag = False
root = tk.Tk()
root.geometry("200x150+30+600")
end_button = tk.Button(root, text = "START", command =start)
end_button.place(x = 5, y = 10)
end_button = tk.Button(root, text = "STOP", command =stop)
end_button.place(x = 5, y = 40)
txt = tk.Entry(width=20)
txt.insert(tk.END,"0")
txt.place(x = 5, y = 70)
root.mainloop()

433:デフォルトの名無しさん
21/02/09 11:59:05.97 ngdRC2S+.net
>>418
まずはこんな感じのswitch文を使うような状態遷移にした方がいいんじゃね
pythonにはswitchは無いからif-elseでやるしかないけど
不変でコンパクトならswitch~caseで状態遷移したっていい|Marupeke-IKD|note
URLリンク(note.com)
11.リアルタイム制御とステートマシン
URLリンク(www2.denshi.numazu-ct.ac.jp)

434:デフォルトの名無しさん
21/02/09 13:05:59.09 YRe7Jw73.net
pandasで列aと列bの各値同士の計算結果を同じデータフレームに代入しようと思い
df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
df['c-a'] = df[['a','c']].diff(axis=1)['c']
と、してみましたが['c']が納得いきません
列ラベル名があるときも[:1]みたいに取り出したいのですがエラーでした

435:デフォルトの名無しさん
21/02/09 13:12:01.53 YRe7Jw73.net
訂正 >df['c-a'] = df[['a','c']].diff(axis=1)['c']
df['c-a'] = df[['c','a']].diff(axis=1)['a']
でした
この['c','a']の順は保証されるのかも気になります

436:デフォルトの名無しさん
21/02/09 13:19:02.92 Vys7ayWD.net
>>432
sleep(0.1)
txt.update()

437:デフォルトの名無しさん
21/02/09 13:20:02.81 YRe7Jw73.net
df['c-a'] = df[['c','a']].diff(axis=1).iloc[:,-1]
適当にやっていたらこれでいけました・・ >>434,435

438:デフォルトの名無しさん
21/02/09 13:43:29.24 3rwMtM14.net
>>432
start関数が5秒経つまでループしてて戻らないから
Pythonに限らずGUIの場合UIを動作させるにはメインスレッドを独り占めしちゃだめなのよ
>>436みたいなやり方もあるけど
sleepすらしない単純なループでの待ちは無駄にCPU使用率が上がるだけなので避ける
時間経過はタイマーイベントを使う
時間がかかる処理は別スレッドにする
という方向で考えた方がいいよ

439:デフォルトの名無しさん
21/02/09 15:54:12.06 oB9H/ghx.net
>>436さん、>>438さん
ありがとうございます。
タイマーイベント?を調べてみます

440:デフォルトの名無しさん
21/02/09 19:52:16.41 F09oemYA.net
tesseractの他にocrのライブラリってありますか?
教えて下さい。よろしくお願いします。

441:デフォルトの名無しさん
21/02/09 20:42:00.18 A4TUXs3r.net
>>433
ありがとうございます。もうちょっとちゃんと勉強してみます。

442:デフォルトの名無しさん
21/02/09 22:37:06.14 48/GVgda.net
Pathlibで特定のフォルダ以下のファイルを全てglobして
全てのファイルに対して特定の処理をし
その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです
フォルダ構造を維持しつつ保存するために
hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?

443:デフォルトの名無しさん
21/02/09 22:48:35.91 48/GVgda.net
Path(os.path.relpath)で出来ました

444:デフォルトの名無しさん
21/02/10 00:20:56.79 3asw//Zv.net
relative_to()
ドキュメント、読もう!

445:デフォルトの名無しさん
21/02/10 07:56:31.78 lV7BodTW.net
イテレータを使わなければならない状況がきてようやく仕組みがちょっと理解できた
今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど
やっぱり必要になって使うべき場面がこないと覚わらんね

446:デフォルトの名無しさん
21/02/10 08:02:53.10 0JH6aNHf.net
使わなくても実装は出来るけどな。

447:デフォルトの名無しさん
21/02/10 11:18:29.15 4pogzqlY.net
PySide2のQDialogをESCで閉じさせない方法ってありますかね
調べても出てこない

448:デフォルトの名無しさん
21/02/10 12:24:44.38 QctJSG9o.net
>>445
イテレータイマイチ使うシーンが想像できんわ

449:デフォルトの名無しさん
21/02/10 13:05:03.29 3asw//Zv.net
頭から順に処理するならイテレーター
値は取り出すまで評価されない
リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する

450:デフォルトの名無しさん
21/02/10 13:27:54.75 2MYUAlGB.net
ジェネレータイテレーターな

451:デフォルトの名無しさん
21/02/10 13:44:33.50 k3XYYQgl.net
>>448
for文使ってればイテレータ使ってる
rangeでもlisyでもstrでも同じようにfor文で回せるのはイテレータのおかげ


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch