1 名前:デフォルトの名無しさん mailto:sage [2021/01/09(土) 05:22:25.24 ID:IpHIsox4.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがあるのでそっち池。 「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合は、 表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。 【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意! 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公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】 https://mevius.5ch.net/test/read.cgi/tech/1602896738/ 次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい) ### END OF TEMPLATE ###
3 名前:デフォルトの名無しさん mailto:sage [2021/01/10(日) 15:10:53.34 ID:dzQMColf.net] 文字列の分割について質問です 以下のコードで、最初と最後の空文字列を取って表示する方法はないでしょうか? https://paiza.io/projects/ar6X8-2ECCzq2wtbKmhSiA pop()を使えばできますが、事前に表示させないようにする方法はないでしょうか?
4 名前:デフォルトの名無しさん mailto:sage [2021/01/10(日) 15:20:26.51 ID:V6y8E0W0.net] [x for x in msg.split() if len(x) > 0]
5 名前:デフォルトの名無しさん mailto:sage [2021/01/10(日) 15:41:23.59 ID:fqhi9u3I.net] >>3 strip() or inspect.cleandoc() https://paiza.io/projects/eHfooTedeaj4X-_Xtw6flw
6 名前:デフォルトの名無しさん [2021/01/10(日) 16:04:48.54 ID:8MUFuLES.net] splitlines() https://paiza.io/projects/1Mk6pIrG8brxCGyH2G3dng
7 名前:3 mailto:sage [2021/01/10(日) 16:07:06.76 ID:dzQMColf.net] >>4 >>5 参考になりました ありがとうございました
8 名前:3 mailto:sage [2021/01/10(日) 16:08:47.20 ID:dzQMColf.net] >>6 すいません、書き込んでる途中でした ありがとうございました
9 名前:デフォルトの名無しさん [2021/01/10(日) 16:15:43.93 ID:8MUFuLES.net] msg[1:].splitlines()
10 名前:デフォルトの名無しさん mailto:sage [2021/01/10(日) 23:29:35.79 ID:AA/SLvm2.net] ここかくだれす!
11 名前:デフォルトの名無しさん [2021/01/11(月) 09:22:43.53 ID:1PVtmv2H.net] if文の判定で関数を使うときにその関数結果をIF分の中で使用するのですがスマートな書き方はありますでしょうか 以下のように毎回関数ABを先実行して変数に格納するように工夫してみたのですがちょっと無駄が多いかなと。。 if 関数A is not None: cv2.imshow(関数A , img) elif 関数B is not None: cv2.imshow(関数B , img) ※関数Aは2回実行される ↓ kansu_Afile = 関数A kansu_Bfile = 関数B if kansu_Afile is not None: cv2.imshow(kansu_Afile , img) elif kansu_Bfile is not None: cv2.imshow(kansu_Bfile , img) ※最初に関数ABが実行される
12 名前:デフォルトの名無しさん mailto:sage [2021/01/11(月) 10:02:47.17 ID:KJWJajMs.net] >>11 代入式 https://www.python.org/dev/peps/pep-0572 もしくは関数化してearly returnと組み合わせる
13 名前:デフォルトの名無しさん [2021/01/11(月) 18:12:10.62 ID:emOMJ/kr.net] root.titleで指定してもウィンドウは開くけど開いた窓にタイトルがつかないのは何故ですか?
14 名前:デフォルトの名無しさん [2021/01/11(月) 23:45:10.27 ID:1PVtmv2H.net] >>12 さん ありがとございます。代入式というのがあるのですね 教えてもらった内容でうごきました
15 名前:デフォルトの名無しさん [2021/01/12(火) 15:31:11.80 ID:LUlB/OIG.net] >>13 e.s.p.してみる 失敗する方 root.title = u'abc' 成功する方 root.title(u'abc') 但し root.title = u'abc' してしまったあとに root.title(u'abc') しようとしても関数が無いと言われるだろうな
16 名前:デフォルトの名無しさん mailto:sage [2021/01/12(火) 20:07:58.41 ID:Fas3JEHJ.net] 先日初めてプログラミング言語を勉強し始めた初心者の者なのですがpipがダウンロード出来ずに困ってます ネット色々と調べget-pip.pyというものをダウンロードしてコマンドプロントからダウンロードしてみたり環境変数から色々と触ってみたりはしていますがどれも全く上手くいきません どなたか分かる方はいらっしゃいますでしょうか?
17 名前:デフォルトの名無しさん mailto:sage [2021/01/12(火) 20:28:28.70 ID:N7+0FVJh.net] python -m pip install hogehoge
18 名前:デフォルトの名無しさん mailto:sage [2021/01/12(火) 20:39:50.67 ID:Fas3JEHJ.net] 無駄でした そもそも上でも書いてある通りpipがダウンロードされていないみたいなのでそれが出来ずに困ってます
19 名前:デフォルトの名無しさん mailto:sage [2021/01/12(火) 21:17:34.90 ID:IQ0Q247+.net] WindowsならマイクロソフトストアからPythonインストールするのが楽だと思う
20 名前:デフォルトの名無しさん [2021/01/12(火) 23:16:53.74 ID:RB03ab36.net] >>15 ありがとうございます。 いろいろ試してみたらChromebookの仮想環境だとなぜかタイトルがでなくてWindowsマシンだとちゃんとでるようです。 vscode使用tkinterは8.6のようです
21 名前:デフォルトの名無しさん [2021/01/12(火) 23:19:13.27 ID:RB03ab36.net] すみませんお騒がせしました。 ほかの標準ではいってるようなアプリもウィンドウタイトルでてないので多分Chromebook側の仕様ということで自己解決しました
22 名前:デフォルトの名無しさん [2021/01/13(水) 16:36:12.00 ID:zcsn6Lf0.net] リネーム処理はpowershellとpythonどちらがいいのでしょうか? フォルダの先頭ファイルをフォルダ名としたいですが、powershellはマイナー言語なんでしょうか?あん
23 名前:デフォルトの名無しさん [2021/01/13(水) 16:47:23.26 ID:C+q6Ee0+.net] 書きやすい方でいいのでは?あん Pyhonにもpathlibを使えばパスの扱いは困らない
24 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 18:54:56.37 ID:vKzJc+yq.net] >>22 Python使った方がまちがいがおきにくいあん
25 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 19:40:47.40 ID:zwUHpXfQ.net] すいません。JavaとPythonはどっちが飯食えますか? 一番ラクに稼げる言語ってなに? 教えてエロい人
26 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 19:57:22.93 ID:qgLY/YWl.net] どちらも楽には稼げない
27 名前:デフォルトの名無しさん [2021/01/13(水) 20:05:18.52 ID:zcsn6Lf0.net] リネーム処理に一般的に使われるのはどっちなんでしょうか?
28 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 20:48:58.44 ID:1NO/A2tW.net] シェルスクリプト
29 名前:デフォルトの名無しさん [2021/01/13(水) 21:10:37.57 ID:C+q6Ee0+.net] >>27 そこに拘る理由が分からん 「組み込みシステムに一般的に使われるのはどっちなんでしょうか?」とかなら向き不向きが分かれるが、リネームなんてピンポイントかつ些末な処理はどの言語でも普通にできるから
30 名前:デフォルトの名無しさん mailto:sage [2021/01/13(水) 23:46:40.03 ID:uZRkh4HP.net] >>25 基本、自社開発系ベンチャーのRuby vs SES 系のJava土方の2大勢力 YouTube で有名な、雑食系エンジニア・KENTA は、Rubyで、 逆に、SES 系のモローは、Java, PHP Ruby on Rails の学校で大儲けしたのは、マコなり。80万円ぐらい。 一方、最安値は、東京フリーランスのデイトラで、10万円 Java は奴隷だから、誰でも受かる。 PHP も、KENTAのサロンで誰かに聞けば十分 SES奴隷土方になりたくない香具師が、大金を払って、学校へ行って、 自社開発系ベンチャーを目指す Python は、どちらでもない。 MIT など、理系の大学院生だけ
31 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 00:07:19.97 ID:hXZPMCaj.net] NG推奨ワード: 自社開発系 ベンチャー Ruby 土方 YouTube 雑食系 KENTA モロー Rails 大儲け マコなり フリーランス デイトラ 奴隷 サロン 香具師 大金 学校 理系の大学院
32 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 00:29:12.99 ID:z8Bt+aan.net] ハイ!KENTAでーす
33 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 00:55:47.70 ID:9aZMy7Uh.net] >>22 PowerShell よりも、Ruby が簡単。 ただし、DryRun なので実際には実行されません。 ファイル名には、拡張子がない場合だけに対応しています require 'fileutils' parent_dir = 'c:/users/owner/documents/test' src_dir = parent_dir + '/abc' # 絶対パスのディレクトリ名の後ろに、* を付けること! # . で始まる、隠し directory, file を除く file_name = Dir.glob( src_dir + '/*' ) .select { |full_path| File.file?( full_path ) } # ファイルのみ .map { |full_path| File.basename( full_path ) } # ファイル名のみ .sort.first # ソートして、最初のファイル名 dest_dir = parent_dir + '/' + file_name # フォルダ名を変更 FileUtils::DryRun.move( src_dir, dest_dir ) 表示 mv c:/users/owner/documents/test/abc c:/users/owner/documents/test/a
34 名前:デフォルトの名無しさん [2021/01/14(木) 01:14:19.82 ID:6VtHfWk2.net] >>30 キーワードに反応して定型文を返すだけのbot?
35 名前:30 mailto:sage [2021/01/14(木) 02:04:47.93 ID:9aZMy7Uh.net] 2021/1/1 AWS のトップYouTuber・くろかわこうへいの転職話。 SES 奴隷から抜け出して、自社開発系へ転職 年収100万上げて自社開発企業に転職したらSESの営業がキレて大ゲンカした話 【オキテ破りのギリギリ転職術】 https://www.youtube.com/watch?v=CFs41De_KGw
36 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 03:03:19.56 ID:kvGQqxiC.net] message = "2021-01-01 00:00:00" df.query(f"Time != {message}") Pandasで特定の時間の行だけ省きたいのですが、上記のように書くと空白のせいかinvalid syntaxが出てうまく動きません dt.strptimeでdt型にしてみたりもしたけと変わりませんでした バグですかね?何かいい方法無いですか?
37 名前:デフォルトの名無しさん [2021/01/14(木) 05:10:37.97 ID:MIjftGny.net] >>29 powershellってマイナーなのかなと
38 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 05:27:54.43 ID:hEUP5GFy.net] >>36 to_datetimeメソッドで変換してしまうとか ブールインデックスを使うとか 「pandas query 日付」とかで検索してみると良いかも https://daizyu.com/posts/2020-05-18-001/ query()の中で変数は@でも参照できるよ df.query('Time != @message')
39 名前:デフォルトの名無しさん [2021/01/14(木) 08:33:20.05 ID:5P4t3Lo7.net] 『独習Python』という本に, data1 = 'abc' data2 = 'abc' とすると,data1 == data2 も data1 is data2 も両方ともTrueになると書いてあります. 一方で, 「この挙動はあくまで内部的なものです.文脈によっては,str(文字列型)であっても,「同値であって同一ではない」という状況は発生します.」 と書いてあります.data1 is data2 がFalseになる状況というのはどんな状況なのでしょうか?
40 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 08:40:54.37 ID:zLgraEfq.net] a = "abc123" b = f"abc{122+1}" a == b >> True a is b >> False
41 名前:デフォルトの名無しさん [2021/01/14(木) 08:46:58.85 ID:9JVxxOom.net] >>39 この例は処理系が同じリテラルがハードコードされている事を「たまたま」理解出来るから無駄を無くすために”abc”を使い回してるだけ 基本的にisは偽になると考えるべき
42 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 09:02:38.64 ID:5P4t3Lo7.net] >>40-41 ありがとうございました.
43 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 09:28:27.93 ID:9aZMy7Uh.net] 普通、文字列の比較に、同一インスタンスかどうかは考えない 普通は、同じ文字列かどうかの意味。 異なるインスタンスでも、同じ文字列なら等しいと考えるべき
44 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 14:35:40.92 ID:vrPclvll.net] まあ代入と等号比較ってのはどの言語でも気にするべき内容だわな。
45 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 15:07:09.78 ID:kvGQqxiC.net] >>38 ありがとうございます @使ったら普通に動きました あとこの抜き出したデータフレームに含まれてない物だけを抜き出して新しいデータフレームを作りたいのですが、方法ってありますかね? やりたい事としては2つのdfの単純な差集合を取りたいだけです
46 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 15:14:43.12 ID:kvGQqxiC.net] すみません自己解決しました
47 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 16:39:43.93 ID:jX/4+uzK.net] 50,000、5,000、500 こういうのをre.searchで正規表現を使って数字のみ抽出しようしてるんだけどうまく抽出できないのでどうすればいいか教えてください
48 名前:デフォルトの名無しさん [2021/01/14(木) 16:43:03.97 ID:poiifTN2.net] まずはカンマを除去する 次に、でsplitする すると、文字列での数字が得られる
49 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 16:45:34.33 ID:hXZPMCaj.net] へーjoinしなくていいんだ
50 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 16:46:02.96 ID:jX/4+uzK.net] コード分けて書くしかないのか・・・
51 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 16:48:27.46 ID:7visTOmZ.net] プログラミング覚える前にググり方覚えたら? そのものズバリがすぐ見付かるだろ
52 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 17:36:21.21 ID:edSCC/44.net] localhost:8080でhello worldの立ち上げに成功したんだけど 試しにpythonで requests.get(url='localhost:8080/ ') ってやってもHTTPConnectionPool(host='localhost', port=8080): Max retries exceeded with url:みたいなエラーでるなんで・・
53 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 17:37:28.95 ID:MboREI0+.net] >>50 どういう正規表現を試したのか書いてみ
54 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 17:57:42.07 ID:edSCC/44.net] 自己解決 docker内でやってたんだけど ホストPCに戻ってhostname -IでホストPCのipアドレス取得して localhostのとこをそのホストPCのipアドレス指定して requests.get(url='http://ホストPCのIPアドレス:8080/') ってやったら取得できた お騒がせしました
55 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 22:58:31.74 ID:F1kErgCn.net] 形がほぼ同じで、色合いだけ違うものを区別して認識させる方法ってありますか? OPENCVでグレースケールとカラー両方試してみたのですが、色違いポケモンご認識してしまいます。
56 名前:デフォルトの名無しさん mailto:sage [2021/01/14(木) 23:11:47.32 ID:9/q933wG.net] >>55 形が同じだとわかってるなら、 どこの色をチェックすれば違いがあるかもわかっているだろう たとえば全体をHSVにcvtColorしてH成分のヒストグラム作ってみるだけでもわかりそうなもんだけど
57 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 04:06:34.83 ID:MomngUWn.net] ファイアウォールなどで、localhost を定義していない場合には、アクセスできない その場合は、Local Loopback Address(127.0.0.1)でアクセスする
58 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 04:15:46.87 ID:yP8AorQ+.net] >>57 普通のOSはhostsにlocalhostが書いてあるからいみふ
59 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 12:40:59.26 ID:CwWniPih.net] 表計算では難しいデータ処理がしたくて google colabでpythonを触り始めた初心者です。 全て整数のa:時間、b:測定値からなる 2列の時系列csvデータがあります。 測定値bが前の時間より低下した場合、 bが元の値に戻るまでの時間をデータ列cとして 下のように元のcsvに追加したいのですが pythonではどのように記述すれば良いでしょうか? a b Δb c 1 100 0 0 Δb<0で無ければc=0 2 97 -3 3 100まで戻る時間 3 95 -2 1 97まで戻る時間 4 99 4 0 5 102 3 0 6 101 -1 4 102まで戻る時間 7 97 -4 2 101まで戻る時間 8 93 -4 1 97まで戻る時間 9 97 4 0 10 102 5 0
60 名前:デフォルトの名無しさん [2021/01/15(金) 14:08:50.89 ID:asOAfCNV.net] 疑似コードならこんなもんか for i in 各行: __Δbを求める __if Δb>=0: continue __c=∞ __for j in i+1, ...: ____if b[j]>=b[i]: ______c=j-i ______break
61 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 15:33:15.80 ID:Dsfs083N.net] Pytorchのfor文内で定義した変数ってローカルスコープになるんだっけ? VSCodeのpylanceでfor文の外で変数呼ぼうとすると未定義だって言われる 言語によってぐちゃぐちゃだからよくわからん
62 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 21:58:22.91 ID:x6u03kZV.net] >>59 Pandasで https://ideone.com/VoFp7i
63 名前:57 mailto:sage [2021/01/15(金) 22:17:32.59 ID:MomngUWn.net] >>58 MySQL とか、色々なアプリで、localhost で接続できない場合がある。 その際、127.0.0.1 でアクセスできる場合がある 頻出パターン
64 名前:デフォルトの名無しさん mailto:sage [2021/01/15(金) 22:33:46.45 ID:Tqgjj02D.net] >>61 Pythonでローカルスコープが作られるのは 関数とクラスのメソッドの中だけという認識でいるがどうか
65 名前:デフォルトの名無しさん [2021/01/16(土) 12:25:41.27 ID:gncD+BLl.net] google colabでtecogan使えます?
66 名前:デフォルトの名無しさん mailto:sage [2021/01/16(土) 15:58:25.90 ID:26j/cWCr.net] 初心者です 環境構築の際WSLで過度にメモリ消費しないようにしたいんですがユーザーフォルダへの.wslconfigの作成はどのようにしたら良いのでしょうか
67 名前:デフォルトの名無しさん mailto:sage [2021/01/16(土) 16:34:10.42 ID:4+YrYRTr.net] >>66 なにをもって「過度」となすか定義せよ でもって コンフィグでどうこうじゃなく、 自分がメモリ消費量が常になるべく小さくて済むコードを書く方がよっぽど大事なのでは
68 名前:デフォルトの名無しさん mailto:sage [2021/01/16(土) 16:35:57.57 ID:4+YrYRTr.net] んでもって WSLの環境設定どーのこーのはPythonちゃうわスレチ
69 名前:59 mailto:sage [2021/01/16(土) 21:48:07.22 ID:ZDQmT4z0.net] >>60 >>62 ありがとうございます。 >>62 のリンク先のでを動かせました。
70 名前:デフォルトの名無しさん mailto:sage [2021/01/17(日) 13:32:11.47 .net] streamlit便利すぎる・・
71 名前:デフォルトの名無しさん [2021/01/18(月) 16:36:30.63 ID:twrlO24z.net] tecoganで動画をモザイク除去したいのですが、anaconda環境がいいのでしょうか?
72 名前:デフォルトの名無しさん [2021/01/18(月) 16:44:16.35 ID:0ToZeY7a.net] >>66 https://qiita.com/suto3/items/db6f05f943cc2ea2ef59
73 名前:デフォルトの名無しさん [2021/01/18(月) 17:07:18.04 ID:twrlO24z.net] 動画モザイク除去ってなんのライブラリがいいんでしょうか?tecoganだと情報がない
74 名前:デフォルトの名無しさん mailto:sage [2021/01/18(月) 17:36:18.09 ID:rGsEChT5.net] ないよ
75 名前:デフォルトの名無しさん mailto:sage [2021/01/19(火) 00:39:17.87 ID:c8bXX+G9.net] if a in c or b in c: この場合ってまずaとcの処理が行われてマッチした時点で後ろの処理はせずに終了という認識でおk?
76 名前:デフォルトの名無しさん mailto:sage [2021/01/19(火) 01:38:53.83 ID:JZy8vN9I.net] >>75 orがショートサーキットで評価されるかということならYes a in c でaが見つからなければcが2回評価されるので cの内容次第では違うやり方にしたほうがいい場合がある
77 名前:デフォルトの名無しさん mailto:sage [2021/01/19(火) 11:37:32.51 ID:47F7rTga.net] >>76 さんくす!
78 名前:デフォルトの名無しさん [2021/01/19(火) 19:26:26.07 ID:2duJ8/9a.net] if set(a, b) & set(c):
79 名前:デフォルトの名無しさん mailto:sage [2021/01/19(火) 20:21:18.38 ID:KLo7OE0Q.net] if (a or b) in c:
80 名前:デフォルトの名無しさん [2021/01/19(火) 20:35:10.89 ID:61lQZe/N.net] >>79 if文のinは面白いねえ
81 名前:デフォルトの名無しさん mailto:sage [2021/01/19(火) 21:40:38.49 ID:EnKJ4P3R.net] >>79 なんでこれでうごくか分からないんだけど参考になる記事とかない?
82 名前:デフォルトの名無しさん mailto:sage [2021/01/19(火) 21:45:44.20 ID:JZy8vN9I.net] >>79 これは全然意味違うでしょ aがtruthyなら(a or b)はa aがfalsyなら(a or b)はbの評価結果 (None or ‘b’)なら’b’
83 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 02:56:28.38 ID:gpV/4NvU.net] う動くif文のがこわいよね そのまま動いてて何ヶ月か後に実は意図した条件をすり抜けていたとか気づいたりすることも…
84 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 02:59:43.75 ID:ZZQujzOy.net] 境界値検査は必須
85 名前:デフォルトの名無しさん [2021/01/20(水) 12:17:49.08 ID:2siInrr2.net] PHPのexec経由だとPyTorchをインポートできない件で、諸兄のお知恵をお貸しいただけないでしょうか。よろしくお願いします。 環境は以下の通り。 Ubuntu 18.04 Python 3.6.9 PHP 7.4 PyTorch 1.7.1(本家サイトの通り、pipをpip3にしてインストール) コマンドライン $ python3 >>> import torch ファイル経由(ファイル名test.py) import torch $ python3 test.py は問題ないのですが、上記のtest.pyをPHPで exec('/usr/bin/python3 test.py', $output); などとすると動きません。 Traceback (most recent call last): File "test.py", line 1, in <module> import torch ModuleNotFoundError: No module named 'torch' (Apacheのエラーログ) またnumpyならばexec経由でもエラーになりません。 パス関係は以下の通りです。 $ pip3 show torch Name: torch Version: 1.7.1+cpu (中略) Location: /home/ユーザー名/.local/lib/python3.6/site-packages
86 名前:デフォルトの名無しさん [2021/01/20(水) 12:20:44.96 ID:2siInrr2.net] >>85 の続き コンソールではパスも通っています。 >>> import pprint >>> import sys >>> pprint.pprint(sys.path) ['', '/usr/lib/python36.zip','/usr/lib/python3.6', '/usr/lib/python3.6/lib-dynload', '/home/ユーザー名/.local/lib/python3.6/site-packages','/usr/local/lib/python3.6/dist-packages', '/usr/lib/python3/dist-packages'] が、PHPのexecでは import pprint pprint.pprint(sys.path) の結果をprint_rで出力するとパスが通っていません。 [0] => ['/usr/lib/python36.zip', [1] => '/usr/lib/python3.6', [2] => '/usr/lib/python3.6/lib-dynload', [3] => '/usr/local/lib/python3.6/dist-packages', [4] => '/usr/lib/python3/dist-packages'] そこでパスを追加してみました。 import sys, pprint sys.path.append('/home/ユーザー名/.local/lib/python3.6/site-packages') pprint.pprint(sys.path) [0] => ['/usr/lib/python36.zip', [1] => '/usr/lib/python3.6', [2] => '/usr/lib/python3.6/lib-dynload', [3] => '/usr/local/lib/python3.6/dist-packages', [4] => '/usr/lib/python3/dist-packages', [5] => '/home/ユーザー名/.local/lib/python3.6/site-packages'] とパスが通っていると思うのですが、 import sys, pprint sys.path.append('/home/ユーザー名/.local/lib/python3.6/site-packages') import torch の結果はやはりModuleNotFoundErrorになってしまいます。 また以前に構築した2つの環境ではexec経由でimportできていて、最近構築したこの環境でのみ発生します。関係ないと思いますが、以前からの環境はさくらVPSとWSL、新環境はWindows 10のHyper-V。OSやソフトは同一です。 何か落ち度や見落とし、情報不足などありましたらご指摘いただけますと幸いです。
87 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 13:33:20.05 ID:2iI7lLvp.net] cd /usr/local/lib/python3.6 ln -s /home/user/.local/lib/python3.6/site-packages 動的にパス設定してるなら これで動きそう
88 名前:デフォルトの名無しさん [2021/01/20(水) 13:57:28.87 ID:2siInrr2.net] >>87 ご教示ありがとうございます。 が、ダメでした。 lnで作った/usr/local/lib/python3.6/site-packages をdist-packagesにリネームしたりもしましたが、やはりModuleNotFoundErrorです。すみません。
89 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 16:36:15.29 ID:sOzWFlEJ.net] /home/ユーザー名/.local/lib/python3.6/site-packages のディレクトリ/ファイルのアクセス権の制限とかは?
90 名前:sage [2021/01/20(水) 17:15:24.51 ID:2siInrr2.net] home 755 user 755 .local 775 lib 700 python3.6 700 site-packages 700 torch 775 torch-1.7.1+cpu.dist-info 775 で、所有者&グループはこのユーザーディレクトリのユーザー(動いている環境も同様)でした。
91 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 17:41:53.77 ID:rAY+15bx.net] >>86 PyTorchじゃないけど、pywin32とかで必要なダイナミックリンクライブラリが揃ってないときに、 DLLロードエラーが最終的にModuleNotFoundErrorになったのをこないだ見た。 コンソールにはライブラリ読み込み失敗とか出てるような気がするので、コンソールをもっと詳しく見てみては? パッケージのダメな箇所をどんどん特定していってなんのライブラリ読み込み失敗してるか掘ってみていかないとダメかもしれないけど。
92 名前:デフォルトの名無しさん mailto:sage [2021/01/20(水) 17:45:33.26 ID:5gwvq16z.net] PHPのexecを実行してるユーザーとの関係は?
93 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 00:23:44.08 ID:FkznapS6.net] python 3.8をインストールしコマンドプロンプトから起動 pipでライブラリをインストールしようとしましたが、 NameError: name 'pip' is not defined とでてインストールできません。 どうしたらいいんでしょうか?
94 名前:デフォルトの名無しさん [2021/01/21(木) 00:41:41.16 ID:xsNyeDV8.net] >>93 pipはPython内のコマンドではないので、コマンドプロンプトを開いたら 直接pipを使ってみてください
95 名前:デフォルトの名無しさん [2021/01/21(木) 05:53:48.21 ID:DUmqZmwm.net] 画像のモザイクやら消したい場合、 学習の第一歩って何になるんでしょうか? inpaintingというのがあるらしいですが、チュートがないです opencvだとaiと言えるのでしょうか
96 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 11:08:54.43 ID:zE0uybHN.net] モザイク消し ではなくて オレ今まで一杯モロ画像見てて絵も写真くらいの精度で描けるんだけど、 こういうモザ画像の中ってこんな感じだと結構自然じゃね? という機能
97 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 11:43:25.48 ID:Ugep+Cnq.net] モザイクと言わず完全に隠されてても保管してくれるからGANはすごい技術だ 俺も勉強したい
98 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 11:46:35.58 ID:DtxXx33C.net] >>86 ユーザー名に、半角英数字以外の妙な文字が入っていないですか? /home/ユーザー名/.local/lib/python3.6/site-packages に、 別のモジュールを作って入れてみて、正常に動くか確かめてみれば? 他には、sys.path.append で追加するよりも前に、import されているとか? 正しい順番を、設定ファイルか何かで、確定させる必要がある カーネルのログを見てみるとか、 起動オプションに、エラーログの詳細表示を付けてみるとか あまりにも、エラーの可能性が広すぎる。 ファイルの文字コードの違いとか、考えられる要因が多すぎて、絞れない ここは成功、ここは失敗と、 何か、切り分けないといけない
99 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 11:59:34.76 ID:uTJ86sk/.net] おまいらのエロに対する情熱が伝わってこないから教えてやらない
100 名前:デフォルトの名無しさん [2021/01/21(木) 13:26:03.84 ID:k/PIK3fQ.net] >>96 >>97 チュートがあんまりないんですおよね、、、 ganの基礎からやるといいんんですか?
101 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 13:39:48.17 ID:abaylDM7.net] そもそも学習用のデータちゃんとあんの?
102 名前:デフォルトの名無しさん [2021/01/21(木) 15:11:27.73 ID:k/PIK3fQ.net] そこはスクレイピングで集める しかしどうせgpuパワーが足りないんだろうと思うから手を出せない opencvはaiなの?
103 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 21:54:31.49 ID:CZIzPSd/.net] まあ機械学習の機能がある以上広義のAIではあるだろうな
104 名前:デフォルトの名無しさん mailto:sage [2021/01/21(木) 23:04:38.02 ID:6we7z88m.net] >>86 phpを動かしてるユーザーはapacheだから 他のユーザーのsiteは指定しようが見れないってことじゃ 自分用のpythonと別に考えたほうが面倒がなくていい 自分のホームディレクトリにインストールされてるから それはlinuxのディストリビューションの管理から離れてるんだろ
105 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 04:57:09.70 ID:ucotd9u3.net] seleniumを使ってGoogle Chromeを一部自動操作して作業を効率化しているのですが、 ctrl+fで開くページ内検索を自動化する方法ってあるませんかね? 周辺単語まで見る必要があるので、検索ボックスを開く→特定のワードを入力、まで自動でできたらOKなのですが 普通のsend_keyですとか ActionChains(driver).key_down(Keys.CONTROL).send_keys('F').key_up(Keys.CONTROL).perform() は試してみたのですがうまくいきませんでした(エラーは出ないが検索ボックスが開かない) pyautoguiでのキーボード入力も試してみたのですが、ブラウザがアクティブ化できないのでidleの検索ボックスが開いてしまいお手上げでした
106 名前:デフォルトの名無しさん [2021/01/22(金) 06:14:45.85 ID:/SiZ9IrX.net] >>103 ganのいいチュートありますか
107 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 07:28:49.93 ID:Qv7cR1ei.net] 当該ページの要素を取得して特定ワードをテキストとして含んでるならそこにスクロールさせればいいだろ 検索ボックス使う必要がない
108 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 13:47:44.95 .net] Google Colaboratory便利すぎる・・ docker然りこんなのもう自分のPCにpythonインストールする意味ないじゃん。。
109 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 13:53:51.65 ID:dclXtjm4.net] >>100 ワイはGAN Kerasとかで調べて勉強してる 英語読まなきゃきけないのがきつい
110 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 16:26:13.13 ID:KA18g7jM.net] >>88 >>87 のシンボリックリンクがダメなら、ファイルをコピーしてみれば?
111 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 18:07:48.05 ID:ZQEfkoyS.net] シンボリックリンクやファイルコピーは環境構築方法としてはかなり微妙じゃない? 権限の問題だと思うからまずはそれを確定させて PHP実行ユーザー向けの環境構築をpip使ってできるようにしたほうがいい気がする 権限の問題かどうかはPHP exec経由でファイルの中身が読めるかどうかでわかる
112 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 19:58:48.45 ID:ucotd9u3.net] >>107 回答ありがとうございます なるほど ただ、ちょっと具体的なイメージが浮かばないのでもう少し詳しい方法を教えていただけないでしょうか
113 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 21:55:57.48 ID:bS3A3tOW.net] >>107 コード寄越せってことだぞ。あくしろや
114 名前:85 mailto:sage [2021/01/22(金) 22:36:26.16 ID:1dyqdMu0.net] 85です。もろもろレスありがとうございました。 まず結論ですが、PyTorchをimportできるようになり推論結果も出力されました。 皆さまのレスを総合すると、パスを通そうがApacheからユーザーディレクトリは見えない・アクセスできない。 に集約されると考え、pipの-tオプションで/usr/local/lib/python3.6/dist-packagesを指定してPyTorch をインストールしたら成功しました。 セキュリティ関係含めここにブチ込んでいいものか所有者やパーミッションはこのままでいいのかなどこれから詰めますが、取り急ぎご報告まで。 皆さまのレスがなければ詰んでました。本当にありがとうございました。
115 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 23:07:41.14 ID:9jKbgi1Z.net] https://i.imgur.com/WccgDA1.jpg
116 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 23:28:00.59 ID:aHT4H8FH.net] 照すつ文章 2行目 3行目 テスト文章
117 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 23:31:17.68 ID:aHT4H8FH.net] めんなさい、>>116 はミスです... 質問失礼します requestsとBeautifulSoup4で遊んでいましたが、requestsがエラーとなるサイトが出てきてしまい理由がわからずここへ来ました ひとまずHTMLが取得できるところまで解決したいです よろしくお願いいたします 実行環境: Python 3.7.0, Windows 10 64bit, IDLE 3.7.0 (64bit)で実行しています ソース: import requests import bs4 url = "https://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 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 23:32:33.64 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 23:32:59.50 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/22(金) 23:42:56.73 ID:1d1lzUWQ.net] リクエストヘッダーでgzipで受け入れ可能ということを伝えて 受信した内容をデコードする headers = {'Accept-Encoding': 'gzip'}
121 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 00:12:05.81 ID:fA0JjYru.net] res = requests.get(url, headers={'Accept-Encoding': 'identity'})
122 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 00:28:43.65 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 00:45:47.09 ID:84i3Suj7.net] >>120 ,121 ありがとうございます gzipは初耳だったので調べている途中でしたが、'identity'の方で解決できました! でもマナーとしてはサイト指定の圧縮形式で取得して自分側で展開するべきということですかね?
124 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 02:18:11.86 ID:BPicNdps.net] 0から9の数字が複数描かれた画像があります いわゆる認証でよく出てくるcaptcha画像の類ですが 練習として、これを機械学習で認識しようとしました 画像の条件として ・数字のサイズは一定 ・数字の桁数は一定 ・数字の行間は一定 ・数字の始まりの座標は不定 です とりあえず流れとして データ収集 → 前処理 → データセット作成 → 学習 → モデル作成 → 検証 みたいなことはわかりいくつかのサンプルは成功しました が、いざ条件のcaptcha画像でやってみたところ このcaptcha画像から数字ひとつひとつを抜き出す、という前処理でつまづきました すべて一定ならcv2などで等間隔で区切ればいいのでしょうが 画像の最左に近い場合もあるし遠い場所から数字の連番が始まるときもあります この最初の座標さえわかればあとは文字サイズなりなんなりで等間隔でトリミングすればいけると思うのですが どういうロジックを組めばいいのでしょうか? あと仮に、文字サイズが不定、行間も不定となる場合、 どう一文字を判定するのだろうと思いました (調べて見るとcv2.findContoursという便利なものがありやってみましたが 画像を2値化するときに数字の線が若干荒れて、輪郭の判定が大量に現れる結果となってしまいました)
125 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 03:43:00.35 ID:BPicNdps.net] とりあえずは数字意外のノイズが確実に出ないしきい値で2値化して 左から1pxずつ1px幅の縦1列を全て検査し、全て255とはならない始めのx列目が、数字の始まり で、対応できるような気がしました
126 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 12:08:13.54 ID:JpTPlhL6.net] 初歩的な質問いいですか? 本によると、int型などはイミュータブル型とありましたが num = 1 num = 3 というように後に中身を変更できると思うのですが、どういうことでしょうか?
127 名前:デフォルトの名無しさん [2021/01/23(土) 12:17:51.59 ID:VD+/dXF+.net] 1そのものが3に変化するのでは無い 3を新たに生成して上書きしているだけ
128 名前:デフォルトの名無しさん [2021/01/23(土) 12:19:24.57 ID:/Vi6Lfdi.net] x=(1,2) x=(3,4) # ok x[0]=10 # error
129 名前:デフォルトの名無しさん [2021/01/23(土) 13:28:45.00 ID:sVLw03+p.net] 変数名の集合と整数の集合を考える 人間が作り出すであろう全ての変数名が入った無限集合だ すると、変数名の集合と整数の集合の間の写像になる 「初めから全てが存在していた」とするのが西洋人の考え方
130 名前:デフォルトの名無しさん [2021/01/23(土) 15:09:25.35 ID:LTjhYSXq.net] aiやろうとおもってもpcパワーないから結局無理なんだすな(´・ω・`)?
131 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 15:14:12.58 .net] 無料の範囲でもgoogle colabでGPUパワーで回せば余裕
132 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 16:29:23.88 ID:UQz6+2D6.net] つ NCS2 FP16だけど早いぞ
133 名前:デフォルトの名無しさん mailto:sage [2021/01/23(土) 17:03:36.52 ID:5Na5U87Z.net] >>124 JapanPostのサイトに解説あった希ガス
134 名前:デフォルトの名無しさん [2021/01/23(土) 17:06:58.44 ID:5Na5U87Z.net] >>127 1の発生場所を3に書き換える変態言語もあった希ガス
135 名前:デフォルトの名無しさん [2021/01/23(土) 19:33:58.95 ID:LTjhYSXq.net] >>131 アダルト無理じゃない?
136 名前:126 mailto:sage [2021/01/23(土) 22:47:11.63 ID:JpTPlhL6.net] 答えてくれた方々ありがとうございました
137 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 00:29:44.56 ID:s/DRXVeC.net] >>133 郵便番号の赤い枠線がどうのこうのってやつですかね? そうだとすれば枠線前提の話になってくるので 枠線なかった場合とではトリミングの方法も違ってきそうな気がしますね
138 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 00:39:34.13 ID:s/DRXVeC.net] 文字認識の学習データのセットを作る作業をしていて思ったのですが 学習データよりも、一文字に区切るアルゴリズムの方が重要ですよねこれ…
139 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 00:41:55.95 ID:K8Y7qKof.net] OCRはすでにあるし
140 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 00:47:03.46 ID:s/DRXVeC.net] それでも透かし入ってるのとか背景にノイズ入ってるのとか結構難しくないですかね しきい値 → 2値化 みたいな方法しかないのか気になるところです
141 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 00:56:04.45 ID:K8Y7qKof.net] いったい何やってるの キャプチャ認証とか認識できないようにしてるけど
142 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 01:08:32.70 ID:s/DRXVeC.net] >>141 単純に練習としてよくある手書き数字認識のサンプルをいくつかやり終えて 背景にシミとかノイズがあった場合もやってみたくなっただけですね その場合、一文字に区切るのが難しいとわかったのですが だったらそもそもノイズ自体も文字として考えればいいのでは、と思い始めてきた感じです ようは、ノイズの中に文字記号っぽい線の流れを認識できるモデル (シミュラクラ現象的に)ノイズを文字と認識するようなモデルがあれば 仮に間違ってシミを何らかの文字と認識してもそれは正解でいいような そんな便利なモデルありそうなのですが microsoftとかgoogleのOCRを試したところ どうも大別すると一文字に区切る系の処理をしているような気がしますわかりませんが
143 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 02:34:53.55 ID:Kksl1SnT.net] 簡易な奴なら投影で位置決めするんだけど 高度な奴ならsvm使うzinniaとかがあるなぁ paddlepaddle とかにもデモがあったと 思うけど、中国語読めないので使った事ないな(3.8.xのpythonとpipで入るかと) PyTroch与えれば後は作れるのか、OpenVinoがあれば出来るのか どのレベルを求めているかわからないと 回答のしようがないな
144 名前:デフォルトの名無しさん [2021/01/24(日) 10:08:13.49 ID:r5Iz9DtC.net] アイドルの画像なんですが、まず画像のまえにリストを作成したいです そのリストを参考に集めていく感じ 雑誌名と発売日などのリストを作る方法ありますです? 手作業が一番かな
145 名前:デフォルトの名無しさん [2021/01/24(日) 11:08:43.25 ID:wSlEv8S7.net] >>137 アホか いつの時代の話だよ
146 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 18:37:17.09 ID:7biDvLeQ.net] テキストファイルに文字列が存在するかの判定について一番単純(≒記述が単純or無駄が少ないor最速or低コスト)な方法はなにがありますか? 行番号や該当行を取得するなどは必要でなくて、ただ含まれているかどうかだけ真偽値や検索結果が0とかで判断できればいいです
147 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 18:48:29.98 ID:3sIGrLL8.net] >>146 少なくとも↓くらいは書かないとどうしようもない ・通信資源CPUメモリHDD コスト高い順に並べろ ・どのくらいのサイズのテキストと、どのくらいのサイズの文字列なんだ ・2バイト文字の有無 ・エンコードは何か
148 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 18:48:59.83 ID:IE48Qmt3.net] ファイルサイズ > 0
149 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 19:29:02.36 ID:1RNIc9lC.net] 記号もスペースも文字ではないという判別をしながら 1文字ずつ見ていって文字が2回続けば文字列発見
150 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 19:55:52.94 ID:++e8Ymxx.net] globで頭からファイル舐めるのがいいんじゃないの
151 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 20:00:38.02 ID:++e8Ymxx.net] 競プロ形式で質問してくれればわかりやすいんだけどな。プログラミングに限らず日常生活でも。 何を材料に何を出力すればいいかを明確にしてほしい(機械脳)
152 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 20:10:06.75 ID:98CVdt0z.net] grepコマンドに投げれば?
153 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 20:34:59.80 ID:6VwlJ5kc.net] grep
154 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 20:45:39.40 ID:lVRRnz8/.net] 餅は餅屋
155 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 20:46:31.51 ID:7biDvLeQ.net] >>147 NGワードが解決できずここにレスできませんでしたので 「NGワード絞り込みスレッド」にテスト投稿した以下のレスを参照お願いします https://agree.5ch.net/test/read.cgi/mango/1610376010/757 もしどこがNGだったのかわかる方教えてください...
156 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 21:06:52.04 ID:3sIGrLL8.net] >>155 で、そのテキストファイル、 無限に肥大させてくつもりなの? ばかなの? ちぬの??? >どこがNGか MD5ハッシュでggrks >>151 せやせや
157 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 21:24:44.34 ID:gsEGxkN1.net] 典型的なXY Problemだね
158 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 22:03:08.11 ID:7biDvLeQ.net] >>156 ひとまず一通り組み上げてみたかったので>>155 の方法を考えました 現時点ではそうなりますが、普通の人はどのような実装をすることが多いのですか? >MD5 こちらではMD5でググると一致する情報が見つからなかったため本文をどうにかするのを諦めましたが、 そちらではなにか見つかりますか?
159 名前:デフォルトの名無しさん mailto:sage [2021/01/24(日) 23:58:55.03 ID:A3BXsN94.net] >>146 典型的なオートマトンの問題だな 一番最初の文字がヒットするまでファイルを1文字ずつ見ていく、ヒットしたら2文字目以降もヒットするか確認 計算量は最悪のケースでO(mn)
160 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 01:05:15.62 ID:rfwZrgZs.net] 簡単に処理済のURLのリストがほしいなら処理したやつをsetにポンポコ突っ込んでいくのが簡単かな メモリに乗らなくなったらソートとか分割とかして保存すればいいんじゃないかな
161 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 01:15:04.33 ID:T4mYhBzV.net] こういうのはSQL使うのが一番楽なんじゃない?
162 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 01:25:39.09 ID:co/Rkwpa.net] >8KB/月 程度で増加予定。1行に1URLが記録 >検索文字列(URL):基本30〜100B程度 件数にしたら100~250件/月で10年やっても3万件程度なので pythonのforループでリニアに1行ずつ判定するのでも速度的に困ることはまずないんじゃないかな 100msの間に10万回や100万回判定できないと困るようなら別だけど
163 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 01:44:25.98 ID:baBGx8Uf.net] 正規表現最強だからなあ 素人ががんばってもまず勝てない
164 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 10:58:10.58 ID:+q31tGtg.net] >>155 そのスレッドに、上半分を投稿して、NGなら、また半分に分割して投稿する。 もし上半分がOKなら、下半分がNGだから、下半分をさらに半分に分割して投稿する つまり、2分探索のように投稿して、どの行がNGなのか、突き止める 宣伝に書きそうな単語は、cost かな?
165 名前:デフォルトの名無しさん mailto:sage [2021/01/25(月) 18:53:33.40 ID:P238B9gb.net] 同一単語連呼じゃね?
166 名前:デフォルトの名無しさん [2021/01/27(水) 10:32:47.71 ID: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 名前:デフォルトの名無しさん [2021/01/27(水) 10:59:29.72 ID:vVvyPhvD.net] matplotlib.pyplot.contour ― Matplotlib 3.3.3 documentation https://matplotlib.org/3.3.3/api/_as_gen/matplotlib.pyplot.contour.html これに似せて定義すれば完璧
168 名前:デフォルトの名無しさん [2021/01/27(水) 11:21:03.41 ID: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 [2021/01/27(水) 11:51:12.24 ID:McyrI0oe.net] 返信ありがとうございます. >168 どこ見たらよいですか? >169 速度は気にしません. Zのインデックには整数入れろって言われました. あと,XとYの2つでループ回すんですか?
170 名前:デフォルトの名無しさん [2021/01/27(水) 13:43:52.62 ID: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 名前:デフォルトの名無しさん [2021/01/27(水) 13:45:47.56 ID:cJSBZXf9.net] ああ len(X) は range(len(X)) len(X[0]) は range(len(X[0])) で
172 名前:デフォルトの名無しさん [2021/01/27(水) 13:49:53.43 ID:FiwaqU44.net] opencvではモザイク消せる? 水着を塗りつぶすところまではいけるだろうけど、その先よ
173 名前:デフォルトの名無しさん [2021/01/27(水) 13:52:24.66 ID:cJSBZXf9.net] 本来は ndarray のまま処理した方が良いけど そもそも if だらけの hoge の中身ってのが 具体的に示されてないとそこはコメントしようがないので 速度気にせず全要素ひとつづつバラす方法を出した (慣れたら if だらけの hoge の中身の修正方法は判るようになるはず) https://deepage.net/features/numpy-meshgrid.html https://python.atelierkobato.com/meshgrid/ https://www.haya-programming.com/entry/2018/05/19/194006
174 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 13:52:31.52 ID:3A/JkQSF.net] お前いっつもそれ聞いてるな
175 名前:デフォルトの名無しさん [2021/01/27(水) 13:53:13.78 ID:cJSBZXf9.net] >>172 禿しく概出
176 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 16:17:43.97 ID:sCjAqXlj.net] ブラック企業で統合失調症になり、5年以上働けていません 一日11時間くらいベッドにいます この言語を必死でマスターしたら、在宅ワークの仕事をいただくことは出来るでしょうか? 一日1000円でいいので稼ぎたいです お金よりも、作業に慣れて仕事復帰への足がかりにしたのです
177 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 16:42:15.14 ID:l31MIXPZ.net] >>176 あなたの年齢は?
178 名前:デフォルトの名無しさん [2021/01/27(水) 17:05:04.25 ID:isvLWJ6Q.net] >>176 https://www.youtube.com/watch?v=qvjmf_eF_1k
179 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 18:22:32.77 ID:sCjAqXlj.net] >>177 37歳の時にブラック企業で発狂して、5年経って42歳です >>178 ありがとうございます 時間のある時に見てみます
180 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 18:38:35.00 ID:4tKYq7MS.net] ム板とマ板の違いがわからないようではむずかしくね?
181 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 18:39:13.35 ID:4tKYq7MS.net] >>180 >Pythonをマスターする()とかいうビッグマウスの実現が
182 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 18:58:06.58 ID:sCjAqXlj.net] 失敗しました ここはプログラム板でしたね プログラマー板というのがあるというのは今知りました
183 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 20:42:03.18 ID:VFjRyOVo.net] 昔マ板がよくネタになってた気がする
184 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 22:47:37.79 ID:nyJ4kTty.net] windowsでpythonをインストールしたのですが、pyコマンドを使うと
185 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 22:48:55.98 ID:nyJ4kTty.net] windowsでpythonをインストールしたのですが、pyコマンドを使うと 内部コマンドまたは外部コマンド 操作可能なプログラムまたはバッチファイルとして認識されていません と表示されます どうすればpyコマンドを使えるのでしょう?
186 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:21:24.05 ID:lgpuzElo.net] >>185 py.exeを正しくインストールすれば使える
187 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:42:33.88 ID:nyJ4kTty.net] >>186 失礼しました。
188 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:42:53.97 ID:nyJ4kTty.net] >>186 OKとなりましたm(__)m
189 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:44:42.50 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 00:01:38.67 ID:xWgdnw0/.net] 以前環境設定したときは何の問題もなくSklearn使えたのですが、 今回はなぜかインストールしてもimportできない・・・
191 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 00:07:15.13 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 00:20:16.87 ID:V1xLv34X.net] where pip where python を比較するといいかも 違う場合は、pipコマンドは違うところにインストールしちゃってる python -m pip install sklearn でpythonコマンドのあるところにpipモジュールが入れてくれるので、この方法が一番おすすめ
193 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 00:24:28.11 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 00:39:29.50 ID:qlSIyEsC.net] ん?ms store版python入れたの? 公式の方で試してみたら?
195 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 00:46:08.58 ID:jix62l8F.net] >ImportError: cannot import name '__check_build' from 'sklearn' まずはエラーが出てるモジュール(__check_build)がimport可能な状態なのかどうかを確認したら?
196 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 01:08:32.60 ID:xWgdnw0/.net] >>194 公式版をダウンロードして再インスコしたら問題なくインストールできました ご指摘ありがとうございました これでやっと寝れます・・・ なんでMS版だとだめなんだろう? いや、もう寝ます 本当にありがとうございましたm(_ _)m
197 名前:デフォルトの名無しさん [2021/01/28(木) 10:51:34.67 ID:dNWrUHbO.net] カレントディレクトリとかに変なもの置いてるパターン
198 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 20:25:23.66 ID:4rpb/Pko.net] オススメorm教えて
199 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 20:49:15.80 ID:94KM1Ac4.net] ActiveRecord
200 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 01:41:04.75 ID:tsiSROOw.net] みんな何で開発してるの?
201 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 06:36:24.11 ID:8F9BgvB7.net] 秀丸
202 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 08:00:22.46 ID:qc+WYcmr.net] pyscripter
203 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 08:19:31.66 ID:/7M+cArx.net] >>200 お金もらえるから。趣味という人もいるかな。
204 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 08:43:29.56 ID:FiRRjN3z.net] >>200 パソコンかなぁ。スマホはしんどい
205 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 08:52:16.07 ID:GH0JLNfn.net] アスペルガーばっかだなここ
206 名前:デフォルトの名無しさん [2021/01/29(金) 16:38:16.71 ID:5pIDnM+S.net] ORMが使いやすいとは思えない
207 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 17:52:02.81 ID:GkoRIUQ4.net] 日本語難しい
208 名前:デフォルトの名無しさん [2021/01/30(土) 12:13:11.27 ID:EWZvTk3z.net] 曖昧な質問をすれば曖昧な回答が返ってくる仕様 ただそれだけのこと
209 名前:デフォルトの名無しさん [2021/01/30(土) 12:37:54.78 ID:SLqQC90z.net] 禿丸エディタ。
210 名前:デフォルトの名無しさん mailto:sage [2021/01/30(土) 16:01:53.04 ID:9ArkaPud.net] https://i.imgur.com/RefLq9E.png 線虫の神経エンジンをGoPiGoで動かそうとすると、最後のほうで謎のエラーが出る 俺が書いたコードじゃないから、どこを直せばいいかわからん Pythonどころかプログラム自体初心者で何もわからん
211 名前:デフォルトの名無しさん mailto:sage [2021/01/30(土) 16:06:08.38 ID:9ArkaPud.net] 文字列、命令の文法が間違ってるのかな(構文エラー?) ちょっと昔のPython2系のやつを、gopigo3用に無理やり3系に変換したから、 そこでどこかおかしくなったのか
212 名前:デフォルトの名無しさん mailto:sage [2021/01/30(土) 16:37:20.06 ID:5cjiGf9R.net] 解析してる最中だったのに終端まで到達しちゃったんだけどどうしてくれんの?の意味。 たいていカッコが閉じてないからとかだけど、まずはインデントサイズがバラバラなの直せ
213 名前:デフォルトの名無しさん mailto:sage [2021/01/30(土) 16:48:20.81 ID:9ArkaPud.net] ありがとう インデントサイズが何なのかわからんからググってみるよ あとは()の閉じ忘れか
214 名前:デフォルトの名無しさん mailto:sage [2021/01/30(土) 22:33:23.05 ID:e5kc5ZG/.net] Pythonでインデントがあやふやって命とりだぞ?
215 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 04:38:10.07 ID:LnuqQuZJ.net] 恐ろしいことだよ プログラマが新たな言語を身に着けようとするのではなく プログラミング素人が、おそらくは機械学習等の話題の技術を使いたくて ライブラリ・プレイヤーとしてPythonを使おうとする風潮が広まっているのではと危惧している プログラマなら言語の概略は自習できるはずだからな
216 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 06:40:44.67 ID:QZnwKzSF.net] 別に誰が何を使おうがどうでもいいだろ こんな超初心者スレで土方が偉そうにしてんじゃねえよ
217 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 06:59:47.71 ID:7s2vE3J9.net] だよな 大きなお世話。
218 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 07:57:45.33 ID:ztsWDMWg.net] >>214 が超重要なこといってるのに おまいらときたら・・・
219 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 08:54:49.79 ID:r2IynlG8.net] 最近もうpythonすら使う必要ないぞ ウィザード進めてくだけで深層学習できるサービスをmsとか出してたしな
220 名前:デフォルトの名無しさん [2021/01/31(日) 10:13:00.10 ID:1DsB1/Xq.net] >>215 全員最初は素人だし何の問題が? 変な選民思想持ってそう
221 名前:デフォルトの名無しさん [2021/01/31(日) 10:56:05.26 ID:BqL9JwJS.net] >>216 そのうちGitHubにSMBC上げるんですね判ります
222 名前:デフォルトの名無しさん [2021/01/31(日) 10:58:11.00 ID:BqL9JwJS.net] 「最初は素人」は事実だが 選民の思想を知ろうとしない素人は総じてクソ
223 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 11:35:59.24 ID:kL2FkcqW.net] >>220 「ライブラリ・プレイヤーとしてPythonを使おうとする風潮が広まっているのでは」ってことを危惧してるって書いてあって 最初が素人であることが問題とか全く触れてない 日本語学べ
224 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 12:01:58.90 ID:ztsWDMWg.net] ADHDあるあるで 最初の話題をわすれてしまう症状のヤツなのでは
225 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 12:09:04.11 ID:+uTrKl1S.net] 「ExcelプレイヤーとしてVBAを使おうとする風潮が広まっている」恐ろしいことだよ。
226 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 12:10:55.49 ID:J0fsnxQJ.net] 元はDOM操作をするために生まれたJavaScriptでデスクトップアプリケーションを実装しようとする風潮が広まっているのではないか
227 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 12:13:26.43 ID:nCH8CA61.net] Pythonなんて豊富なライブラリ活用しないなら使う意味ないだろ フルスクラッチで書くならCでも書いてろって話だわ
228 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 12:13:51.59 ID:QZnwKzSF.net] >>221 むしろ今回の事件起こした人は自作バブルソートとか実装してたみたいだし このスレでイキってるライブラリを見下してる自閉症オタクみたいなやつの方が可能性高いよ
229 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 13:38:19.95 ID:fV+Qo3gM.net] ぶっちゃけ、普通のプログラミングも出来ないやつは機械学習なんかできないよ だって、独自に画像を整理したりメタデータ付けたりということを効率的にできないし、 外注したとしても検証する術もない チュートリアルでメソッド1発でデータセット取れるやつなら出来るけど、それ以上のとこで相当に苦労するよね
230 名前:デフォルトの名無しさん [2021/01/31(日) 15:02:29.05 ID:o9nNBABB.net] 私は競馬好きのおじさんです excelvba程度はいじれます https://www.youtube.com/watch?v=Pz5O52tshvQ の内容が全然ついて行けないのですが、基礎的知識を付ける方法を教えていただけないでしょうか?
231 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 15:06:29.68 ID:ztsWDMWg.net] >>230 勉強に抜け道なし じみちにやれやー
232 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 15:12:09.25 ID:tXs0q/O2.net] ググってすぐ解決することもあればどんだけグッグても同じ症状がなくて丸1日無駄にすることもある
233 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 16:05:15.00 ID:7s2vE3J9.net] 今月に日経ソフトウェアを買って Pythonでぷよぷよを作ろう。 出来たら平安京エイリアンにチャレンジだ
234 名前:デフォルトの名無しさん [2021/01/31(日) 18:48:25.73 ID:v040GjhZ.net] >>231-234 レスありがとうございます 皆さんはコードを紙に書いてますか? youtubeやぐぐっても頭に貼らなくて・・・
235 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 18:53:38.01 ID:ztsWDMWg.net] . ,.:::.⌒⌒:::::ヽ (::::::::::::::::::::::::::::) (;:::::::::::::人:::::::::::ノ (::: (´・ω・`):ノ またヅラの話してる... (| |):::: (γ /::::::: し \::: \
236 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 18:57:28.47 ID:WemMLUTq.net] >>234 実際にパソコンで入力して動かしてみないと身に付かないよ。 ついでに言えばyoutubeとかググって見つける断片的な情報で理解するのはよほど理解力があるかすでに基礎がちゃんと身に付いてる人くらいだから、面倒がらずにちゃんと入門書か入門者向けサイトとかで体系的に学んだ方がいいぞ。
237 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 20:38:55.38 ID:I1yjTYID.net] >>234 紙に書くよりも実際にエディタに書きながらの方が良いな
238 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 20:59:40.49 ID:qx1o6j8f.net] どのサイトのデータスクレイピングしてるのか知らんけど規約的にOKなサイトなんだろうか 違法の物を売ってるってことは流石にないか…
239 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 21:23:53.55 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 21:32:40.30 ID:ukHS72vv.net] testの中でtxt.get()
241 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 22:28:44.26 ID:3FeQVY09.net] >>236-237 ありがとうございます 本買ってきて地道に基礎力をつけようと思います
242 名前:デフォルトの名無しさん mailto:sage [2021/01/31(日) 22:50:06.33 ID:ztsWDMWg.net] >>238 誤爆か?それともアンカーを省略するのがカコイイと思ってるアレなやつなのか???
243 名前:デフォルトの名無しさん [2021/02/01(月) 00:14:19.87 ID:z41PbL1f.net] >>223 何故それを危惧するのか分からん 「にわかが機械学習目的でpythonに大量流入していてけしからん」としか読めないが
244 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 01:40:03.07 ID:n/vck6ul.net] >>241 基礎力とはなにや 文法わかるのか?
245 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 02:13:42.29 ID:raodPEZB.net] >>243 ユーザーの質が落ちていくからだよ Pythonは低レベルユーザーが使う言語という認識が広まるのは 決して良いことではない
246 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 02:32:01.34 ID:CsFMKFd2.net] Pythonに求められてる事なんて簡単に書ける事と それこそライブラリプレイヤーとしての機能くらいなんだし別にいいだろ 所詮スクリプト言語だぞ
247 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 04:30:17.57 ID:lp7rw/Rg.net] Real Programmers Don't Use Python.
248 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 05:56:37.03 ID:nEaLvYMA.net] 言語を使う人の質を気にするなら関数型みたいなオタク言語使ってればいいじゃん ユーザの質()は上がるんじゃないのw
249 名前:デフォルトの名無しさん [2021/02/01(月) 06:27:02.10 ID:iI5pUuOE.net] 訳:「pythonはわたくしのような意識の高い選民が使うものなんだから現生の利益だけを求める愚民は寄ってくるな」
250 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 07:08:50.44 ID:zru6Wjni.net] >>245 おまいにPythonがあってないんだ COBOLかアセンブラあたりへ移動するんだ
251 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 08:40:37.01 ID:hLj49IWK.net] >>240 さん ありがとうございます それ以外の方法ってないでしょうか、、できれば他にも流用できる関数としたくて、引数で使いたいなと思ってます
252 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 13:37:16.32 ID:5yr9aQzL.net] lambda:test(txt.get()) txt.get()がいつ評価されるか、239となにが違うのか考えてみ
253 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 13:50:44.44 ID:upKfiVZv.net] 只でさえ型が緩いpythonに素人が押し寄せた結果、Qiitaには大量の糞記事だけが投稿される惨状に感じることは少なくはない。のはおれだけじゃないはず
254 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 14:12:37.28 ID:zJNLywrQ.net] 日本語でok
255 名前:デフォルトの名無しさん [2021/02/01(月) 14:20:58.61 ID:fos4FOVO.net] >>245 javascriptもPHPもC++も低レベルユーザー多いぞ
256 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 15:00:37.83 ID:3cmRi5lu.net] だから何?って言う。。 スルー出来ないおまえが低能なだけ どんな言語・ジャンルにも低レベルなのは居る
257 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 16:21:33.73 ID:o+igF3HP.net] 糞記事というか似通った生地が多いのはあるな 適当なライブラリでググって上のほうにあるサイトの書き方とどれも同じとか 別に変数とか順番とか決まってるわけでもないのに、みんな上のほうにあるサイトを教科書代わりにして書くから、結果それが決まった定型のような扱いになるパターン ソース見たら意外と便利な関数とかあって、それでググったら日本語サイト一切ひっかからなかったり
258 名前:デフォルトの名無しさん [2021/02/01(月) 16:59:40.21 ID:fos4FOVO.net] -sejuku は毎回NG指定してる
259 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 18:47:53.12 ID:FgV6dnQe.net] 関数内で呼び出すexecをグローバルコンテキストで 実行させるには第2引数に何を与えれば良いですか? def func(): exec(“a=1”, ???)
260 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 19:08:24.93 .net] google colabのタブのミラーセルってなんですか?
261 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 20:00:17.26 ID:zru6Wjni.net] >>259 マルチポスト https://mevius.5ch.net/test/read.cgi/tech/1600035173/488
262 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 20:01:56.60 ID:zru6Wjni.net] >>260 うんこつきヴァー('A`)
263 名前:デフォルトの名無しさん [2021/02/01(月) 20:09:05.13 ID:M+MnQ84M.net] >>253 上級者()ならqiitaに求める情報はないやろ stackoverflowでも読みな
264 名前:デフォルトの名無しさん [2021/02/01(月) 20:21:18.01 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 20:22:49.15 ID:zru6Wjni.net] >>264 マルチポストクソやろうチネ!!!(・∀・) https://mevius.5ch.net/test/read.cgi/tech/1600035173/473
266 名前:デフォルトの名無しさん mailto:shitsumon age [2021/02/01(月) 20:58:11.39 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:01:59.77 ID:DEyQGLil.net] >>259 第二引数にglobals()
268 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:11:19.61 ID:f5CB6Ii8.net] >>267 ありがとうございます。
269 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 21:59:34.59 ID:DEyQGLil.net] >>266 3.8$ pip freeze > requirement.txt requirement.txtの中身を編集して 3.9$ pip install -r requirement.txt 使ってるバージョンマネージャによっては 新しいバージョン入れたら必ず入れるパッケージを指定できるようなのもある
270 名前:デフォルトの名無しさん [2021/02/01(月) 22:00:33.26 ID:HqX9nviR.net] >>266 >わりとぶち当たる問題ですよね。 そんなことはないです 一つだけ確認なんですけど >仕方ないので pip で再インストールした。 とりあえずはこれで解決できたということですか?
271 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 22:06:44.00 ID:hLj49IWK.net] >>252 さん ありがとうございました。 できました、ボタンを押した際にgetが実行されるのですね、バッチリです
272 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 22:07:12.42 ID:WmhSgTw5.net] >>266 OS付属のPythonをpipで弄るのはOSがおかしくなるかもしれないからやめた方がいいよ OSはOSの都合でPythonや付属ライブラリのバージョンを決めてるから、ユーザーが開発に使うのはpyenvでインストールしたバージョンが固定されたPythonの方がいいし、 そもそもプロジェクトごとに使いたいパッケージのバージョンが違ったりするからPoetry, pipenvなどの仮想環境を使った方がいい
273 名前:デフォルトの名無しさん mailto:sage [2021/02/01(月) 22:48:17.19 ID:KcF6/QTu.net] OS にプリインストールされているものを変えたの? すべてのアプリが想定しているものと異なるから、動かなくなる 漏れは、日本人が作った、バージョンマネージャーのanyenv で、 rbenv, nodenv を使って、ruby 2.6.6, node 12.16.2 を入れた こういうので、pyenv で、プロジェクト毎にバージョンを切り替える
274 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 00:52:49.29 ID:D6RFLw+E.net] そう、で、す、か、
275 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 09:18:07.44 ID:JzH47QT8.net] Docker は微妙だから VirtualBox でいいや。
276 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 13:40:26.61 .net] pythonをGUIで操作したいならdockerは微妙だけど、それ以外ならdockerの方がいい webアプリ化すればほとんどはシェル併用でどうにもなるし どうしてもpython以外(かつGUIで)のソフトを使いたいって場合くらいじゃないのVirtualBoxの仕用途
277 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:18:25.76 ID:Bbt0Bton.net] PythonをGUIで操作とかもう訳わかんねーな
278 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:20:09.25 ID:ozkAVgNF.net] Jupyter Notebook...
279 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:31:30.06 ID:Bbt0Bton.net] それアプリケーションじゃん
280 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:44:22.05 ID:PI7tMABu.net] PyQtとEricでVSのwinformみたいに組めるよ。 ラズパイでGUIやれるようになって幸せ。
281 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:47:28.41 ID:ERs0GZwW.net] まぁ初心者スレだし
282 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 18:53:45.22 ID:SgZfZ3QH.net] Pythonってなに作るのに向いてるの?
283 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:00:48.91 ID:u/HK1Pt5.net] >>279 Python を GUI で操作じゃないのか? GUI を作りたいんかね。
284 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:07:55.98 ID:SgZfZ3QH.net] C#でGUI作って 特定の処理だけPythonの方が普通なのか?
285 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:17:49.05 ID:OU1WloPY.net] 別に無理してPython使わなくても
286 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:17:56.73 ID:DklR/gYA.net] GUIで操作ってOpenCVのimshowみたいなのをインタラクティブに操作したいってことでは?
287 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:30:44.46 ID:cdl6o0Fq.net] Lua
288 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:48:05.52 ID:Bbt0Bton.net] >>283 Python製のアプリケーションをGUIで操作ってことなら意味わかる
289 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 20:39:12.65 ID:kp7FgpQM.net] 今ではGUIが必要になったら、FlaskとVueを組み合わせて作ることが多くなった
290 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 20:55:55.73 ID:NtuoF5yn.net] >>284 GUIを必要としないものは実は沢山ある 君がそういうものを思いつかないなら、おそらく君にPythonは適していない
291 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 21:13:01.59 ID:PI7tMABu.net] >>282 ラズパイではこれが便利なんだよ。
292 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 21:14:50.83 ID:PI7tMABu.net] ラズパイで色んな装置と通信するコンソールをGUIでやってみて、楽勝だった。
293 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 01:09:27.08 ID:uyKGjePK.net] with文について質問です withブロック内で新しく宣言した変数をブロックの外で使っても エラーが発生しないのはなぜでしょうか? with open('./example.txt', 'r', encoding='UTF-8') as file: ____data = file.read() print(data) # ←この文です
294 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 01:24:18.13 ID:NRhVzOUI.net] >>293 Pythonのローカルスコープは、関数内およびクラスのメソッド内でのみ作られる…はず withは関数ではないから、dataはグローバル変数
295 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 02:16:42.71 ID:FJQE1f2p.net] ブロック=スコープではなく制御文同様スコープ作りません あとはPython3で内包表記が密かに作るようになったかな?
296 名前:293 mailto:sage [2021/02/03(水) 02:22:26.48 ID:uyKGjePK.net] >>294 >>295 ありがとうございました Pythonややこしい…
297 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 19:53:20.90 ID:dO5q2ySB.net] すみません、openpyxlの質問はここでよろしかったでしょうか。 取り込んだエクセルから、指定のセルの文字サイズを得たいのですが、どなたかアドバイス下さい。
298 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 20:02:34.55 ID:0a0VMm7q.net] >>297 >文字サイズ 文字数じゃなくてフォントのポイント数のことけ?それともまさかそれ以外(セルの高さとか)?
299 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 20:18:59.44 ID:dO5q2ySB.net] ポイント数です。 print(cell.font)で、一覧としては出てきたのですが、 他のセルに貼り付けるために取得たいのですが、上手くいきません。
300 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 20:22:30.18 ID:0a0VMm7q.net] >>299 「openpyxl フォント 設定」でまずぐぐり 気に入らない/理解できないならば 次に「openpyxl フォント サイズ」でぐぐる
301 名前:デフォルトの名無しさん mailto:sage [2021/02/03(水) 20:30:33.12 ID:dO5q2ySB.net] >>300 設定方法は、ネット上で見つけて何とかなったのですが、取得方法がうまくいきません。 だいぶ検索もしたのですが、、
302 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 06:10:52.03 ID:Rmua4RGj.net] >>301 のprint(cell.font)ってしてる cellにナニぶっこんでるのかresして 結果の一覧とやらを>>1 にのってるろだとかにのせたら もちょい進める、かも
303 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 06:42:15.09 ID:8ASdjdRY.net] とりあえず 簡単な画像比較作るか
304 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 07:17:40.73 ID:V53VIWYq.net] (function (x, y) { ここに処理を書く })(a, b); JavaScript では上記のように擬似的なスコープを作って 上位スコープから変数を渡すことができますが これと似たようなことをPythonで実現可能ですか? グローバルの変数汚染を避けるのが目的です 以下のような無名関数として呼び出せればと思うのですが。。。 (def (x, y): ここに処理を書く )(a, b)
305 名前:デフォルトの名無しさん [2021/02/04(木) 09:26:22.09 ID:c560f9Nc.net] >>304 lambdaでどーぞ
306 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 09:29:06.70 ID:yNPj7IC/.net] >>304 普通は気にしない Pythonのグローバル変数はモジュール(ファイル)の名前空間に属するから、グローバル名前空間を汚染しない 本当に局所的な変数が欲しいなら普通に関数を定義してローカル変数にして普通に呼ぶ トリッキーなことはしないで素直に普通に書くのがPython流
307 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 10:47:48.68 ID:ETtm6pXr.net] Pythonて関数の引数が参照渡しなんだな 値渡しだと思って今まで使ってたから調べてびっくりしたわ リストなんかを変数で渡した場合は関数内で書き換えできてしまうから注意が必要だね
308 名前:デフォルトの名無しさん [2021/02/04(木) 11:12:44.25 ID:ZzRKCYY/.net] >>294 with の中を通らなかったときの data の値は必ず None で OK?
309 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 11:15:39.42 ID:0AhC+pkm.net] >>307 引数が(変数の)参照渡しな訳ではないよ、元々が実体へのオブジェクト参照(PyObject*ポインタ) 値渡しはC的に言えばスタックに載せるという事であり、それは大抵のシステムで既定上限が数MB以下
310 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 12:21:19.44 ID:fv2NAPkU.net] ナムパイとナンパイ、どっちですか?
311 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:42:24.63 ID:eiMq+3qj.net] >>306 コーティングの是非を聞きたいのではなく 仕様として可能なのかを聞いています 単にそこに興味があるだけです
312 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:44:27.86 ID:eiMq+3qj.net] >>305 もちろん考えましたが 何行にも渡るコードをlambdaでローカルスコープにするのは 実用的でないと思ってます 偉そうな書き方になってたら申し訳ない
313 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 13:45:16.38 ID:4oTwDo+v.net] (lambda x,y:x+y)(1,2) -> 3 みたいな書き方はできる
314 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 14:21:08.73 ID:8DiqYeP0.net] PILで読み込んだ画像とOPENCVで読み込んだ画像は、それぞれで扱うことはできないのでしょうか? また、画像がどっちの形式で変数に入っているかを判断することはできないでしょか?
315 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 14:58:09.72 ID:qhstqCrC.net] >>311 括弧を使ってスコープを切れるか? => 切れない JSのIIFEを模倣できるか? => lambdaなら可 グローバル汚染を避けられるか? => そもそもグローバル汚染しない
316 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 15:06:35.15 ID:qhstqCrC.net] >>311 lambda以外に無名関数を定義する方法があるか? => ない
317 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 16:13:42.50 ID:Rmua4RGj.net] >>310 前者
318 名前:デフォルトの名無しさん [2021/02/04(木) 16:54:20.60 ID:4/57iig+.net] >>314 https://note.nkmk.me/python-image-processing-pillow-numpy-opencv/ https://qiita.com/derodero24/items/f22c22b22451609908ee https://wonderfuru.com/opencv%E3%81%A8pil%E3%81%AE%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C/ tatabox. はてなぶろ.com/entry/2013/07/21/231751
319 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 17:00:58.28 ID:dB2jWvbu.net] netの情報はいい加減なのが多い
320 名前:デフォルトの名無しさん [2021/02/04(木) 19:10:10.39 ID:KK0mSk54.net] >>314 numpy.array(pil_image)でおーぷんしーぶいで扱える
321 名前:デフォルトの名無しさん [2021/02/04(木) 21:04:09.36 ID:c560f9Nc.net] python界隈は、ピップだのピップエンブだのパイパイだのパイエンブだの、固有名詞がダサすぎないかい。
322 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 21:06:02.85 ID:Rmua4RGj.net] そもがモンティパイソンだからしゃーない
323 名前:デフォルトの名無しさん [2021/02/04(木) 21:16:08.40 ID: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 名前:デフォルトの名無しさん [2021/02/04(木) 21:30:50.18 ID:xGlwnT6u.net] 競プロかなんかで時間ギリギリまで問題解きたいのか?
325 名前:デフォルトの名無しさん [2021/02/04(木) 23:46:00.85 ID:WzBF5t1f.net] >>321 ぱいぱい!!
326 名前:デフォルトの名無しさん [2021/02/05(金) 07:49:10.98 ID:PjtyCIQW.net] >>323 fはFutureオブジェクト
327 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:11:59.04 ID:aDktR5P1.net] pythonのエラーの対応について教えて下さい 環境は3.6でエディタはAtomを使っています。 VBAとかだとどこでエラーが起きてもエラメッセージが帰ってくる思うのですが、 pythonだと関数から呼び出した関数で起きたエラーは、コンソールウィンドウに表示されず メッセージ無しで止まってしまいます。 エラー対応で検索すると、Tryを使うとのことなのですが、 関数の始まりからtryで囲うやり方がベストなのでしょか? 全関数を以下の通り対応するのはスマートではないなと・・ def test(): try: 関数の中の全部の処理 except ****:
328 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:44:19.31 ID:j/7809a/.net] 普通に出力されるが
329 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:49:18.87 ID:T/OPgv07.net] >>327 関数使うときにtryしたほうが良くね?
330 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 13:03:15.92 ID:mRakDWTP.net] >>327 try使うときは エラーがおきるかもしれない最小範囲のみをくくるべし
331 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 15:18:46.74 ID:f8nqzbTK.net] 最初にやった方法からさらにいい方法思いついてデータ量や実行時間が大幅に減らせたときの快感がたまらん
332 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:02:31.28 ID:zkrcBcSu.net] それで、コードの可読性を損ねて、 後でどこを直せばいいかわからなくなることもしばしば
333 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:08:30.83 .net] try: エラーでそうな処理 except:
334 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:11:08.41 .net] 途中で送信してしまいました def try: エラーでそうな処理 return 11 except: エラー出たときの処理 return 22 このエラー出たときに、エラー以外の処理を返すようなやり方はやめた方がいいですか? エラーのときはExceptionなりでエラーをそのまま返す みたいな
335 名前:デフォルトの名無しさん [2021/02/05(金) 17:19:11.95 ID:oYpVlEXM.net] >>334 「エラー出たときの処理」でエラーから復旧したと言えるならそれでいいんじゃないか 呼び出し側で対応が必要ならExceptionを返すべき
336 名前:デフォルトの名無しさん [2021/02/05(金) 17:21:11.97 ID:oYpVlEXM.net] × Exceptionを返す ○ Exceptionをraiseする
337 名前:デフォルトの名無しさん [2021/02/05(金) 21:02:16.92 ID:N5jEb7lV.net] Jsonファイルのリストの中から、 価格の情報だけを比べて、 一番大きい価格を取り出す方法が分かりません。 { "status": 0, "data": { "list": [ { "price": "4172840", "symbol": "BTC", }, { "price": "4104400", "symbol": "BTC", } } こんなようなJSONがあって、 リストの中の、priceだけを比較して、 一番大きい、priceを取り出す方法が分かりません、 上の例だと、max( "price": "4172840" "price": "4104400") となると思うのですが、 どうやってリストの中の価格だけを取り出して、 一番大きい値を取り出せばいいか分からないです。
338 名前:デフォルトの名無しさん [2021/02/05(金) 22:23:34.72 ID:6/zDXCCK.net] item = max(json_obj["list"], lambda i: i["price"])
339 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 22:36:41.20 ID:ltTaykUg.net] ジェイソン!
340 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 22:57:54.64 ID:T/OPgv07.net] 410万ビットコインって幾らになるんだろう?17億円くらいかな?
341 名前:デフォルトの名無しさん [2021/02/05(金) 23:29:03.53 ID:N5jEb7lV.net] >>338 ありがとうございます! string indices must be integers とエラーがでてまだ取れてないけど、、 もう少し調べて頑張ってみます。
342 名前:デフォルトの名無しさん [2021/02/06(土) 08:39:05.31 ID:UyfeHPoO.net] 今までpcで動かしてた機能をandroidで動かしたい apkを作るにはkivy とbuildozerを使うらしい こっちの環境作るのにも詰まってるけどそもそも今動いてる.py をそのまま使えるのかも分からない 何か書き換えとか必要? そして環境構築方法詳しく載ってるサイトがあったら教えてください。
343 名前:デフォルトの名無しさん [2021/02/06(土) 10:54:46.58 ID:PohEB++t.net] sl4a
344 名前:デフォルトの名無しさん [2021/02/06(土) 11:42:13.31 ID:IR3wWC2w.net] sl4aは見つけたけどapkにしたいんだ....
345 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:29:12.16 ID:ROiZJzWf.net] python のメソッドって def hoge(x,y): 以下中身 まではわかるんだけど 終わりの区切りはどうなってるの? 空行できたらそこで終わり? returnとかあればいいの?
346 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:40:24.90 ID:FU+/gIxh.net] >>345 カラ行は無視で なんか書いてある行のインデントの深さが変わったらそのブロックはおしまい
347 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:54:35.07 ID:ROiZJzWf.net] >>346 インデントか なるほど ありがとうございます 勉強になりました
348 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:24:19.00 ID:FU+/gIxh.net] >>347 体系化ずみのサイトなりテキストなりを一冊読んだ方が 遠回りにみえるかもしらんが 一番早道だぉ ノシ
349 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:12:36.40 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:26:54.07 ID:sxvkqNg5.net] NG推奨ワード: Ruby
351 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 19:20:59.71 ID:8pppcqNFl] >>337 https://ideone.com/2IifLw
352 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 22:21:18.88 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:05:26.75 ID:l1Q4fjMo.net] https://ideone.com/IjrjUd
354 名前:デフォルトの名無しさん [2021/02/06(土) 23:08:53.63 ID:s8ZQn1/T.net] その例のコードで 0,1,2,3,3,3,...... って出力されるの? やべーねその言語
355 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:10:49.88 ID:B5gVBJsh.net] forじゃなくてwhileを使うのでは…
356 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:11:47.83 ID:Ye4r/rjw.net] for i in range(5): print (min(i, 3))
357 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:12:43.26 ID:9BgHZVUo.net] for i in range(5): ____if i > 3 : i=3 ____print(i)
358 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:15:55.88 ID:1hxtRDLK.net] やりたいことはジェネレーターで無限ストリームっぽい気がする
359 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 00:16:21.39 ID:jpmL2+yv.net] こういうこと? i = 0 while True: x = i if i > 2: x = 3 i = i + 1 print(x)
360 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 02:02:20.67 ID:QRtsbk1z.net] [i if i < 3 else 3 for i in range(5)]
361 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 04:46:16.11 ID:9cKdY56s.net] printせえよ
362 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:50:24.56 ID:JR5bkMUq.net] >>352 まじほんと>>354 だは… 351は偽Pythonをつかまされているのでは
363 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 09:10:55.34 ID:FFuFCGQD.net] sorted関数はwindowsの名前順と同じようにソートするんですか? natsort?
364 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:44:13.68 ID:KNf11SZT.net] dictの型ヒント書こうとしているんだけど、TypeScriptみたいにキー毎に 値の型を指定するような芸当は無理だよね?
365 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:57:54.98 ID:7XkuYEp+.net] >>364 typeddictとかいうの無かったっけ tsと同じようなことできた気がする
366 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:24:42.44 ID:KNf11SZT.net] すげぇ。ありがとう。
367 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:44:28.72 ID:kn8KLgWd.net] >>363 Windowsのソート順は分からないけど
368 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 13:56:45.22 ID:+o5/+U2b.net] >>367 windows上で、フォルダの中に名前順に並んだ複数ファイルがあって これをそのままの順番で取得したいんですが、glob+sortedでいいのでしょうか? windows上での並び順と異なる場合があるとかだと困るのです
369 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:00:38.24 ID:NCHwUWPY.net] >>368 なんで困るの?
370 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:10:44.92 ID:7XkuYEp+.net] sortedはnatsortじゃないです
371 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:11:22.42 ID:3B496xZd.net] _1 と _01 の話でしょう。 エクスプローラは長さ判定の方が 優先順位が高いアルよ
372 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:33:32.29 ID:mFk3/GAA.net] エクスプローラーのソート順は全角半角同一視とかロケール依存もあるでよ
373 名前:デフォルトの名無しさん [2021/02/07(日) 15:22:35.38 ID:FFuFCGQD.net] スクリプト使用者は日本語環境のwindows フォルダ内に任意の命名規則の連番ファイルが数種類混在する つかわれる文字種は全半角日本語英語、数字と記号(文字化けした中国語っぽいやつはありえる) 例えば .01.02 .あ001.い001 ._01a._01b という3ルールがひとつのフォルダ内にあって、命名規則は制限できない エクスプローラー上で表示される名前順の並びに意味があるので、順番を保持したデータ構造を取得したい です!
374 名前:デフォルトの名無しさん [2021/02/07(日) 15:31:29.22 ID:0RC+Q+w9.net] あ、個々の連番ファイル作成者も日本語windowsのエクスプローラーで順番を確認してます
375 名前:デフォルトの名無しさん [2021/02/07(日) 15:39:10.65 ID:LHj1ntdf.net] sortedは単なる辞書順
376 名前:デフォルトの名無しさん [2021/02/07(日) 15:54:16.47 ID:UfsgAoOW.net] natも違う windowsは.01→01と並べるけどnatは逆になる
377 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:09:32.73 ID:QRtsbk1z.net] それを使って何がしたいのか分からないと見当違いになるかも知れないけど ファイルへの処理を疎結合にはできないの? あとはこれもnatsortと同じなのかな sorted(paths, key = lambda x: int(x.name))
378 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:13:58.14 ID:kn8KLgWd.net] そもそもWindowsと同じ並びにしなければならない理由が理解できないんだけど どういう理由なの? もし並び順に依存した処理が必要なんだっていうならばその実装がおかしいと思うけどな
379 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:22:59.73 ID:NCHwUWPY.net] エクスプローラー上で表示される名前順に依存しなきゃいけないシステムってのがよくわからないけど とりあえずnatsortのos_sorted()を試してみたら? Windowsの場合はエクスプローラが使ってるAPIを使ってる エクスプローラのソート仕様を100%把握するのは無理な気がするので どういうテストケースを通ればOKとするかは事前に決めておかないと後で困りそう
380 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:25:23.50 ID:KNf11SZT.net] windowsと同じにって言っても、ファイルシステムがFAT系とNTFSでも違った気がする。
381 名前:デフォルトの名無しさん [2021/02/07(日) 17:00:56.73 ID:FFuFCGQD.net] >>379 あーこれですね。たぶん ちょっと様子見つつ、動かしてみます。ホント助かりました >>377 a, bさんがそれぞれ独自の連番データを持ってて、Aというひとつのフォルダに入力します bさんは“エクスプローラーの名前順で”aさんのデータのあとに自分のデータを置くこと aさんとbさんは異なる命名ルールを使って、第三者が“命名ルールを見て”群を区別できるようにすること がルールです そうして出来たAフォルダの中身を、自分が上から順に読み込んで処理する みたいな…
382 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:11:24.53 ID:QRtsbk1z.net] 正規表現で群を分割してそれぞれの群に対して逐次処理していく とかだと駄目なのかな? 単純にソートして順に処理していくとファイル漏れがあった時とかにバグりそう
383 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:25:25.92 ID:kn8KLgWd.net] 早々に破綻しそう ユーザー名や更新日時を基準に考え直した方が早いよ
384 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:31:05.90 ID:JR5bkMUq.net] ういんどーずあぷでーとである日地獄になりそう
385 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:42:05.53 ID:kn8KLgWd.net] まずaさんとbさんのデータをわけなよ その上でファイル名を正規化してソート出来る形にする ソートの基準が違うものをソートしようとしてるから物事が複雑になる なのでまずはソートの基準を揃えることから始めたら良いんじゃねーかな
386 名前:デフォルトの名無しさん [2021/02/07(日) 17:59:41.51 ID:Ezbk+4+j.net] 要するに [".1", "10", "2", "1", ".2", "1"] をwindowsエクスプローラー上の名前順 [".1", ".2", "01", "1", "2", "10"] にソートするにはどうすればいいか的な話でしょ? つか状況がクソだぞって指摘はしてあげるべきだろうが そこを変えろって回答は論外じゃ…
387 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:10:18.26 ID:/kKFnkGm.net] システムはエクスプローラーとか、特定のアプリのアルゴリズムに依存すべきじゃない。 ある日突然、変わるかも知れない。 API・規格が無保証だろ 自分のアプリは、自分で規格を定義すべき。 そうしないと、可搬性がなくなる OS・ファイルシステムが異なると、結果が違ってくるから
388 名前:デフォルトの名無しさん [2021/02/07(日) 18:12:05.44 ID:RFMN3ZYm.net] こういうメンドクセーもんは大抵はどっかの誰かが既に作ってあるハズだからpypiで探すか 標準で提供されてると見当つけて公式サイトを探す 自分が欲しいと思ったモンは99.99%の確率で他の誰かが既に実装してる
389 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:12:49.36 ID:NCHwUWPY.net] >>386 命名ルールがわからないからそれで十分かどうかはわからない ある時点のあるPCで見たエクスプローラの名前順をPythonで再現したいという話 命名ルールも再現したいエクスプローラのソート仕様の範囲も不明確なので事故るかどうかは運任せ
390 名前:デフォルトの名無しさん [2021/02/07(日) 18:31:26.56 ID:4v/nAOdw.net] >>368 windows って explorer で表示したときの並び順と プロンプトで dir で表示したときの並び順が 違うって知ってた? 0000 0001 1 111 10 20 みたいなファイル名で試してみ
391 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:39:15.86 ID:JR5bkMUq.net] >>390 エクスプローラのソートとひとくちにいっても、 ターゲットのフォルダをあけた状態と そこから左カラム右クリック新しいウインドウから開く でもいっこあけた窓の中で 順番変わる
392 名前:デフォルトの名無しさん [2021/02/07(日) 18:53:51.92 ID:cgYbYP7a.net] この言い訳の山よw
393 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:54:51.98 ID:JR5bkMUq.net] >>392 見本コードはようp
394 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:04:34.30 ID:uQM/ElP7.net] 並列処理をしているときに、何が実行されているか確認することって出来ますか? キューに入って順番待ちになっているタスクも確認したいです。 WEBページを2〜3ページ並列で取得するようにしてるのですが、並列にしたときにデバッグで確認することも難しく教えていただければと思います。
395 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:05:55.85 ID:kn8KLgWd.net] Pythonだとcelery
396 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:25:21.61 ID:3B496xZd.net] 9x年代の「accessの美しいsort順」の 再来かよw アレの実装も凄いな
397 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 20:09:13.36 ID:kn8KLgWd.net] >>386 そもそもユーザーがソート順変えたら破綻する仕組みに依存した設計とかどうしようもないだろ
398 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 20:11:08.97 ID:JR5bkMUq.net] ユーザーが2個目のウインドウ開けてそっち見たらおしまいな件
399 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:30:52.36 ID:HPp7Agld.net] https://docs.microsoft.com/ja-jp/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw windowsのpythonのos_sortedはこれで判定してる
400 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:33:41.58 ID: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 名前:デフォルトの名無しさん [2021/02/08(月) 00:38:44.29 ID:5J2edDoW.net] >>398 横から これで順番変わってる状態って見たことないけど、どういうファイル名の並びだとそうなるん?
402 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 02:14:42.69 ID:wlkdd0te.net] ラズパイを載せたGoPiGoロボカーで、線虫脳シミュレート https://www.youtube.com/watch?v=9kxty2qec4g エラーを解決したので、試しに動かした
403 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 03:02:58.50 ID:wlkdd0te.net] コードはGithubで公開されてるものを突っ込んだ
404 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 09:25:13.35 ID:wJ3JIqDy.net] >>396 くわしく
405 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 09:29:15.28 ID:dM4oOJoS.net] スイッチのONOFFに連動してアクション起こすものを作ってみたくてほぼ期待通りの挙動させられるようになったのですが、たぶんimportで他.py呼び出す時にエラー?になります。 スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。 importで呼び出す場合は回数制限のようなものがあるのでしょうか?
406 名前:デフォルトの名無しさん [2021/02/08(月) 10:17:14.59 ID:WsHYblSd.net] どんなエラーがでてるか、そのまま貼った方がいいと思うな
407 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 10:58:40.46 ID:hgsCKB/O.net] importの実行は一度だけ なので関数にして都度実行
408 名前:デフォルトの名無しさん [2021/02/08(月) 12:17:07.33 ID:5JxS4RLe.net] 「importで他.py呼び出す時」 「importで呼び出す」 perlじゃないから考え方を変えろ
409 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:27:47.27 ID:yv+/ZfUq.net] Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね ソースのその箇所に埋め込む感じの
410 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:44:47.59 ID:5KN+Fjzm.net] >>409 全然違う importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする COBOLの知識とか害悪でしかないから今すぐ全部忘れろ
411 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 13:10:02.10 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 14:02:52.07 ID:hgsCKB/O.net] >>409 >>411 Pythonのimportは名前空間にパッケージ名を登録してるだけ import package # プロセスの名前空間にパッケージ名を登録 package.function() # packageに書いた関数を使う import時、プロセス内に同じ名前のパッケージ名があれば読み込み不要だからキャンセルされる なので >>405 のように一度しか実行されないってことになります
413 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:22:57.82 .net] pandasのdropってディープコピーってことは dropするたびに変数に入れないといけないってことですよね? データフレームが大きいときその辺り気にしなければいけないのでしょうか
414 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:54:54.09 ID:0fSH6U0R.net] Ruby でも、require・load は異なる require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。 require はライブラリのロード、load は設定ファイルの読み込みなどに使う つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、 設定ファイルは再読み込みする事がある
415 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:10:14.07 ID:Ar0nSnLQ.net] >>413 IOに比べたらカスみたいなもんだからどうでもいい 実際遅かったら直せばよい
416 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:50:16.85 ID:wJ3JIqDy.net] 推奨NGワード: Ruby
417 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:18:46.00 .net] >>415 なるほどありがとうございます とりあえずはまとめられる処理はできる限り一つにまとめてみます
418 名前:404 [2021/02/08(月) 21:40:53.51 ID:TgcbDI6H.net] 正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。 元々のコード:ttp://codepad.org/RgfCqXLD 変更後:ttp://codepad.org/C9YTzwaU スイッチがONになったら反応、OFFでもう1つのアクション。 ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。 もしお暇でしたらアドバイス貰えれば幸いです。
419 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:44:11.22 ID:XWqxRkjb.net] >>404 悪いがオリジナルは既に消えている。 が、どういうソート順なのか調べた人がいた。 それの紹介記事は残っていた https://atsushieno.hatenadiary.org/entry/20050704/p2 webアーカイブに残っているかなぁ?
420 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:22:53.64 ID:XWqxRkjb.net] >>419 アーカイブされていた https://web.archive.org/web/19990224184613/www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm
421 名前:デフォルトの名無しさん [2021/02/08(月) 23:57:12.05 ID:qlvhc88X.net] 親切な方誰か教えてください。 Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか? 勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?
422 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 00:03:22.35 ID:Vys7ayWD.net] 3.6で始めて欲しい機能が最新版にしかなかったら その時移行する
423 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 00:05:25.90 ID:9lYAN9ot.net] 仮想環境があるから正直どうでもよい
424 名前:デフォルトの名無しさん [2021/02/09(火) 00:08:54.47 ID:gY4wTt7u.net] >>422 422 ありがとう。とりあえず3.6で初めてみます
425 名前:デフォルトの名無しさん [2021/02/09(火) 00:33:28.54 ID:D2eLzUKh.net] 3.9でいいよ ・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める 3.6にあってそれ以降無くなった機能あったっけな?
426 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 01:08:10.84 ID:WN7fm/D8.net] 3.8だと思うように動作しないライブラリあったから3.6に戻した それ以来,ずっと3.6
427 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 01:23:34.91 ID:iwKT59GY.net] 3を指定すると3.7.8か3.7.9あたりになるのが多い気がするからその辺が互換的にもよさそう
428 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 08:41:41.04 ID:ArPH6UCx.net] >>419-420 読んでたら頭痛くなってきた… これMSがちゃんと仕様公開しなきゃ駄目だよなぁ…
429 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 09:16:09.94 ID:oB9H/ghx.net] 教えていただきたいのですが、 tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。 tkinterは非同期モジュールらしく、 これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?
430 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 09:21:39.36 ID:LMsNGPvT.net] 非同期なのにフリーズするっておかしくね?
431 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 10:20:06.37 ID:fLSeggtA.net] >>429 コード見てみないとなんともだけど 非同期のコードかかずにwhileで回してるだけになってるとか
432 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 11:42:31.22 ID: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 名前:デフォルトの名無しさん [2021/02/09(火) 11:59:05.97 ID:ngdRC2S+.net] >>418 まずはこんな感じのswitch文を使うような状態遷移にした方がいいんじゃね pythonにはswitchは無いからif-elseでやるしかないけど 不変でコンパクトならswitch〜caseで状態遷移したっていい|Marupeke-IKD|note https://note.com/marupeke296/n/n62c1c4643931 11.リアルタイム制御とステートマシン https://www2.denshi.numazu-ct.ac.jp/lego/NXT/nxtOSEK/2_kiso/realtime.html
434 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:05:59.09 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:12:01.53 ID: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 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:19:02.92 ID:Vys7ayWD.net] >>432 sleep(0.1) txt.update()
437 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:20:02.81 ID:YRe7Jw73.net] df['c-a'] = df[['c','a']].diff(axis=1).iloc[:,-1] 適当にやっていたらこれでいけました・・ >>434 ,435
438 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:43:29.24 ID:3rwMtM14.net] >>432 start関数が5秒経つまでループしてて戻らないから Pythonに限らずGUIの場合UIを動作させるにはメインスレッドを独り占めしちゃだめなのよ >>436 みたいなやり方もあるけど sleepすらしない単純なループでの待ちは無駄にCPU使用率が上がるだけなので避ける 時間経過はタイマーイベントを使う 時間がかかる処理は別スレッドにする という方向で考えた方がいいよ
439 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 15:54:12.06 ID:oB9H/ghx.net] >>436 さん、>>438 さん ありがとうございます。 タイマーイベント?を調べてみます
440 名前:デフォルトの名無しさん [2021/02/09(火) 19:52:16.41 ID:F09oemYA.net] tesseractの他にocrのライブラリってありますか? 教えて下さい。よろしくお願いします。
441 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 20:42:00.18 ID:A4TUXs3r.net] >>433 ありがとうございます。もうちょっとちゃんと勉強してみます。
442 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 22:37:06.14 ID:48/GVgda.net] Pathlibで特定のフォルダ以下のファイルを全てglobして 全てのファイルに対して特定の処理をし その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです フォルダ構造を維持しつつ保存するために hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?
443 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 22:48:35.91 ID:48/GVgda.net] Path(os.path.relpath)で出来ました
444 名前:デフォルトの名無しさん [2021/02/10(水) 00:20:56.79 ID:3asw//Zv.net] relative_to() ドキュメント、読もう!
445 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 07:56:31.78 ID:lV7BodTW.net] イテレータを使わなければならない状況がきてようやく仕組みがちょっと理解できた 今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど やっぱり必要になって使うべき場面がこないと覚わらんね
446 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 08:02:53.10 ID:0JH6aNHf.net] 使わなくても実装は出来るけどな。
447 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 11:18:29.15 ID:4pogzqlY.net] PySide2のQDialogをESCで閉じさせない方法ってありますかね 調べても出てこない
448 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 12:24:44.38 ID:QctJSG9o.net] >>445 イテレータイマイチ使うシーンが想像できんわ
449 名前:デフォルトの名無しさん [2021/02/10(水) 13:05:03.29 ID:3asw//Zv.net] 頭から順に処理するならイテレーター 値は取り出すまで評価されない リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する
450 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 13:27:54.75 ID:2MYUAlGB.net] ジェネレータイテレーターな
451 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 13:44:33.50 ID:k3XYYQgl.net] >>448 for文使ってればイテレータ使ってる rangeでもlisyでもstrでも同じようにfor文で回せるのはイテレータのおかげ
452 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 18:42:03.34 ID:li7FLtWZ.net] 扱う分野で必要なもの全然違うしね 必要になったら学べば良い
453 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 19:51:19.06 ID:deHLhqxB.net] 画像比較作りたいけど おすすめのサンプルプログラムある? 二つ比較して 似ている割合みたいのとれればいいんだけど
454 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 19:55:11.67 ID:FCUwCs4l.net] また宗教的な話をw OPENCV,numpy.openvino のどれかを使いたまえ
455 名前:デフォルトの名無しさん [2021/02/11(木) 11:34:19.30 ID:n0GRjtoR.net] >>447 ありますよ もうちょっと頑張って調べなさい
456 名前:デフォルトの名無しさん [2021/02/11(木) 11:43:19.74 ID:n0GRjtoR.net] >>453 https://www.imagazine.co.jp/%E9%A1%9E%E4%BC%BC%E7%94%BB%E5%83%8F%E6%A4%9C%E7%B4%A2%E3%81%AE3%E3%81%A4%E3%81%AE%E6%89%8B%E6%B3%95%E3%81%A8%E7%B2%BE%E5%BA%A6%E5%90%91%E4%B8%8A%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF/ https://qiita.com/best_not_best/items/669aaa9e1b8de647d29d https://pystyle.info/opencv-match-shape/
457 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 11:01:49.66 ID:fibZz6ZJ.net] GUIのテキストラベルを関数内で変更するには、そのテキストのインスタンス生成をグローバルで実施する必要があるのでしょうか? main関数内でGUIを作成して、別の関数から呼び出そう、書き換えようとするとエラーが出てしまいます
458 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 11:42:10.00 ID:fibZz6ZJ.net] 追記です もともとメインだけのプログラムだったのですが、処理部などを分けていくにあたって、上記問題となりました。 ボタンやテキストラベルが多いため、GUIだけでも分離できたらなと思ってます。
459 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 12:56:12.11 ID:9pKWi6uS.net] エラーメッセージは飾りじゃないんだゾ ちゃんと読むんだ
460 名前:デフォルトの名無しさん [2021/02/12(金) 13:28:10.74 ID:x9NfpsA7.net] GUIってどれ使ってんの
461 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 13:35:33.64 ID:3wJJOYZl.net] 恥ずかしがらずに再現できるコードを出しましょう
462 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:15:13.03 ID:Xi6F12r7.net] OCR使ってみたんですが画像にちょっとシミ付いただけでめっちゃ精度落ちるんですけど
463 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:25:54.79 ID:YkYoXOlY.net] そんなもんだろ 実運用ならGoogle Vision APIとか使え
464 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:36:15.52 ID:Xi6F12r7.net] d つこうてみる
465 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:13:14.19 ID:kyaOMlKJ.net] ファイルfを新規open なにか書く *ファイルfをclose *ファイルfを追記open なにか書く *ファイルfをclose *ファイルfを追記open (これを何回か繰り返す) ファイルfをclose ていうことをやってるんだけど、*印のファイルfをclose・ファイルfを追記openをdefにしたら local variable 'f' referenced before assignment ていうエラーが出てしまいました。 defの中でf=openて書けないんでしょうけど、こういう場合て繰り返しのところをコードのマクロとか部品みたいにできないのでしょうか? ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。
466 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:43:32.68 ID:XqdE9YRe.net] なんていうかwith使え
467 名前:デフォルトの名無しさん [2021/02/13(土) 07:57:55.39 ID:dvbWR5uB.net] with使えっていうのは当然として、設計寄りの話としてDAOあるいはRepositoryと言われるパターンを勉強すると良い。
468 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 09:06:30.97 ID:+Dfn0XQq.net] >>465 単にコーディングミス。 エラーの意味は分かるな?
469 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 10:52:08.28 ID:PYtZn7CJ.net] >>465 Pythonの不便な点だな def まくろ(何かを書く) ファイルfを開く 何かを書く(f) ファイルfを閉じる まくろ(何かを書く1) まくろ(何かを書く2) ってやるのが定番 でもC#とかなら「何かを書く1」に直接処理を書けるけどPythonは関数を定義しないと駄目だからいまいちメリットが薄い
470 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 17:08:03.41 .net] 今どきのプログラミング https://video.twimg.com/ext_tw_video/1354709180309901313/pu/vid/720x1280/nOusy_VBfI6wXHi4.mp4
471 名前:デフォルトの名無しさん [2021/02/13(土) 17:42:30.74 ID:aD8q5Xup.net] >>465 クロージャは? def create_writer(f): __fを新規作成 __def write(s): ____fを追記open ____sを追記 ____f.close() __return write writer=create_writer(f) writer(あああ) writer(いいい)
472 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 18:56:29.59 ID:QOknjIyX.net] +aでopenすべし
473 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 19:01:49.24 ID:QOknjIyX.net] def write_to(file_path): __def write(string): ____with open(file_path, '+a') as f: ______f.write(string + '¥n') __return write write = write_to("foo.txt") write("foo") write("bar")
474 名前:デフォルトの名無しさん [2021/02/13(土) 19:56:09.70 ID:hraNkxQy.net] wrapする意味がほとんどない気がする。 都度ファイル名が変わるなら、一緒に渡す方が間違いないだろうし、 逆に固定でいいなら、定数にするか、上で出ているようにDAOに閉じ込める方がいい。
475 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 20:57:02.03 ID:PYtZn7CJ.net] ケースバイケース
476 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 21:05:50.85 ID:QOknjIyX.net] >>474 2つ意味がある ファイル名を意識すべきレイヤーやタイミングと 何かを書き出したいレイヤーやタイミングが常に同じとは限らないので その2つの関心事を分離できるという意味が一つ もう一つはDAOでもファイルでもいいけど それらが10個あった場合に同じコード(open/close)を10回書かなくてもいい
477 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 21:15:03.69 ID:OVGnVG6N.net] 質問者のレベルを考えれば毎回ファイル名を渡すほうが親切かもな 間違ってもDAOやリポジトリを持ち出すような話じゃない
478 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 22:19:47.12 ID:PYtZn7CJ.net] >>477 質問者はファイル名の話なんてしてない そもそも質問者は「なにか書く」をなんとかしたいと言ってるのに勝手に文字列を書くことで満足してるようなオナニー見せられて困ってるだろうな… ⇒ >>471 , >>473 その上質問者のレベルとか何様なんだよ
479 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 22:52:40.18 ID:De6EzIPK.net] ある時間が現在時刻より何時間経ってるかていうのを知りたいんだが from datetime import datetime d="2020/06/02 23:42" x=datetime.strptime(d, '%Y/%m/%d %H:%M') y=datetime.datetime.now() print(x,' ',y) last_time=(y-x)/3600 てやってみたんだが type object 'datetime.datetime' has no attribute 'datetime' というエラー y=datetime.now()にすると last_timeが1:42:23.156836という値 何百時間ていう数値を出せないんですか?
480 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:06:29.50 ID:Ylmwjazf.net] >>478 この逆ギレは恥ずかしいww
481 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:09:24.90 ID:Jp6Ct9sY.net] >>479 時間差はtimedeltaになる、それを数値で割るとこの場合255日を3600分割してしまうので (y - x).total_seconds() / 3600か、(y - x) / timedelta(hours=1)とかかな https://docs.python.org/ja/3/library/datetime.html#datetime.timedelta.total_seconds
482 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:14:28.96 ID:De6EzIPK.net] >>481 できました。 結構狂った言語だな。 算術計算の結果は数値で出すべきなのに。 なんかpythonて直感的じゃなくて使いにくいな。
483 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:27:47.37 ID:PYtZn7CJ.net] >>480 逆ギレとか意味わからん まあ反論できない時に低能がよく言う言葉ではあるがw
484 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:39:31.79 ID:QOknjIyX.net] >>478 ファイルに書くんだからファイル名は必要 指摘の意味がわからない テキストじゃなくバイナリで書きたいなら’+a’を’+ab’とすればいい ファイルに追記する場合はその2つのどちらかしかない
485 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 00:10:37.48 ID:D24G58JB.net] >>484 > ファイルに書くんだからファイル名は必要 そんなことは質問者もわかってるだろ 一応実装はできててより簡単に書きたいって話みたいだし とりあえず>>465 はまだ見てたら > ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。 の部分のコードを晒した方がまともな回答が得られると思う
486 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 00:13:47.53 ID:aLCsI6lK.net] 見た感じcloseとopenでなにしてるかわかってないように思う
487 名前:デフォルトの名無しさん [2021/02/14(日) 02:04:56.58 ID:2SnvaGjH.net] >>478 身近にこういう奴が居なくて本当に良かった
488 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 03:15:01.82 ID:DLKN34Ks.net] おっ
489 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 04:01:51.29 ID:m6EUmtlX.net] >>485 464みたいな構造に書き直して見ました。 最初書こうとしてたコードはこういうことがしたかった。 def まくろ(何かを書く,関数名) ファイルfを開く 引数で与えられた関数名の関数を呼び出す 何かを書く(f) ファイルfを閉じる ていうのがやりたかったんだけど、関数の中に動的に別々の関数を呼び出すことなんてできないよね。 #define マクロ名(引数リスト)みたいなことができれば実現できるのに。
490 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 04:10:04.36 ID:TDUjnB7+.net] そのやり方で普通にできるよ
491 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 07:55:56.90 ID:D24G58JB.net] >>486-487 技術的な話ができないならどっかよそ行けよ… >>489 >>490 が言うように複数の関数を受け取って両方呼び出すのも普通にできる def foo(): print('foo()が呼ばれた') def bar(): print('bar()が呼ばれた') def test(f1, f2): f1() f2() test() 辺りから色々やってみればいい あと Python 関数 渡す とかでググればいいかと
492 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 10:46:04.70 ID:vizEsFtD.net] 最近はpythonでググると高確率で、nkmkというサイトに引っかかる そこは目次が無いため、文字ばかりの細々とした説明の中から必要なコードを探さないといけないから、とてもストレス
493 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 10:47:27.53 ID:HIb/uJW+.net] >>491 関数を呼び出すんじゃなくてソースコードをマクロ展開したいんだけど。 関数にしてしまうと変数のグローバル・ローカルという話が出てきてしまう。 単純に10行くらいのコードの一部を変えてコピーしたい。 defの関数てコードのコピーじゃないですよね?
494 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:19:31.18 ID:D24G58JB.net] >>493 なんでそんなことしたいのかよくわからんけど、m4とかのマクロプロセッサでも使えばいいんじゃね
495 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:40:02.31 ID:8wuPGef8.net] 何が言いたいのかようやくわかった。 どんだけ質問下手やねん
496 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:40:35.87 ID:AzULVuFC.net] >>492 イラストがいっぱいあって、 「今日はイテレーターの使い方だよ」 「何だか難しそう」 とかなってるサイトのほうがウザい。
497 名前:デフォルトの名無しさん [2021/02/14(日) 11:53:57.69 ID:PGTjJwEI.net] >>482 馬鹿には無理
498 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:56:45.92 ID:1NfnFEsp.net] >>493 デコれ
499 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:00:51.30 ID:IYZau0Ph.net] >>493 Pythonにはその機能はないんで諦めてください
500 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:05:20.73 ID:BvP4KASJ.net] >>496 「お願いします!」
501 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:09:30.76 ID:IYZau0Ph.net] >>498 デコレータって、元の関数の動作はそのまんま残し、さらに別の動作を 付け加えた関数を作り出す機能っしょ この人はコードの一部を変更したいって言ってるから無理ではないかと
502 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:12:44.45 ID:TDUjnB7+.net] >>491 >test() 関数渡してないやないかーい! >>493 変数のスコープを理解せずにプログラムは書けないので 最初のlocal variable 'f' referenced before assignmentのエラーの原因を調べたほうがいいよ 誰もが一度は通るエラーなのでググればすぐ分かる 公式のFAQにものってる
503 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:13:45.18 ID:LN4pPlYg.net] >>500 あった、これだ。 https://techacademy.jp/magazine/46444
504 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:14:42.54 ID:vizEsFtD.net] >>500 あれ、イラッとするよなw
505 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:21:38.55 ID:TDUjnB7+.net] >#define マクロ名(引数リスト) 文字列を展開してそれをコードとして評価することはできるけど 今回のケースは関数を使えば解決可能なのでまずやらない マクロと同等のことが普通のコードで実現可能
506 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 13:18:53.12 ID:m02xXjOP.net] nkmkは最高に分かりやすいだろ プログラミングスクール系のゴミ記事の1億倍見やすいわ
507 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 13:28:12.12 ID:D24G58JB.net] >>502 > 関数渡してないやないかーい! 指摘サンクス、スマホでポチポチだから忘れてたわ
508 名前:デフォルトの名無しさん [2021/02/14(日) 13:36:25.18 ID:2SnvaGjH.net] >>506 あとは目次にリンク張ってくれれば言うことない
509 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 14:56:48.08 ID:TDUjnB7+.net] なぜ目次がページ内リンクになっていないのか https://note.nkmk.me/faq/#_1 だってさ
510 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 18:37:52.94 ID:muFQjW+d.net] 無駄にマクロ使おうとしてるとか絶対地雷人材やろ。。
511 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 19:11:28.97 ID:MlHmhfGR.net] 対人地雷に見えた ある意味では間違いではないか
512 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 19:18:07.67 ID:I1aFEzxm.net] >>506 むしろググってnkmkが上のほうにないときに絶望する 残ったゴミとカスからしゃーなしマシな記事をあさるしかない
513 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 19:55:19.81 ID:5ILzfDiM.net] >>511 にんげんさまはアルクセキュリティホールやでぇ
514 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 20:52:11.02 ID:k6Jk8aeh.net] #define sqr(a) (a*a) sqr=lambda a:a*a
515 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 21:53:27.56 ID:wJqWCA2o.net] >>513 アルクに謝れ!
516 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 23:49:31.85 .net] 一週間ほど前にPython にバッファオーバーフローの脆弱性(CVE-2021-3177)が発表されましたが、パッチ同時リリースではありませんでした その後、パッチは出たのでしょうか? この問題は解決済みですか?
517 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 00:24:39.78 ID:bVZY0HXF.net] testDict = {"test1Key":"test1","test2Key":"test2","test1Key":"test1.5"} こんな感じで、重複のkeyがある辞書から、重複要素をprintするにはどうしたら良いですか?
518 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 00:36:14.72 ID:Jl6Y5s68.net] 辞書はキーが重複することはありません
519 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 01:38:43.41 ID:doIMb1ii.net] bound methodの中身を出力したいときってどうすればいいですか?
520 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 07:39:49.62 ID:x4VL8oQa.net] >>515 わ、わるいのはM$IMEでっす!!!
521 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 11:32:59.59 ID:HtPzSKw3.net] seleniumでchromedriverを使ってスクレイピングするとき、 長時間続けているとキャッシュが肥大化してきます これをコードの中でクリアする方法はありますでしょうか?
522 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 11:55:43.22 ID:LUOktb/o.net] 別のスクリプトからsubprocessで間接的に起動しておいて、定期的に起動し直すとかかなあ
523 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 11:59:16.82 .net] どうしてもseleniumでというならドライバ再実行でどうにかなったと思うけど windowも閉じてしまうからそれが嫌だっていうなら 素直にscrapy使ってスクレイピングするのがいいかも >>521
524 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 14:35:17.03 ID:Jl6Y5s68.net] chrome://settings/clearBrowserDataを開いて操作する方法もあるみたいだけど今のchromeだとShadow DOM使っててめんどくさいから options = webdriver.ChromeOptions options.add_argument("--disk-cache-size=バイト数") driver = webdriver.Chrome(chrome_options=options) みたいにしてキャッシュサイズ制限かけるとか
525 名前:520 mailto:sage [2021/02/15(月) 17:14:22.91 ID:HtPzSKw3.net] やっぱり起動しなおすしかない感じですね optionsでキャッシュサイズの指定は試してみたんですけど、効果ナシでした 例えば数十分おきとかでドライバ再実行する仕組みで試してみようかな scrapy、初耳だったので調べてみましたがちょっと難しそうでした 少し勉強してみます
526 名前:デフォルトの名無しさん mailto:sage [2021/02/15(月) 18:33:57.06 ID:rGrJfJAw.net] こういうの https://intoli.com/blog/clear-the-chrome-browser-cache/
527 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 14:05:18.83 ID:ipEDtskL.net] Atomでコンソールから実行していて、無限ループになったりしてタスクマネージャで強制終了頻繁にしてるのですが、 見えないプロセスが残ったり、メモリーが変に残ったりすることはあるのでしょうか?
528 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 17:21:05.75 ID:tjl7Fm3+.net] マルチスレッドとか使ってて全てのプロセスが殺せてないとか
529 名前:デフォルトの名無しさん mailto:sage [2021/02/16(火) 17:49:43.59 .net] Atom はプラグインのインストールに失敗する度に、そのNodeプロセスがゾンビ化する不具合があるゴミなのでVSCodeを使いましょう
530 名前:デフォルトの名無しさん [2021/02/17(水) 03:51:59.84 ID:zEY0Zwgw.net] 10万馬力も電気使っちゃうの?
531 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:17:14.64 ID:d05tkeIJ.net] matplotでグラフタイトルを下部に表示したいです。 plt.title('x-latency graph', fontname='Times New Roman', y=-0.15) とy設定をすることで一応下部に表示はされるのですが、 ウインドの大きさによってxラベルと重なってしまい、 上部に表示したときのようにきれいにはいきません。 なにかうまい方法ないでしょうか?
532 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:37:46.06 ID:ywbkeJkd.net] pad=20みたいなのを追加してみるとか
533 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:42:46.98 ID:ywbkeJkd.net] 下ならpad=-10みたいにマイナスか
534 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:57:13.47 ID:d05tkeIJ.net] pad試してみたのですが、ウインドウ小さくするとそうそうにXラベルと重なってしまいますね。 デフォルトの上部にしているとウインドウ小さくしても重ならないのですが、 こんなものなのでしょうか・・・。 でも、論文って下にタイトルって指定されるのに、なんでデフォルトが上になっているんだろう・・。
535 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 22:59:25.13 ID:ywbkeJkd.net] plt.tight_layout()なら?
536 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:01:50.01 ID:ywbkeJkd.net] 論文の図のキャプションは図をレイアウトした先で図の外側に作るものでグラフの中には作らないから、余り気にしたことないな
537 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:09:20.61 ID:d05tkeIJ.net] >>535 ありがとうございます。 さっきまでよりはだいぶ見やすくなりました。 でも、やっぱりウインドウ小さくすると破綻するのは上部より下部の方が早いですね。 上部にしといて、タイトルは割り切って別で入れるようにしたほうがいいのかな。
538 名前:デフォルトの名無しさん mailto:sage [2021/02/17(水) 23:10:30.71 ID:d05tkeIJ.net] 実用上それで問題ないんですけど、 論文で下って教育されてると、上部タイトルがきてるといけないことをしているかのような強迫観念が・・・
539 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 00:09:43.11 ID:IAd8iDhz.net] そこまでこだわりがあるならsubplotで2段にして下のプロット軸とか背景を不可視にしてタイトルを下のプロットのタイトルとして描く関数を作っとくとか
540 名前:デフォルトの名無しさん [2021/02/18(木) 10:25:28.59 ID:64/LOwh9.net] >>531 https://qiita.com/renesisu727/items/24fc4cd8fa2635b00a0d https://qiita.com/0NE_shoT_/items/31a77b6228159d6feb2e https://qiita.com/nkay/items/d1eb91e33b9d6469ef51 https://qiita.com/skotaro/items/08dc0b8c5704c94eafb9 https://qiita.com/KntKnk0328/items/5ef40d9e77308dd0d0a4
541 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 18:54:08.48 ID:wTfx2HE+.net] > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^ あー、ホンッとに思い出すなあ(笑) キチガイの嘘つきの低レベルFランの、 朝鮮ゴキブリBot君は、 チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君! クソチョンw Pythonさえろくにできないバカチョンのくせに できるとほざくクソチョンw 日本で強姦と窃盗を繰り返す 犯罪者在日のクソチョンw
542 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 21:54:32.87 ID:cqSbk4Yx.net] 等差数列的な1次元行列で転置を行いたい (1) a = np.array([[i for i in range(2, 5, 1)]]) a.T (2)a.T表記ではない(and ディープコピーではない) a = np.arange(2,5,1) a.shape = (1,3) (3)ワンクッション多い a = np.arange(2,5,1) a.shape = (3,1) a.T (4) a = np.array([np.arange(2,5,1)]) a.T (本音) a = np.arange(2,5,1).T
543 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 22:14:50.29 ID:f56ThaA4.net] np使わないとまともに配列扱えない欠陥言語だから仕方ない。
544 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 22:38:10.75 ID:vU7qRJsP.net] はやくjuliaが主流になるといいよね
545 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 22:48:59.15 ID:bEmrZ2Tw.net] 542認定言語 julia r 以下欠陥言語。使ってる奴も三流 python c++ java c# rust swift js
546 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 23:16:09.86 ID:vQ0bM4Ab.net] >>542 reshape
547 名前:デフォルトの名無しさん mailto:sage [2021/02/18(木) 23:58:49.68 ID:cqSbk4Yx.net] >>546 reshapeという文字自体が長いというのはあるけど、まさにこれって感じのやつだったd
548 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 01:03:54.01 ID:byh433rL.net] juliaはたしかに良言語だと思う 使ったこと無いけど
549 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 02:56:37.19 ID:h/t0+GoU.net] 言語には二種類ある(ry
550 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 05:34:23.41 ID:473cJTkx.net] lispみたいなガイジが好むけど実用されない言語と pythonみたいな実用されるけどガイジから非難される言語だ
551 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 07:19:35.87 ID:dkFXvWzJ.net] >>545 配列っていうか、行列だな。 Mコード(MATLAB)やFORTRANも行列扱えるよ。 確かにnp面倒くさい。
552 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 07:19:58.87 ID:ho6TCH2V.net] 行列使うならMATLAB系 numpyじゃあ全く代わりにならんしうんざりする 計算だけで済む話にpython使うのはアホらしい
553 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 19:22:35.73 ID:UVFRc2z2.net] if 条件A: 真ならなんか処理して(if文グループの終わり)に行く if 条件B: 真ならなんか処理して(if文グループの終わり)に行く if 条件C: 真ならなんか処理して(if文グループの終わり)に行く (if文グループの終わり) ていうようなことをしたい。 elseで次のifを書いていくとインデントがどんどん右に行くんだがなんかいい方法ない? 考えたのはfor文の中にいれて真ならbreakてやったんだが、普通はどうかくの?
554 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 19:26:56.94 ID:8rw3YsL8.net] >>553 elif
555 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:00:13.10 ID:UVFRc2z2.net] >>554 レスサンクス。 if文の前に前処理があるやつだとどうする? (if文グループの始まり 条件Aの前処理 if 条件A: 真ならなんか処理して(if文グループの終わり)に行く 条件Bの前処理 if 条件B: 真ならなんか処理して(if文グループの終わり)に行く 条件Cの前処理 if 条件C: 真ならなんか処理して(if文グループの終わり)に行く (if文グループの終わり) goto文でできるが、gotoてどの言語でも推奨じゃないよね? なんかif文グループの入れ子を作って、入れ子を抜けるようなことてforでやるしかない?
556 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:19:47.88 ID:yv2d5Olu.net] インデントがわからないからはっきり分からないが 並列なifなら関数化してearly return
557 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:24:45.22 ID:dkFXvWzJ.net] >>555 何もないコードブロックって作れないよね? 無理やりifでコードブロックにして if True: 前処理A if 条件A: 処理A break 前処理B if 条件B とかやれば出来なくもない。
558 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:27:13.31 ID:yv2d5Olu.net] breakできるのはloop内だけじゃないかな
559 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:28:47.87 ID:8rw3YsL8.net] >>555 while True:で始めてbreakで抜けるのが良いだろうけど、 本質的には処理はネストしてる(前処理Cは前処理A,Bを前提としている)ことを考えると、 if文をネストさせるかもしれないな。 それか前処理がエラーチェックだったらdefで切り出してreturnするか。 Cでリソース解放を必ずしたい場合とかはgoto使うこともあるけど、定石はないというか、ケースバイケースでif文使ったりgoto使ったりしてるな。 try/catchとかも制限付きgotoみたいなものだから、濫用しなければgoto使ってもいいと思うけどね。
560 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:29:07.83 ID:dkFXvWzJ.net] >>558 for i in range(1): とかしないとだめ?
561 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 21:44:37.71 ID:fFbWPHDZ.net] if func1: if func2: if func3: if func4:
562 名前:デフォルトの名無しさん mailto:sage [2021/02/19(金) 22:06:38.25 ID:yv2d5Olu.net] ↓これでよくない? def if_group(): __条件Aの前処理 __if 条件A: ____do_somethingA() ____return __条件Bの前処理 __if 条件B: ____do_somethingB() ____return __条件Cの前処理 __if 条件C: ____do_somethingC() ____return
563 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 00:02:39.45 ID:/remXlTv.net] if_group() 呼ばないと。
564 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 00:22:00.93 ID:N/y0hS3O.net] 即席で関数定義する方がセンスよさげだが自分なら完了済みフラグ設けて済ませたな
565 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 00:49:34.69 ID:1Y17sdX3.net] こういうんじゃあかんのけ? a = 4 if (lambda: [print("hello"), print("world")])() and a == 3: __print("foobar") elif (lambda: [print("kon"), print("nichiwa")])() and a == 4: __print("hogefuga")
566 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 02:07:34.86 ID:nciJ6+jd.net] >>560 552だけどオレが思いついたのはその方法。 この手の処理て模範解答的にはどうやってやるんだろう? フラグ立ててフラグが真じゃなければ次のifブロックに行かないとかやってたけど。 関数にするとコードが見にくくなるし、一回しか通らない処理を関数にするのも無駄なような。 オレが新入社員のときにやったCOBOLもどきのIDL2にはblock文てのはあって一回だけ実行するfor文みたいなものがあった。
567 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 02:40:31.51 ID:56yjs2OO.net] >>565 コードから意図が全く読めんからあかん
568 名前:デフォルトの名無しさん [2021/02/20(土) 08:48:49.94 ID:Y+RPXUXT.net] 自分なら>>562 にするな アーリーリターン
569 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 08:49:50.45 ID:/remXlTv.net] >>566 前処理とifがあるなら関数にまとめてもいいかも。 def processA(): 前処理A if 条件A: 処理A : processA() processB() processC() せっかくgoto追加してくれたんだから使えばいいか。
570 名前:デフォルトの名無しさん [2021/02/20(土) 09:25:41.17 ID:Y+RPXUXT.net] >>555 のいう前処理がわからんけど それぞれでif文書いて、条件に早めにFalse返す関数使えば、別にネストもする必要ないじゃん 前処理って何やってんだよ どうしても各分岐の前にがっつり処理しないとだめなんか?
571 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 12:42:23.67 ID:lyTdLi7+.net] >>570 コードを晒すとこういうことをやってる。 これだとif elif elseじゃ書けないよな。 関数にするにしてもそれぞれやってることが違う。 559みたいにforを使ってみた例。 #ifグループの始まり for i in range(1): --o_btn=driver.find_elements_by_xpath('//input[@class="button"]') --if len(o_btn)>0: ----f_x=f_x+1 ----break --o_btn=driver.find_elements_by_css_selector('div.btn_set>input') --if len(o_btn)>0: ----f_y=f_y+1 ----break --o_btn=driver.find_elements_by_css_selector('div.btn_back>input') --if len(o_btn)>0: ----f_z=f_z+1 ----break #ifが真だったらここに飛びたい。
572 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 12:57:26.42 ID:AfgxbbrB.net] 最初から変数3つ並べてif-elseでいいじゃん
573 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 12:58:54.20 ID:QmInm3o3.net] 同時成立でも問題なさそうだけど。
574 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 13:14:35.97 ID:QO6ABfSl.net] インデントが2つだったり、3つだったりばらばらで作ってしまったんですけど、コレを自動で整形する方法ってありますか??
575 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 13:28:03.26 ID:EQ4Fmj1U.net] >>574 ある程度の行数をまとめて選択して置いて「インデントをひとつ浅くする」なら けっこう色んなエディタでできるとおもうんだが 虎刈りになってるならあきらめろん
576 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 14:29:20.46 ID:56yjs2OO.net] >>574 autopep8かblackで自動整形できるよ
577 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 14:32:57.68 ID:TBTHb+Gp.net] black使ってるけど1行あたりの文字数だけは弄って150にしてるわ デフォだとキツすぎディスプレイ縦置き専用かよと
578 名前:デフォルトの名無しさん mailto:sage [2021/02/20(土) 18:32:17.48 ID:56yjs2OO.net] >>571 “ifグループ”と呼んでるものに名前をつけて関数化するほうがベターだと思うけどif-elseでも書けるよ
579 名前:デフォルトの名無しさん [2021/02/21(日) 00:57:40.63 ID:aCzr4+Gv.net] 君たち>>571 みたとたん明らかにやる気なくしてるよね
580 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 01:09:16.38 ID:f0EcfH0m.net] if len(o_btn := driver.find...) > 0: elif ... 3.8以上限定
581 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 02:40:07.07 ID:G4m9GHw4.net] blackはやりすぎだなと思うことあるわ。 コードを見やすくするためのコードフォーマットなのに逆に見辛くなるとか本末転倒すぎる。
582 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 03:56:32.45 ID:XsukC5HX.net] そうだよなblack lives matterはやりすぎニガーは調子に乗るな!
583 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 08:27:14.13 ID:YmTCK60y.net] 構造体データて扱えるの? こういうやつ。 01 従業員. ----05 従業員番号 PIC 9(7). ----05 従業員名 PIC X(30). ----05 入社年月日. --------10 入社年 PIC 9999. --------10 入社月 PIC 99. --------10 入社日 PIC 99.
584 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 09:35:10.61 ID:VYudgr0a.net] >>583 無論おk
585 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 14:28:26.05 ID:/Mh4iWCM.net] >>583 年月日に20210221突っ込んで 年で2021だけ取り出すには工夫がいるかな
586 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 14:31:13.67 ID:UiySRn99.net] わざわざ分けなくても datatime で持てば良くない?
587 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 14:36:40.26 ID:9qukVfwV.net] >>583 COBOLの知識は完全に全て忘れろ。今すぐに。 Pythonでは固定長レコードは一切使わない。CSVやJSONのような可変長データを使う。
588 名前:デフォルトの名無しさん mailto:sage [2021/02/21(日) 16:54:13.00 ID:3wKXGD51.net] >>583 プログラム内の表現として扱うという意味なら自分でクラスを定義するだけ 文字列、数値、日付みたいな型は標準であるけど「30文字以内の文字列」みたいな型はないので 従業員クラスに自分でバリデーションを追加するか独自の型を定義するか COBOLで書き出した構造化ファイルのデータをPythonから扱えるかという意味なら ファイルフォーマット次第だけど簡単には扱えない CSVとかのテキストフォーマットに書き出したものをPythonで読み込むほうが桁違いに簡単
589 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 08:11:56.12 ID:uJ/bSXez.net] pythonのデバックでプログラムが何行目を通過したかて知る方法てあるの? visual studio 2019を使っててF11でスッテプ実行てのが出来るんだけど、 1万行あったら1万行回F11叩くのか?てことになる。
590 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 08:34:50.69 ID:ckzMPuES.net] >>589 F11連打しかしないとそうなるな 取説嫁
591 名前:デフォルトの名無しさん [2021/02/22(月) 10:21:35.37 ID:5/ri8a+l.net] >>589 ifの質問してるのと同じ人?
592 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 10:43:27.55 ID:PW7vHVeo.net] フレイクホイントを使ってテハックするのじゃ
593 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 10:55:31.74 ID:pI5eidjw.net] 何行目を通過したか知りたいって考え方をするのはプログラムの構造に問題があるから
594 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 11:05:19.36 ID:RHKTrh3L.net] pythonじゃなくても普通bp貼るだろ。
595 名前:デフォルトの名無しさん [2021/02/22(月) 13:28:34.74 ID:zcTtu3Zr.net] フレイクホイントが フロントホックに見えてしまった(´・ω・`)
596 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:07:23.81 ID:aMOGcJaK.net] >>589 ストップポイント指定するんだよ んで次のステップポイントに飛ぶってのがある
597 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:07:41.17 ID:aMOGcJaK.net] ブレイクポイントかw
598 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:37:49.37 ID:tvUSsQ8P.net] 3行のコードでも1万回ループしてたら ステップオーバーを3万回叩かないと抜けられない F11はステップインなのでどんどん潜る
599 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 14:45:11.64 ID:Ag9nXfNi.net] VBAしかやったことないニワカだから、同じ疑問をずっと持ってた 自分の書いたコードの動作を一つずつ確認するために1行ずつ実行することがよくあったんだけど pythonだと、極端なこと言えば1行ごとにブレイクポイントを挟まないといけないってこと?
600 名前:デフォルトの名無しさん [2021/02/22(月) 14:59:58.20 ID:DIDXVj1p.net] 標準添付のデバッガ(PDB)やIDE(VSCodeなど)でも普通にできる。
601 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:25:22.70 ID:nmugGdcj.net] >>599 んなわけない
602 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:31:46.21 ID:PGV0X2RH.net] デバッガの使い方なんてどの言語でも一緒 ブレイクポイントの設定 ステップオーバー ステップイン ステップアウト コンティニュー この5つを理解すればいいだけ プログラミング学習の初日に習う内容
603 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:42:31.40 ID:uJ/bSXez.net] 新入社員でcobolやったときは最初から最後までトレースとったぞ。 人は意図的にバグを作り込むわけじゃないから、ストップポイント指定なんてナンセンス。 事前に指定しても、それ以外のところでエラーするのが当たり前。 事前にストップポイントやらブレイクポイントを指定なんて無駄だよ。
604 名前:デフォルトの名無しさん [2021/02/22(月) 15:47:47.63 ID:DIDXVj1p.net] なんだろう。 COBOLだってプログラミング言語のはずなんだが、こうも考え方のピントがズレるもんかね。
605 名前:デフォルトの名無しさん [2021/02/22(月) 15:49:02.61 ID:65ZJFDMb.net] Python関係ないよね デバッグのやり方教えて終わりでいいでしょ
606 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:54:55.08 ID:AYpKHnjf.net] >>603 よく分からんけど普通デバッグって ・エラー出た個所とエラーメッセージを確認する ・エラー出た個所にブレイクポイント設定しつつ、関連して怪しそうな所にもブレイクポイントを再度動作させる ・後はデバッガで変数値とか確認しながら原因付き留める 動かす度に止まる場所が変わる、とかでもない限りこれで十分じゃね? あと何行目を通過したか?っていう質問の時点で トレースされたエラーメッセージ見てないのか?っていう気はしてるけど……
607 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 15:55:51.44 ID:Xis0SD1d.net] >>604 COBOLはデータ処理のフローを小さなステップに分割して、そのステップ毎にプログラムを分割するのが普通で、 一つ一つのステップは構造化もクソもなくただ命令を平べったく羅列するだけ、というのが一般的 Pythonでいう数行から百行程度の関数一つ一つがCOBOLでは1000行くらいに膨れ上がって、それぞれが別個のプログラムになってるのを想像すれば、彼の気持ちを理解できるだろう
608 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 16:42:38.45 ID:hC2BZM1+.net] COBOLだってデバッガの基本的な使い方はPythonと全く同じ プログラム全体をステップ実行したいならエントリポイントにブレークポイント置いてステップ実行して行くだけ 学習目的以外では普通やらないけど Pythonでもトレースはとれる それも時間の無駄なのでまずやらない
609 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 17:14:24.97 ID:ckzMPuES.net] >>595 もるだーつかれてるネー
610 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 17:15:37.44 ID:ckzMPuES.net] >>602 それプログラミング基礎ちゃう デバッグ基礎や >>604 コボルドって基本犬頭だからね
611 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:24:34.17 ID:KlgM0RdP.net] COBOL奴か
612 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 18:30:34.39 ID:5xkEJHnL.net] コボおじw
613 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 21:53:28.96 ID:G30bzgiW.net] デバッグとかprint文挿入でいいんじゃ
614 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 22:09:55.16 ID:sB1O4QV3.net] 手軽なテキストエディタでprint()利用のデバッグはあなどれない
615 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 22:55:29.56 ID:sQpMvYPW.net] ある程度はprintデバッグで問題の発生する範囲を絞り込むよね。 データが20種10ループの処理を受けるときに200回とかステップ実行やってられないもの
616 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 23:07:05.13 ID:uJ/bSXez.net] >>606 これはVS2019の問題かもしれんが、関数の中で止まると何行目で止まったか表示してくれない。 だからエラーが出た個所にブレイクポイントを設定することがまず大変。 F11で追わないとどこで止まったかわからない。
617 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 23:08:26.38 ID:UEjjQNjA.net] エラーに行番号出てるでしょ
618 名前:デフォルトの名無しさん mailto:sage [2021/02/22(月) 23:20:25.34 ID:uJ/bSXez.net] >>617 関数を呼び出したところしか出てこない
619 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 00:00:43.61 ID:cTQNOv+R.net] >>615 そういうのは条件付きのブレイクポイントを使う
620 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 00:03:58.11 ID:cTQNOv+R.net] >>618 VS使わずコマンドラインから実行してエラーメッセージを確認 VS2019の問題だと思うならまず切り分けすべき
621 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 02:07:51.55 ID:fia5nfNQ.net] 関数の切り分けがそもそも糞なんだろ。 pythonでデバッガが必要なことなんてあんまりないぞ。cみたいなメモリがぶっ壊れるものならともかく。
622 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 06:54:54.23 ID:VpyuW4/O.net] git bisectの使い方は覚えとくと便利やぞ
623 名前:デフォルトの名無しさん [2021/02/23(火) 08:54:05.78 ID:NUvCbrOs.net] ハナから全部に、「今何行目」って表示出しとけw
624 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 08:56:11.05 ID:P6BTUA4m.net] スレタイ嫁
625 名前:デフォルトの名無しさん [2021/02/23(火) 11:49:45.49 ID:XvdT4dfh.net] python最大の特徴はC言語やってても余り使わない__main__など特殊変数を大量に見かけることだ この奥深さはperlを超えてるが見た目の分かり易さは当然pythonに軍配が上がる
626 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 11:56:56.18 ID:wfTpwfxG.net] 清水の舞台から飛び降りるつもりでVS2019からpycharmに変えてみた。 pycharmてどこでエラーしたかわかるんだな。 VS2019はどこでエラーしたか不明な場合がたたある。 今までの苦労は何だったのだ?
627 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 12:25:37.67 ID:IRMSQgrY.net] 修行
628 名前:デフォルトの名無しさん mailto:sage [2021/02/23(火) 12:33:34.02 ID:eeQBUcpI.net] >>625 perlを超えてはいないだろ。