1 名前:デフォルトの名無しさん mailto:sage [2021/12/27(月) 01:38:10.93 ID:GepmXCuJ.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直
730 名前:デフォルトの名無しさん mailto:sage [2022/04/13(水) 21:24:39.98 ID:iz/3T8fY.net] >>711 これは酷い 同じレベルじゃん
731 名前:デフォルトの名無しさん [2022/04/13(水) 21:34:31.03 ID:2yWJivzV.net] >>719 そり同じレベルで回答しなきゃ質問者が理解できないだろ… 俺ならtryも避けて答えるかもしれん
732 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 01:24:51.42 ID:uO0SXD9A.net] ガイジはプラレールとかで遊んでろよ…
733 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 01:42:48 ID:ZzIGlvaI.net] いつからこんな悪辣になった?
734 名前:デフォルトの名無しさん [2022/04/14(木) 02:10:25.44 ID:lxOIQ3st.net] 悪貨が良貨を駆逐する 馬鹿がスレをダメにする
735 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 13:12:06.99 ID:BtLi5peK.net] もともとこんなもんだろ 新年度(と学校の休み期間)は特にそれが顕になるだけ
736 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 15:03:37.58 ID:JhmvXnUD.net] 別にくだすれだから別にええぞ 何度も似たような質問してきたら流石に返答者も荒れるが
737 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 18:28:52.38 ID:lv3Dkk0V.net] ファイルの先頭行に列を挿入したいのですが、列名が無い場合の追加方法がぐぐっても出て来ません( ノД`)
738 名前:デフォルトの名無しさん [2022/04/14(木) 18:32:29.06 ID:GwONt0bS.net] >>726 そうなんだ
739 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 19:03:58.80 ID:zm2h//wN.net] >>726 ファイルに行と列があるのはわかるけど、どういう風に行や列を表記するかは千差万別なので ファイル形式(OpenXMLやCSV、TSVなど)かどのアプリで扱うファイルなのか分からないと答えようがない
740 名前:デフォルトの名無しさん mailto:sage [2022/04/14(木) 20:52:20.51 ID:kWetsGXW.net] >>726 そりゃ出てこないだろうな
741 名前:726 mailto:sage [2022/04/14(木) 23:18:32.03 ID:lv3Dkk0V.net] 解んなかったので、Dosのファイル結合で処理しました 失礼しました
742 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 00:49:03.96 ID:gAv1cu4K.net] ファイル結合で先頭行に列を追加!? すごいDOS力
743 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 01:08:53.44 ID:9XxTBRIR.net] まず先頭行に列を追加ってどういうことよ?
744 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 10:48:59.76 ID:JgjbCGpn.net] 先頭行に列追加ってまんまじゃん・・・ プログラムでやるならtmp開いて先頭に追加したいの書き込んで、その後に元ファイルの内容読み込むと同時にtmpへ書き込む で、全部終わったら元ファイル消して、tmpを元ファイル名にリネームして終わり エラー処理きちんとしないとトラブル色々起きる
745 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 11:21:19.02 ID:1FLstH2r.net] 行には行しか追加できんだろ。 まあ列のヘッダを追加したいってことなんだろうけどね。
746 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 11:42:10.16 ID:NjgRgzMt.net] 配列で[1:100]だと[100]が含まれないのに慣れん。 それなら [1:100) にしろよ。
747 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 17:51:56 ID:PiHpabQE.net] 要素数が100なのにend-startが99だったりしたらそれはそれでややこしかったりするので一長一短かと
748 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 18:52:43.93 ID:NJzLAbi3.net] 空の区間を表現するのに特別な表現をいれたくないしね > それなら [1:100) にしろよ。 半分同意 Haskell他にある多重ドットを拝借してほしかったけど どっちがどっちだっけとなりそうだし悩ましい
749 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 19:03:00.69 ID:Pt8Ngg3U.net] こういうことでしょ?つまり普通はAが欲しければ[0:1]と書く じゃなんで[1:100]で100が含まれない? o.5ch.net/1y4kc.png
750 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 19:24:36.19 ID:PiHpabQE.net] >>738 インデックスの1のところが100だとしたら、数値の100はBの位置なんだが…
751 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 19:32:41.96 ID:atHGer73.net] またこの話かよ L[a:b] + L[b:c] == L[a:c] が成り立つように決められたからだって言ったたろ あれ、こっちのスレじゃなかったか?
752 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 21:07:28.54 ID:CLXxITWO.net] >>740 正直、Pythonの基本仕様で一番難解だと思う 数年Python使っているけどいまだに覚えられなくて >>738 のような図をいちいち書いてコーディングする
753 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 21:50:41.47 ID:T4CYxiXU.net] [1:100}で100が含まれないのは非直感的な面はあるのは確かだけど慣れるしかない [1:100]はfor (i = 1; i<100; i++)みたいなイメージで捉えてる
754 名前:デフォルトの名無しさん mailto:sage [2022/04/15(金) 22:00:09.34 ID:qspZjXdd.net] アドレス0からアドレス0x10まで何バイトですかったら16バイトだし 添え字=要素ではなくオフセットと捉えられるなら、そう突飛とは思えぬけど 1ベースなら考えなくもないが、満年齢然り0ベースは<=より断然<だし面倒がない
755 名前:デフォルトの名無しさん [2022/04/15(金) 22:47:15.90 ID:HX7dwYSm.net] >>743 えっ?
756 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 03:27:04 ID:M2x4IyLd.net] ああ分かったぞ 100が含まれないじゃなくて含まれるじゃん ただ[0:100]じゃなくて[1:100]と書いてるから100じゃなくて1が含まれないんだよ じゃ別に普通だな それよりrange(0, 100)で0から99までって事のほうがアカンやろ a = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100] for i in a[1:100]: print(i)
757 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 04:37:12.16 ID:GwpFWYo1.net] すいません、教えて下さい こういうのをaiとかでやらせたいのですが 何からとっかかればいいんでしょうか? カラー漫画の吹き出しの中の文字を 周囲と同じ色で塗りつぶして消したいです おそらく100%うまくいくと思えないので 塗りつぶしのみの画像をaiに作らせて フォトショップみたいな画像ソフトでレイヤーとして 上に被せて 関係無い部分が塗りつぶされてたら 手で直すって感じを想定してます 問題は学習用のデータがなく 自力で修正した数ページ分の漫画で コツコツ教え込むしかない事です よろしくお願いします
758 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 09:26:44.86 ID:ewKy6
] [ここ壊れてます]
759 名前:0XC.net mailto: >>746 文字部分だけをマスクした教師データを用意してセグメンテーションするのがいい 塗りつぶすのは別のアルゴリズムを使うほうがいいかなぁ [] [ここ壊れてます]
760 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 14:13:32.08 ID:u7Gm+96S.net] OCR使えばいいだけでは? 誤字とか関係ないんだし
761 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 15:31:25.88 ID:fPn+eEc/.net] 吹き出しの中に絵が書いてあったらどうするの? 吹き出しの検出は物体検出の分野だと思うのですが PASCAL VOCで見かけた事は無いのでMS COCOを 漁るか自分で集めるかかな
762 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 16:37:07.55 ID:NFUA2B25.net] >>746 ちょっとググったらそう言うのは結構やられてるのな 残念ながらフリーのやつは見つけられなかったけど https://image.itmedia.co.jp/ebook/articles/1107/05/tnfigff2.jpg https://www.itmedia.co.jp/ebook/spv/1107/05/news067.html >>749 > 吹き出しの中に絵が書いてあったらどうするの? そんなレアケースなんて当面考えなくても良くね?
763 名前:デフォルトの名無しさん mailto:sage [2022/04/16(土) 18:22:27.77 ID:fPn+eEc/.net] >>750 このリンク先の技術はディープラーニングの洗礼を受ける前のだから、今の技術で再構築すればもっと優れたものが 出来る可能性は高いな 本来あった(であろう)物を補完するのはGANとかになるかと。(ディープフェイクとかの分野や) なお、GANでアワビを補完して逮捕された事案が最近あったなw
764 名前:746 mailto:sage [2022/04/16(土) 23:16:15.06 ID:GwpFWYo1.net] もう自分が作ろうと思ってるものが出来てたんですね… 驚きです
765 名前:デフォルトの名無しさん [2022/04/17(日) 01:28:36 ID:WoAMfKL/.net] こんなことも知らないのは初心者というより知的障害者に近い
766 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 04:46:41.05 ID:2lvfHA8s.net] >>753 それあなたですよね
767 名前:デフォルトの名無しさん [2022/04/17(日) 11:52:58.54 ID:06xFq++l.net] xlist, ylist = [], [] getxy(src) ->(x, y) # 出力値は入力値による 大量にgetxyを回してxlist, ylistに結果を記録していくとき どういう方法が速い(?) / 高効率(?)ですか xy = getxy() xlist.append(xy[0]) ylist.append(xy[1]) しかわかりません…
768 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 12:08:40 ID:E+w90SEK.net] Python onlyかつライブラリなしであればそれでいいよ 回数が分かってるなら[None]*100とかで先に確保しておくと、途中でリストメモリの再確保が入らないから厳密には多少速いだろうけど、まあ誤差でしょ getxyが画像のピクセルを触ってるなら、何かしらの方法で一括取得できるはずだからリファレンスをよく読め 他にはnumpy使うとかnamba使うとかcython使えば速くなるかもしれない こいつらは速くなる条件があるから条件に適合するコードを書くことが必要だ これは少し慣れがいる あとはそこだけcとかc++とかgoとかrust使ってロジックを書いてctypesで呼べば速い これはさほど条件に左右されず速くなる 初心者にはおすすめしないけど
769 名前:デフォルトの名無しさん [2022/04/17(日) 12:22:40.47 ID:06xFq++l.net] >>756 了解です xyは画像座標なんだけど getxy(im): if bbox := myfilter(im).getbbox(): _ return bbox[0] * n , bbox[2] * m else: _ return 0, im.width みたいな感じなのでいじれないかなー cは書けないので切腹します
770 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 15:19:43.31 ID:AHx/k7U9.net] 要素数が多いほど[None] * nのプリアロケートで得られる速度差は微々たるものになって インデックス周りなんかのその他の呼び出しで相殺される それよりPythonでの命令数を減らすほうが速度は上がる
771 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 19:46:30.65 ID:hToGhZqz.net] pandasで日付を軸にCSVファイルを結合したいのですが、書式をyyyy-mm-ddで統一しているはずなのに、成功するのと失敗するのがあります 失敗 2009-01-05 成功 2009-01-06 失敗の方は同一の日付と見なされないので行が重複します Pythonには人が見えないものが見えてるのでしょうか?
772 名前:デフォルトの名無しさん [2022/04/17(日) 20:12:58 ID:xdoWfkC3.net] 私にはあなたのやりたい事が見えないです
773 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 20:52:14 ID:BJkxuXtr.net] 質問の仕方で知性も人間性もわかるよね
774 名前:デフォルトの名無しさん [2022/04/17(日) 21:10:58.88 ID:TsyjUgRL.net] >>759 そりゃ見えてるだろ それとも君は直接その眼でメモリー内容が見える人なの?
775 名前:デフォルトの名無しさん mailto:sage [2022/04/17(日) 21:11:17.06 ID:lzcM8q3n.net] 質問に対する反応でもね
776 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 07:30:00 ID:q3rIpq5e.net] Win10にAnacondaをインストールしたのですが、AnacondaからSpyderを起動すると落ちてしまい、二度と起動しません。 スタートメニューのショートカットも消えてしまいます。 どうしたらいいでしょうか?
777 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 08:24:53.65 ID:KQnHhLBW.net] >>759 半角・全角だいじょうぶ?
778 名前:デフォルトの名無しさん mailto:sage [2022/04/19(火) 12:09:38 ID:aIiYfvVh.net] VSCodeでPythonしています frm = tkinter.Tk() でフォームを作り、これをクリックしたときに座標を取得したいのですが、 frm.bind('<Button-1>',frm_click) としても、frm_clickを呼び出してくれません どこがおかしいでしょうか?
779 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 14:35:05.52 ID:B0PpCiU+.net] pythonからhtmlファイルを指定してブラウザで開く、閉じるができません。 subprocess.popen開くことはできるのですが、開いたらファイルを閉じる(タブを消す)ためにはどうすればよいでしょうか。
780 名前:デフォルトの名無しさん [2022/04/20(水) 21:54:23.66 ID:NTuuFKH0.net] 変数がfor できるかどうか判別する方法ありますか?
781 名前:768 [2022/04/20(水) 21:57:53.61 ID:NTuuFKH0.net] 文字列に対してforしたら、一文字ずつ取得でき想定してない動作になりました エラーか、ループせずを想定したのですが リストなど通常、ループできるのが適当なやつを判定するにはどうすればいいですか?
782 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 22:16:03.52 ID:WoVRayDr.net] >>769 forで文字列が一文字ずつ取得できるのは正当なPythonの仕様なので 文字列をforの対象にしたくないという考え方が間違っています
783 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 22:22:57.69 ID:PgCzoxTm.net] >>769 if isinstance(obj, (Iterable, Sequence)) and not isinstance(obj, (str, bytes)):
784 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:04:40.03 ID:wSEx/joO.net] >>769 まず基本的な型になれるといいよ ミュータブル イミュータブル シーケンス
785 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:06:36.28 ID:PionEwfV.net] a = soup.find_all としたときにaをa0とかa1のように あらかじめfor i in range(2):で生成される数値を入れたいのですが。 前もってb=a+str(i)=a0として b= soup. とできますか?
786 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:30:24.72 ID:2isIGBT3.net] aやa0/a1は字面こそ似てるけどPythonからすると全く関連のない識別子で統一的に扱えなくなる listとして単一の変数で扱うのが筋 a = [] # list a.append(soup.find_all(…)) 急がば回れでまず公式チュートリアルをやるべき
787 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:41:19.59 ID:PionEwfV.net] ご教授有難うございます
788 名前:デフォルトの名無しさん [2022/04/20(水) 23:42:38.34 ID:LGsJlZ4G.net] subprocess.Popenで動かしたものの出力を拾いたいのですが文字化けしてしまいます どうすれば文字化けが治りますか? windows 10 python2.7で3.10の.pyを動かしています 2.7のほう(GIMP python コンソール) p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\oyo.py'), stdout = subprocess.PIPE, shell=True) line = p.stdout.readline() line 3.10のoyo.py #!/usr/bin/env python # -*- coding: utf-8 -*- print("あいう") 結果 あいうが'\x82\xa0\x82\xa2\x82\xa4\r\n'になってでてきますorz
789 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:49:59.94 ID:5YAs/nU7.net] もうPython2覚えてないや line.decode('cp932') かな?
790 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:53:10.20 ID:CqlWpUmw.net] >>773 何のためにそんなことしたいの? 前にも似たようなこと書いてた人がいたけど 変数名を連番で生成してそれらに代入したくなる状況が想像できないので理由を説明してくれると助かる
791 名前:デフォルトの名無しさん mailto:sage [2022/04/20(水) 23:59:08.90 ID:2isIGBT3.net] >>778 > 前もってb=a+str(i)=a0として こうメタプロ的に解決しようとかんがえたんだろ なんでわからん
792 名前:776 [2022/04/21(木) 00:06:54.28 ID:EXXirMvu.net] >>777 文字が増えるだけで普通の文字になってくれないです line.decode('cp932') u'\u3042\u3044\u3046\r\n'
793 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 00:31:19 ID:68zG9eph.net] >>780 ちゃんと「あいう」とUnicode文字列で保持できてる そのGIMP環境で日本語がprintできる前提で >>> '日本語'.decode('cp932') がエラーなしなら >>> print u'\u3042\u3044\u3046\r\n'.encode('cp932') でとおるはず 環境によりcp932はutf8他かもしれんが
794 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 00:38:42.33 ID:Qeso+L0D.net] >>776 最後2行 line = p.stdout.readline().decode('cp932') print line で表示できるはず
795 名前:776 [2022/04/21(木) 00:53:13.48 ID:EXXirMvu.net] >>781 >>782 GIMPコンソール上では line.decode('cp932')で u'\u3042\u3044\u3046\r\n' とでてたんですが メッセージボックスだしたら gimp.message(line.decode('cp932')) 日本語表示されました。 よくわからないですがそういう文字の扱い?みたいです おさわがせしました ありがとうございます
796 名前:776 [2022/04/21(木) 01:54:42.76 ID:EXXirMvu.net] もう一つ質問なんですが stdoutで他の.pyで動かした出力が受け取れたんですが 他の.pyに入力を与えてその結果出力を受け取るにはどうしたらいいんでしょうか? 検索しても p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\oyo.py'), stdin=subprocess.PIPE,stdout = subprocess.PIPE, shell=True) みたいに stdin=subprocess.PIPE を追加するみたいなんですが、入力する変数はどこに書けばいいのか 入力を受け取る側の.pyではどうやって受け取るのか分からなかったです
797 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 02:05:23.23 ID:Qeso+L0D.net] >>784 .communicate(input=変数)
798 名前:746 mailto:sage [2022/04/21(木) 06:31:01.36 ID:EXXirMvu.net] >>785 ありがとうございます 入力を受け取る側の.pyではどうすればいいんですか?
799 名前:デフォルトの名無しさん [2022/04/21(木) 09:46:00 ID:v468I8x9.net] ターミナルから以下を入力すると問題なく実行できるのに、 ファイルcalendar.pyに保存して実行すると TypeError: 'module' object is not callableになるのは何故でしょう? import calendar print(calendar.calendar(2022))
800 名前:デフォルトの名無しさん [2022/04/21(木) 09:48:00 ID:v468I8x9.net] すみません自己解決しました。 calendar.pyの名前が被ってるからのようですね。
801 名前:746 mailto:sage [2022/04/21(木) 17:49:56.13 ID:EXXirMvu.net] 自己解決です 受け取る側にinput()で出来ました
802 名前:デフォルトの名無しさん [2022/04/21(木) 19:03:12.96 ID:FRtLfLsM.net] import tkinter でTtkが読まれないのは仕様だそうですが、いまいちしっくりこないんですが単なるインポートでコレが読み込まれるとか(Ttkのように)読み込まれないとかはどこで知ればいいのでしょうか?
803 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 19:17:14.76 ID:gmJJNdw9.net] >>790 from tkinter だとtkinter以外インポートしないから from tkinter import * のときってこと? それなら tkinter.__all__ でわかる
804 名前:デフォルトの名無しさん mailto:sage [2022/04/21(木) 19:20:14.88 ID:gmJJNdw9.net] https://docs.python.org/ja/3/library/tkinter.ttk.html Ttkって拡張があるんだね これは個々の事情なので知ってないとわからないけど ここに書いてるし説明くらい読もうよしかいえん
805 名前:デフォルトの名無しさん [2022/04/21(木) 20:19:47 ID:YKw8btnC.net] import tkinter as tk import tkinter.ttk as ttk imporr tkinter.messagebox as tkmb import tkinter.filedialog as tkfd 俺が普段使うセット from tkinter import * from tkinter import ttk は推奨しない 一部のウィジェットはtk版のが使いやすかったりするから オーバーライドされてほしくないのだ
806 名前:776 [2022/04/22(金) 01:33:52.51 ID:llHCzfDa.net] >>776 です input()で入力を受け取ったpython3.10の方が文字化けしてしまって 自分なりにはいろいろencode,decode試したんですが うまくいかなかなかったです 文字化けを直すにはどうしたらいいですか? GIMPコンソール上の入力(python2.7) import subprocess input_text = 'あいう' line="" p = subprocess.Popen(('C:\\Users\\aa\\AppData\\Local\\Programs\\Python\\Python310\\python.exe C:\\Users\\aa\\Desktop\\ohayo.py'),stdin = subprocess.PIPE, stdout = subprocess.PIPE, shell=True) line=p.communicate(input=input_text)[0] print line python3.10の.py #!/usr/bin/env python # coding: utf-8 from tkinter import messagebox text = input() messagebox.showinfo("moji",text) ↑このメッセージボックスの中身が 画数の多い漢字と記号に化けてしまいました コピペできなかったので画像付けます https://dotup.org/uploda/dotup.org2781923.jpg.html
807 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 02:34:21.05 ID:I15ojW8g.net] >>794 line=p.communicate(input=input_text.encode('cp932'))[0].decode('cp932')
808 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 12:16:08.09 ID:j0HvfQsZ.net] >>778 テーブルを美汁でとるとき一行づつdictしてconcatinationするときに使えないかと思い
809 名前:デフォルトの名無しさん [2022/04/22(金) 13:23:31.05 ID:sHpgXsI/.net] アナコンダかをインストールして混ぜるな危険のpipとコンダをやってしまい壊れた pip一本化で問題ないですか?
810 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 13:38:07.44 ID:EkSdB4ug.net] 一本化で問題ない
811 名前:デフォルトの名無しさん [2022/04/22(金) 14:13:32.13 ID:sHpgXsI/.net] サンクス
812 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 14:37:59.91 ID:53M5rCU+.net] クラスを書いているとき中身が肥大化して __init__関数の引数が膨大な数になって インスタンスを作るのが大変な状態になってしまったとき リストでよく使うひな型をいくつか書いておいてそれを渡すという解決法を考えたのですが 妥当なやり方でしょうか?また他に良いやり方があればお教え願います
813 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 14:45:24.17 ID:CAe1t8bi.net] >>800 デザインパターンでググる
814 名前:デフォルトの名無しさん [2022/04/22(金) 16:00:19.34 ID:3+eT3Tts.net] >>800 >クラスを書いているとき中身が肥大化して >__init__関数の引数が膨大な数になって インスタンスを作るのが大変な状態になってしまったとき どんな状態?
815 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 16:08:00.83 ID:EkSdB4ug.net] プロセス起動するためのクラス作りたいな。で最初は実行ファイルのexeパス指定だけのシンプルなclassだったけど arg追加しよう、ワーキングフォルダ指定、起動時最小化オプション追加、管理者として実行オプション・・・ 引数が膨大になってくってことだろ
816 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 16:15:58.67 ID:p48HHJp5.net] >>79
817 名前:6 なるほどわからん >>774 の言うようにコレクションをコレクションのまま扱う感覚を身につけたほうがいいのかもしれない htmlテーブルをdictionaryにしたいならthの構成に合わせてlistやdictにする(もしくはpandasのread_html) https://www.w3schools.com/html/html_tables.aspのtable#customersなら header = [ th.text for th in table.select('tr:first-child > th')] result = [ {header[i]: td.text for i, td in enumerate(tr.select('td'))} for tr in table.select('tr')[1:] ] print(result[2]['Country’]) # Austria [] [ここ壊れてます]
818 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 17:12:11 ID:DFy/+sOR.net] 何でもやらせるほどsubprocessの極薄ラッパーになっていって 最終的にいらねえじゃんってなる
819 名前:デフォルトの名無しさん [2022/04/22(金) 18:54:56.60 ID:vYYyAoJX.net] 1スレを読んでみようと思ったのですが一つ一つリンクをクリックして戻った結果途中で"rawを読み込めませんでした"と言われこのスレに戻されてしまいました。どなたかこのスレの1を読む方法教えて頂けませんか
820 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 19:13:49.15 ID:CAe1t8bi.net] >>806 2ch → 5ch
821 名前:デフォルトの名無しさん [2022/04/22(金) 19:48:10.24 ID:vYYyAoJX.net] >>807 ありがとうございます! 5ちゃんねるの"くだすれpython"の現行版から過去のスレのリンクを辿ってみました part34辺りで5chから2chのログに切り替わっているせいかリンクを読み込もうとしなくてロード出来ませんでした スマホからだと読むことは出来ないと言うことでしょうか
822 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:17:22.51 ID:a0+aRfgz.net] 便所の落書き読む時間があるなら書籍の一冊でも読んだほうが有意義だぞ
823 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:24:41.56 ID:h+Fap4CC.net] >>803 > ワーキングフォルダ指定、起動時最小化オプション追加、管理者として実行オプション・・・ そう言うのはプロパティとかでいいだろ > 引数が膨大になってくってことだろ 毎回全部指定するつもりなのかよw
824 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 20:59:16.35 ID:cNb4vicF.net] 毎回全部指定したい(指定強制したい)ってことはあるからな
825 名前:デフォルトの名無しさん mailto:sage [2022/04/22(金) 21:03:59.41 ID:7tkDjHFj.net] >>811 ラッパー経由になるだけだから指定強制なんて意味ないでしょ
826 名前:デフォルトの名無しさん [2022/04/22(金) 21:20:42.63 ID:72MHsUfr.net] >>800 はまだ>>800 しか書いてなくて、後は>>803 の憶測について議論してるんだよね?
827 名前:746 mailto:sage [2022/04/22(金) 21:33:54.80 ID:llHCzfDa.net] >>795 ありがとうございます! 出来ました!! エンコードとデコード両方しないと行けないのですね 助かります!!
828 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 18:41:33.50 ID:yaJafia3.net] テキストファイルの先頭からあるワードを検索し 1回目に見つかったワードを特定のワードに置換 2回目に見つかったワードをまた別のワードに置換 … という処理を実装したいです 自分の知識だと、テキストを一行ずつ読み込んでは 正規表現でワードをサーチしカウンタを加算し カウンタ値に応じてreplaceするっていうコードしか浮かばないですが 何か他に効率的・定番的な書き方があれば教えてください
829 名前:776 [2022/04/23(土) 21:11:23.83 ID:S27JpXaa.net] 度々すみません。 >>794 で教えてもらった以下の行を入れたのですが line=p.communicate(input=input_text.encode('cp932'))[0].decode('cp932') 中国語(繁体語)をinputに入れたところ以下のエラーがでてしまいます UnicodeEncodeError: 'cp932' codec can't encode character u'\u91d9' in position 0: illegal multibyte sequence 検索してみたところcp932に含まれない文字があった場合にでるみたいです u'\u91d9'はこの字でした(釙) https://0g0.org/unicode/91D9/ 中国語(繁体語)をinputに送っていたので 以下を参考にエンコードをcp932ではなくてcp950にしてみたのですが文字化けしてしまします docs.daemon.ac/python/Python-Docs-2.5/lib/standard-encodings.html 他にbig5やbig5hkscsも試してみましたが文字化けします この文字化けはどうしたらちゃんと表示されますか? こういった多言語を扱う場合どうしたら良いのでしょうか? u'\u91d9'(釙)以外にもu'\ufe50'(﹐)などにも引っかかってしまします
830 名前:デフォルトの名無しさん mailto:sage [2022/04/23(土) 21:38:30.92 ID:LTun4BN3.net] >>815 そんな一般性もないような使い捨てのコードは効率よりわかりやすさが大事 文章そのままにコーディングしたらええがな