1 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:25:08.74 ID:/hGmbW/Z.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/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56 mevius.5ch.net/test/read.cgi/tech/1640536690/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
101 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 17:19:34.23 ID:AeKYwQGO.net] ""と''の違いってある? 単に出力の違いとかじゃなくてコードを書く上での使い方の違いとか
102 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 18:19:13.17 ID:HiXA4239.net] https://pep8-ja.readthedocs.io/ja/latest/#section-11
103 名前:デフォルトの名無しさん [2022/06/18(土) 18:53:41.89 ID:U2ccem7m.net] >>100 英語キーボードなら''のほうが楽
104 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:06:28.02 ID:H57335ve.net] >>98 ありがとうございます 検索すると、実行セルのipynbとは別のipynbファイルおよびセルをインポートする方法はあるのですが、 実行セルと同じipynbファイルにある別セル(例えば、実行セルの一つ上のセル)を呼び出したい 場合は、自分自身のipynbをインポートするということでしょうか? インポートするipynbのセルすべてを実行するとあるので、素人感覚では無限ループになってしまうそうなのですが・・ 呼び出される側のセルをpyファイルに出力してそのpyファイルをインポートすればいい話かもしれませんが、いちいち pyファイルで書き出すのもなあ…と 理解が悪くてすみません
105 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 19:19:37.26 ID:HiXA4239.net] 普通に関数を作るのではだめなの
106 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 20:04:40.40 ID:H57335ve.net] >>104 ありがとうございます それでももちろんできるのですが、呼び出される側のセルを単体で実行することも多く、また同一ipynbのその他多くの セルからも呼び出したいのです(処理が共通している vbaだと、publicsubプロシージャで独立させてしまえばいい話だったので同じことがしたいなと
107 名前:デフォルトの名無しさん [2022/06/18(土) 20:08:08.31 ID:cOcEcivy.net] jupyterなんて池沼用だろ
108 名前:デフォルトの名無しさん [2022/06/18(土) 22:44:24 ID:FjYCWDRz.net] blenderでpythonスクリプトを使ってキャラクターの目のまばたきの動きを制御してるんですがやってることをグラフで表すとこんな感じで https://i.imgur.com/3wSHCrT.jpg yにどのくらい目を動かすかの数値が入り xにアニメーションの経過フレーム数が入るとして xが0のときyは0 xが3のときyは6 という条件があるものとして それをグラフで表すと増量が一定ならば一番左のグラフのようにyが2ずつ増えるグラフになると思いますけど これだとまばたきが毎回同じ動きになってしまうので変化をつけたいんですが たとえば真ん中や右のグラフのようにyの数値が不規則に増えていくグラフを計算するたびに作成するみたいなことをしてまばたきの動きに変化をつけたいんですが それに使える関数とか計算式みたいのってないですかね
109 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 22:53:35 ID:HiXA4239.net] この分野はド素人だが CSSにはanimation-timing-functionってのがあって似てる
110 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 09:13:37.77 ID:CQcbRoeX.net] dictionary_one = {"a": 1, "b": 2, "c": 3} dictionary_two = {"c": 3, "d": 4} merged1 = {**dictionary_one, **dictionary_two} print(merged) # {'a': 1, 'b': 2, 'c': 3, 'd': 4} merged2 = dictionary_one | dictionary_two print(merged2) これの "merged1="部分と"merged2 ="部分ってやってること同じという認識でいいのかな?
111 名前:デフォルトの名無しさん [2022/06/19(日) 09:55:52.19 ID:EfD69g8z.net] >>109 前者は遅い
112 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 11:42:39.18 ID:Lvzk3izZ.net] 速度はほぼ同じ しかし今の時代に演算子にやらせる処理じゃないな それも論理演算子を想起するものを使うとか正気と沙汰とは思えない Guidoも演算子推してたけどセンスが悪すぎないか?
113 名前:デフォルトの名無しさん [2022/06/19(日) 12:37:09.83 ID:sa8W0ZGX.net] 論理演算自体、集合演算と切っても切れない関係だから、まるで違和感ないな
114 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:08:21.20 ID:mFXr9uBN.net] dictを拡張するPEPは、setに準じた挙動にするのが目標の一つだったから、どう転んでも論理演算子のオーバーライドは外されなかっただろう
115 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:26:32.46 ID:cDaRhPWb.net] >>112 dictは集合演算じゃないからね a | bで両方にkeyがある場合はset
116 名前:ニ同じくaが採用されるならまだよかった [] [ここ壊れてます]
117 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:37:38.06 ID:V2Ko/eSH.net] >>113 最初は+で提案されてたんだぞ それにsetに準じたいなら何で他の演算子は実装されないのさ?
118 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 15:47:44.79 ID:JUrmuEeo.net] https://peps.python.org/pep-0584/ こんなの追加するなよと思ってしまうけど結構面白い
119 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 16:18:18.38 ID:AfW1xcqK.net] inplaceじゃないdict.updateが欲しかっただけなのに それをメソッドで用意できないところがPythonの限界 sort/sortedやin演算子に共通する基本的API設計の問題だから Pythonはそういうもんだと諦めて 用意されたものを使う事だけに専念した方が精神衛生上いいよ
120 名前:デフォルトの名無しさん [2022/06/19(日) 16:34:05.36 ID:+3VyORCf.net] >>114 keyに注目すれば集合演算そのものじゃん。 valueという属性が各keyに付いてるというだけ。 大体、>>111 はsetだったら納得したのかね
121 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:04:44.33 ID:SF0ERYFz.net] 不毛な返しだな 潜在的に不幸な奴はどこでどんな生活をしてても不幸だって言うだろ 同様にどこでどんな仕様の言語を使ってても不平を垂れてんだよ
122 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 17:17:33.66 ID:tgIktWD1.net] 誰と会話してるのか知らないが Pythonこそ人類最大の功績だろ いかがわしいウェブサイトの構築からAIや研究畑まで広がる広大な活躍範囲 JavaもRubyも要らんかったんや
123 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 18:03:25.93 ID:EYUnw8+k.net] >>118 setのunionやintersectionの演算子は違和感ないぞ それにsetの場合は穴にはまるような仕様もないし __or__以外の通常メソッドも用意されてるから全然状況が違う
124 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 19:03:27.86 ID:MGBoiv+i.net] 俺もDictの論理和で違和感ないがなぁ。
125 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:17:06.63 ID:njnZ7xZC.net] dict1 | dict2で同じ(hash値の)keyが両方にあれば keyはdict1からvalueはdict2から取ってくる 一般的な論理和の定義とは明らかに異なるけど これをpythonではdictの論理和と呼ぶことにしたのならそれでいいんじゃない
126 名前:デフォルトの名無しさん mailto:sage [2022/06/19(日) 22:17:07.56 ID:m8jSBDD8.net] >>120 原理主義者w 読みやすさがダンチすぎるわな あとは高速にさえなれば最強
127 名前:デフォルトの名無しさん [2022/06/19(日) 22:44:59.15 ID:sa8W0ZGX.net] >>123 keyは同じものなんだからどっちからもってきてもいいだろ。 仕様でもvalueをdict2から持ってくることだけしか決められてないんだからそんなところに依存するコードを書いたらお前が悪いとしか言えん。 あと同じhash値ってだけで同定されると思ってるみたいだな
128 名前:デフォルトの名無しさん [2022/06/20(月) 00:01:19.54 ID:FO/JkqKw.net] >>123 誰もdictの論理和と呼ぶ奴いないが
129 名前:デフォルトの名無しさん [2022/06/20(月) 00:04:58.71 ID:FO/JkqKw.net] こんな場末の掲示板で美学()を垂れてる大先生達はPEPに提案でもすればいいのにな https://github.com/python/peps/blob/main/CONTRIBUTING.rst
130 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 00:51:48.01 ID:3bt1t/j5.net] >>126 >>122
131 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 09:01:28.64 ID:clQvML/w.net] picture(数字).pngで連番のファイルを生成したんだけどpathlibでディレクトリの中身覗くと picture0.png picture1.png picture3.png picture2.png picture4.png みたいな順番になってる事があってなんだか気持ちが悪い これって何が原因なんです?pathlibの仕様?
132 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 10:51:33.24 ID:bmv2finQ.net] iterdir()とiterdir()が使ってるos.listdir()の仕様
133 名前:デフォルトの名無しさん [2022/06/20(月) 10:52:01.17 ID:NopO3X5I.net] lenovoのL420っていうノートパソコン使っています celeron,4GBです 教科書レベルのプログラムを写経してます 画像ファイル256枚、一枚あたり30kb位のファイルを 重ねる画像処理をpythonで行っているのですが MemoryErrorがでて処理が止まります 画像処理の分野ではよくあることなのでしょうか メモリ空きスロットが無いです 今までメモリ不足なんて無かったのですが PC買い替えでしょうか?
134 名前:デフォルトの名無しさん mailto:sage [2022/06/20(月) 11:06:40.33 ID:VCuoWLch.net] >>131 エラーメッセージを読んでエラーの原因をまず確かめろ ハード的なメモリ不足よりプログラムの書き方が悪い可能性のほうがはるかに高い
135 名前:デフォルトの名無しさん [2022/06/21(火) 19:48:14.54 ID:BPheRP/d.net] #次のような集合のリストのリストrを作りました: r = [[set(range(1,4))]*3]*3 > print(r) [[{1,2,3}, {1,2,3}, {1,2,3}], [{1,2,3}, {1,2,3}, {1,2,3}], [{1,2,3}, {1,2,3}, {1,2,3}]] #上から2番目、左から3番目の集合を更新して要素を1のみとしました: r[1,2] = {1} #するとr[0,2]とr[2,2]も{1}になっちゃいました: > print(r) [[{1,2,3}, {1,2,3}, {1}], [{1,2,3}, {1,2,3}, {1}], [{1,2,3}, {1,2,3}, {1}]] r[1,2]以外が変わった原因と、r[1,2]以外が変わらないような方法教えて下さい
136 名前:デフォルトの名無しさん [2022/06/21(火) 20:00:56.97 ID:BPheRP/d.net] >>133 訂正 r[1,2]じゃなくてr[1][2]でした (他同様)
137 名前:デフォルトの名無しさん [2022/06/21(火) 20:03:33.86 ID:nUT03NU2.net] deepcopyで検索ゥ
138 名前:デフォルトの名無しさん [2022/06/21(火) 20:08:37.10 ID:SE7t042v.net] [[set(range(1, 4)) in x for range(3)] in y for range(3)]
139 名前:デフォルトの名無しさん [2022/06/21(火) 20:18:32.01 ID:SH7wWIQd.net] >>133 多次元のリストを作るにはどうしますか? https://docs.python.org/ja/3/faq/programming.html#faq-multidimensional-list
140 名前:デフォルトの名無しさん [2022/06/21(火) 20:18:51.87 ID:BPheRP/d.net] >>136 ありがとうございます〜forとin換えたら行けました >>135 検索してdeepcopyの話かな?という所には辿り着きましたが適応の仕方がよく分かりませんでした 勉強しときます
141 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 11:44:54.88 ID:EcTc17L7.net] ほとんどの言語は、shallow copy 実体をコピーしない。 ポインター・参照しかコピーしない 実体をいじると、それを参照している全ての参照に影響が出る。 実体を参照を通して見ているから なかなか簡単には、deep copy できない。 参照のリンクを切り離せない Elixir みたいな関数型言語は、 オブジェクトを更新できない(状態を持てない)から、 こういう問題はなく、安全にプログラミングできる
142 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 12:13:41.31 ID:TN4B0obT.net] なんかさ、もううんこだよね
143 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 21:49:37.76 ID:kEl16R0O.net] 特定のフォルダ以下のサブフォルダから拡張子を取得して 指定したフォルダ下に拡張子のフォルダを作りたくて 下記のプログラムを書いたところで動作しましたが os.makedirs文のみで完結する簡素な記述方法はありますか? cd_path ← フォルダを作りたい場所 file_extension ← FOR文で取得した拡張子 path = os.path.join(cd_path, file_extension) os.makedirs(path, exist_ok=True)
144 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 22:14:47.11 ID:1aHzqpDi.net] >>141 回答になってないけど、初心者なら最初からpathlib覚えたほうがいいぞ os.pathやglob.globはいろんな罠がある あと、拡張子にはドットが含まれるから注
145 名前:モ [] [ここ壊れてます]
146 名前:デフォルトの名無しさん mailto:sage [2022/06/22(水) 23:39:08.69 ID:uPuQk0KY.net] みんな一時は罹ってしまうコードゴルフ 中二病にちかい
147 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 00:13:39.08 ID:RPGBecSe.net] 配列(array)の要素それぞれにリストを入れることは出来ない? リストの要素それぞれに配列を入れることはできる? でいいのかな?
148 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 00:24:13.97 ID:RKdZXyYS.net] あまりやらないけれど 配列の要素はそれぞれ任意のものを入れられるから 最初に配列、次に文字列でもすきなクラスでも大丈夫 もちろんぜんぶ配列でもOK
149 名前:デフォルトの名無しさん mailto:sage [2022/06/23(木) 10:12:12.29 ID:bFbjfjx7.net] dictのキーにString型のリストとバリューにリストに入った多重結界みたいなデータ作ってjsonとして書き出すみたいな遊びだよね
150 名前:デフォルトの名無しさん [2022/06/23(木) 14:55:17.55 ID:EV0+4t37.net] https://github.com/yaneurao/Ayane のunit_test1.pyの、一番基本的なtest_ayane1を通そうとするとプロンプトにtest_ayane1 : とだけ でてwrite_workerの734行目のself.proc.stdin.flush()でスレッドが死んでるような?感じなのですが 試して原因を教えてくれる神はいませんか。 ちなみに呼び出すエンジン自体は別のソフトや、cshogiというこれと似たライブラリからの呼び出しでちゃんと 動作していることを確認しています。
151 名前:デフォルトの名無しさん [2022/06/23(木) 15:04:04.22 ID:Ukh7Grgr.net] 判った
152 名前:デフォルトの名無しさん [2022/06/23(木) 15:58:15.03 ID:EV0+4t37.net] >>147 Python 3.7.13で、macOS12.4 Montley上です。
153 名前:デフォルトの名無しさん mailto:sage [2022/06/24(金) 11:43:47.67 ID:3JV7YPJq.net] socketのサーバー側で i=0 while True: data=soc.recv(受信サイズ) if not data: break data_sum+=data with open(f"保存するファイル名_{i}.zip",mode="ab") as f: f.write(data_sum) i+=1 みたいにするとクライアント側が送信したデータの他に数個のzipファイルが出来るんだけどこのデータの中身は何なんだろう? zipfileで開こうとするとエラー出力しちゃう 変数iを使わずに受信するとクライアントが送信したデータだけが残るみたいだけど…
154 名前:デフォルトの名無しさん [2022/06/24(金) 12:05:35.52 ID:K2we1Lar.net] >>150 死ね https://egg.5ch.net/test/read.cgi/bizplus/1655956236/
155 名前:名無し募集中。。。 mailto:sage [2022/06/24(金) 13:18:15.52 ID:d6WBxki6.net] FOR文の中にtqdm()を入れてみたんんですが 下記みたいなのしか表示されなくプログレスバーが表示されません 70786it [3:35:59, 1.94it/s] なにが問題なんでしょうか?
156 名前:デフォルトの名無しさん [2022/06/24(金) 14:31:40.66 ID:yJmddVFh.net] 実際のコードを書かないこと
157 名前:ぴよ [2022/06/24(金) 14:59:09.01 ID:XR8KeGTq.net] ほげほげ
158 名前:デフォルトの名無しさん [2022/06/24(金) 19:30:36.14 ID:n0/ceoPd.net] >>152 lenが不明なiteratorだとそうなる tqdm(iterator, total=100)のようにする
159 名前:デフォルトの名無しさん mailto:sage [2022/06/24(金) 23:45:09.14 ID:/S8ogjuv.net] >>150 VSCode で、バイナリエディタの拡張機能・Hex Editor でも使って、バイナリとして見てみれば? 文字コードなどが不明なので、テキストとして見るには困る 適当に内容を作って、ファイルの拡張子を .zip にしても、 正しいZIPファイルの形式になるはずがないので、ZIPファイルとしては動作しない 各拡張子のファイルには、決められた構成があるため、 それに従っていない場合は、正常に動作しない
160 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 00:01:18.86 ID:eoWHGkrH.net] Phil Katz に聞くべき
161 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 00:11:42.65 ID:z9QRxAiq.net] 降霊術を習得しないと
162 名前:デフォルトの名無しさん [2022/06/25(土) 19:47:06.55 ID:fwnfW89W.net] Pythonでsetの要素がイミュータブルでないといけないのはなぜですか? a = [1, 2, 3] b = [4, 5, 6] c = [7, 8, 9] S = {a, b, c} a.append(0) この状況で、 a in Sの値が偽になっても別に構わないと思います。 Sに登録した時点でのaは{1, 2, 3}だったわけですから、 d = {1, 2, 3} d in Sが真になりさえすれば何もおかしなことはないと思います。
163 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 19:57:20.22 ID:I0eUacPf.net] S = {a,b,c} TypeError: unhashable type: 'list'
164 名前:デフォルトの名無しさん [2022/06/25(土) 20:23:18.44 ID:bZig/WUT.net] こういう馬鹿が辞書のキーにまでリスト入れたいとか言い出すんだろうな
165 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 20:26:09.88 ID:gQjoPRQF.net] >>159 Pythonのオブジェクトは基本参照だし、setに突っ込んでもコピーされる訳じゃない 重複を許さないsetの要素が変更されたら保証できないし、比較のコストも考えたら…かな
166 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 20:36:01.58 ID:9jpr7vFN.net] >>159 自作クラスとか、mutableでもsetに突っ込めるよ。 何か読み違えたのでは?
167 名前:デフォルトの名無しさん mailto:sage [2022/06/25(土) 21:18:41 ID:gQjoPRQF.net] >>163 本質的にはそうじゃない、ユーザークラスは既定でハッシュ化できるが これは一般的な実装ではid()、即ちインスタンスアドレスに基づくもの 実質的に求められているのはハッシュの不変性であり、それならば通る しかし同一性を内容で評価するなら意味は成さないのでlistだと未定義 データモデル曰く「クラスがミュータブルなオブジェクトを定義しており、 __eq__() メソッドを実装しているなら、 __hash__() を定義してはなりません。」
168 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 01:34:01.17 ID:A2gDvo6x.net] やってやれないことはないけど デメリットを打ち消すだけのメリットを見いだせなかったんでしょGuidoが 単に他の言語のdict/setに合わせただけかも知れんが ともかく、真実が知りたかったら開発者に聞いてこいよ
169 名前:デフォルトの名無しさん mailto:sage [2022/06/26(日) 07:16:45.51 ID:eSuyoUi6.net] >>95 print('QHG pj.og.ldn.iakkok:etis'[::-1], '/elpmis/pj.og.ldn.iakkok//:sptth'[::-1], sep='\n')
170 名前:デフォルトの名無しさん [2022/06/26(日) 13:31:03.88 ID:DTfGvOZF.net] ねんまつ
171 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:09:04 ID:Zqv939YP.net] PCでのアプリ操作を自動化したいのですが、pyocrで文字認識して、内容によって判断し、pyautoguiでxy座標指定して、ボタン押すしかないでしょうか?
172 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:14:55.95 ID:RN7qnQjk.net] 物によるとしか言いようが無いな
173 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 08:17:13.06 ID:RN7qnQjk.net] PyAutoGui でカバー出来るか出来ないかを判断してみたら?
174 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 18:27:20 ID:3qzf3wBJ.net] 以前MACにいれたpython3を削除できないです。 % rm -rf /usr/bin/python3 rm: /usr/bin/python3: Read-only file system % sudo rm -rf /usr/bin/python3 Password: rm: illegal option -- ? usage: rm [-f | -i] [-dPRrvW] file ... unlink file 原因わかる方いますか?
175 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 18:53:43.40 ID:0yF6vhsn.net] >>171 sudoのほうは全角スペースが入ってるのが原因
176 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 19:05:21.65 ID:a8sMrZjJ.net] 172の優しさに感動
177 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 19:25:49.92 ID:cL/RIHXE.net] そのpython入れたのはAppleだから通常起動したOSからは削除できない仕組み 消えたらOS内のスクリプトが動かなくなるよ よかったねOSが壊れなくて
178 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 20:20:17.78 ID:3qzf3wBJ.net] >>172 迅速なレスありがとうございます。 もう一度コメント打ちましたが同じ結果でした。全角は入ってないようです。 >>174 MACから元々インストールされているのはphyon2なので Phyon3とは関係ない、削除しても問題ないと思うのですが.. https://i.imgur.com/PpXh6yu.png
179 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 20:45:49.02 ID:xsOnLI+U.net] >>175 何経由でインストールしたんだこれ Homebrew使ってインストールしたなら brewコマンド経由でアンインストール出来ない?
180 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 21:25:48.96 ID:cL/RIHXE.net] >>175 python3入ってないmacOSってわりと古いよ? ここ最近はpython2が逆に入ってない(公式サポート終わってるからね) もし自前で /usr/bin にインストールしたってんならクラッカー気質あるわw
181 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 21:44:39.26 ID:XFwxgXBL.net] >>175 同じ結果とちゃうやん 全角入ってた時とエラーメッセージ変わってるやん どうしても削除したいならSIP無効にしてから削除で
182 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 22:13:08.24 ID:3qzf3wBJ.net] >>175 追記 すみません自分の勘違いでこのpython3はデフォルトから入ってるファイルのようです。 >>177 さんの仰る通りでした。申し訳ありません。 そして再度インストールしようとhomebrewを入れpyenvを入れ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc echo 'eval "$(pyenv init -)"' >> ~/.zshrc を追加し source ~/.zshrcを実行してpython3.10.4をインストールするとうまくいきません。。おまかんなのでしょうか?? https://i.imgur.com/ErhCpgK.jpg
183 名前:デフォルトの名無しさん mailto:sage [2022/06/27(月) 22:13:29.06 ID:3qzf3wBJ.net] >>178 申し訳ありません。
184 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 01:52:22.87 ID:GjoTbrJZ.net] >>179 自決ですが、xcodeが古かったので新しいバージョンにいれた所無事インストールできました。
185 名前:デフォルトの名無しさん [2022/06/28(火) 08:26:42.80 ID:UgaAibo1.net] またしても犠牲者が。 pythonの乱用は精神に作用するのかもしれない
186 名前:デフォルトの名無しさん [2022/06/28(火) 12:11:58.39 ID:W8L8uteA.net] macのOS環境ごとふっとんで死ねば良いのに
187 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 12:22:02.22 ID:SMUgtqGT.net] 日本人が作った、多言語バージョンマネージャーのanyenv を使えばよい。 同様のツールには、asdf もある nodenv, pyenv, rbenv, exenv, goenv, tfenv など node, python, ruby, elixir, go, terraform など 他には、Docker も多い
188 名前:デフォルトの名無しさん [2022/06/28(火) 13:58:17.02 ID:5S91HeIj.net] re.subで[]で囲まれた文字列の中を置換するとき、どんな記述をすればよいですか? re.sub(r'\[.*c.*\], 'x', '[abcabc]abc') 期待する値 [abxabx]abc
189 名前:デフォルトの名無しさん [2022/06/28(火) 14:07:39 ID:N3XtpiKU.net] >>185 re.sub(r'\[[^\]]*\]', lambda m: m[0].replace('c', 'x'), '[abcabc]abc')
190 名前:185 [2022/06/28(火) 14:31:31.24 ID:5S91HeIj.net] >>186 多謝!! そしてごめんなさい。良ければ解説を。
191 名前:185 [2022/06/28(火) 14:49:53.04 ID:5S91HeIj.net] []の中だけを対象にreplaceしているのは、なんとか分かるんですが、re.sub の第2引数、 lambda m: m[0].replace('c', 'x') が何をしているのかわかりません(泣)
192 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 14:52:51.94 ID:dX7Zsa+9.net] マニュアルを読もう https://docs.python.org/ja/3/library/re.html#re.sub
193 名前:デフォルトの名無しさん mailto:sage [2022/06/28(火) 14:59:09.76 ID:d3+RKzUY.net] repl が関数であれば~の下りね、m[g]はm.group(g)と同等 後読みアサーションに固定幅制約がないライブラリなら 面倒なことしなくても(?<=\[.*)c(?=.*\])で済みそうだが
194 名前:デフォルトの名無しさん [2022/06/28(火) 15:42:31.79 ID:5S91HeIj.net] re.sub(r'\[.*\]', lambda m: m.group(0).replace('c, 'x') でlambda関数がヒットするたび呼ばれるわけか!! 仕組みは理解できました。 >>190 look-behind requires fixed-width pattern に阻まれました。
195 名前:デフォルトの名無しさん [2022/06/28(火) 19:31:26.15 ID:mooH0Iqw.net] m.group はめんどくさい findall の方が便利
196 名前:デフォルトの名無しさん [2022/06/29(水) 07:52:27.56 ID:9vdu/PbE.net] >192 re.findall だと re.sub のような仕掛けが利用できなくないですか? >185 できますか??
197 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 10:56:55 ID:CtIvUBkO.net] re.findallで[]付きとそれ以外に分けて処理 ちょっと長くなるけど色々応用がききます # []の中だけreplace >>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]') ['a', '[abcabc]', 'abc', '[abc]'] >>>[m.replace('c', 'x') if m[0]=='[' else m for m in _] ['a', '[abxabx]', 'abc', '[abx]'] >>>''.join(_) 'a[abxabx]abc[abx]' # []の中以外をreplace >>>re.findall(r'\[[\w]+\]|[\w]+', 'a[abcabc]abc[abc]') ['a', '[abcabc]', 'abc', '[abc]'] >>>[m.replace('c', 'x') if m[0]!='[' else m for m in _] ['a', '[abcabc]', 'abx', '[abc]'] >>>''.join(_) 'a[abcabc]abx[abc]'
198 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 19:29:51.42 ID:CtIvUBkO.net] 完成形できました!記号が含まれていても[]がちゃんと閉じてなくても ちゃんと閉じているのだけreplaceします >>186 が秀逸だけど、[]で囲まれていない方をreplaceするとなると 途端に難しくなるから、やっぱ私の方法が良いんじゃないでしょうかw >>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc]') ['', 'a', '[abcabc]', '', 'abc', '[abc]', ''] >>>[m.replace('c', 'x') if m and m[0]=='[' else m for m in _] ['', 'a', '[abxabx]', '', 'abc', '[abx]', ''] >>>''.join(_) 'a[abxabx]abc[abx]' # 文字列に記号が含まれていて[]がちゃんと閉じていなくても大丈夫 >>>re.findall(r'\[[^\[\]]*\]|[\[\]]*|[^\[\]]*', 'a[abcabc]abc[abc$$[abc]') ['', 'a', '[abcabc]', '', 'abc', '[', '', 'abc$$', '[abc]', '']
199 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 22:12:59.69 ID:sd1PgpdM.net] 見通し悪すぎて要件満たしててもレビューで蹴られるコード
200 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 22:25:07.73 ID:TQFqK5Fi.net] ちゃんと閉じているの定義があやしい [[abc]とか
201 名前:デフォルトの名無しさん mailto:sage [2022/06/29(水) 23:13:54 ID:CtIvUBkO.net] >>196 見通し良いでしょ、角カッコで囲まれた角カッコ以外 or 角カッコ or 角カッコ以外でfindallじゃん 角カッコしか出てこないじゃん、簡潔、シンプル、分かりやすい >>197 良い指摘、アナタのおかげで改善されました^^ >>>re.findall(r'\[[^\[\]]*\]|[\[\]]*?|[^\[\]]*', 'a[abcabc]abc[[abc]') ['', 'a', '[abcabc]', '', 'abc', '', '[', '[abc]', '']