当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。
「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合★は、
表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★
【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、
プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/ Run Code機能あり。
ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
◇Python公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi
〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その54
https://mevius.5ch.net/test/read.cgi/tech/1623240344/
次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
【まず1嫁】くだすれPython(超初心者用) その55
■ このスレッドは過去ログ倉庫に格納されています
2021/10/01(金) 15:46:47.17ID:9qOHXj6D
2021/10/07(木) 21:40:15.30ID:UdQO/mXQ
> ID:vIJYcTdp
システム依存な話なのでよそでどうぞ
システム依存な話なのでよそでどうぞ
2021/10/07(木) 21:44:37.02ID:vIJYcTdp
>>85
こちらもWindows10です
ずっとコマンドプロンプトでやっていてできてます
今PowerShellでやってみましたが、PowerShellでもできました
\\?\C つけ忘れていませんか?
フルパスで "" もつけてください
ほかに条件あるのだろうか
こちらもWindows10です
ずっとコマンドプロンプトでやっていてできてます
今PowerShellでやってみましたが、PowerShellでもできました
\\?\C つけ忘れていませんか?
フルパスで "" もつけてください
ほかに条件あるのだろうか
2021/10/07(木) 21:56:31.61ID:xRnq/kAQ
2021/10/07(木) 22:01:48.59ID:vIJYcTdp
2021/10/07(木) 22:02:37.28ID:vIJYcTdp
>>86
これでいいですか?
p_dir = pathlib.Path(dir)
p_files = list(p_dir.glob("**/*"))
で例外が発生する場合、該当ファイルを読み飛ばして処理を行う方法はありますか?
自力で再帰読込はできればやりたくありません
これでいいですか?
p_dir = pathlib.Path(dir)
p_files = list(p_dir.glob("**/*"))
で例外が発生する場合、該当ファイルを読み飛ばして処理を行う方法はありますか?
自力で再帰読込はできればやりたくありません
2021/10/07(木) 22:28:17.75ID:xRnq/kAQ
最後がドッドのアクセスできないディレクトリに入ろうとして例外が出るのかな?
これは自力で再帰読込するしかないよ、再帰はそんな難しくないと思うよ! がんばって^^
これは自力で再帰読込するしかないよ、再帰はそんな難しくないと思うよ! がんばって^^
2021/10/07(木) 23:35:06.59ID:vIJYcTdp
超レアケースなのでルートのディレクトリ毎エラー処理することにします
できればファイル単位でエラー処理したかったのですが
できればファイル単位でエラー処理したかったのですが
93デフォルトの名無しさん
2021/10/07(木) 23:50:14.03ID:StWMkIYV >>82
どうかな
import pathlib
p_dir = pathlib.Path(".")
p_glob = p_dir.glob("**/*")
p_files = []
while True:
try:
p = next(p_glob)
p_files.append(p)
except FileNotFoundError as e:
import sys
print(e, file=sys.stderr)
except StopIteration:
break
print(*p_files, sep="\n")
どうかな
import pathlib
p_dir = pathlib.Path(".")
p_glob = p_dir.glob("**/*")
p_files = []
while True:
try:
p = next(p_glob)
p_files.append(p)
except FileNotFoundError as e:
import sys
print(e, file=sys.stderr)
except StopIteration:
break
print(*p_files, sep="\n")
2021/10/07(木) 23:53:44.05ID:vIJYcTdp
2021/10/08(金) 00:17:02.73ID:T4fYgd16
96デフォルトの名無しさん
2021/10/08(金) 00:41:36.79ID:x4lgXBGS Path.glob()いいね
いままでos.walk()で自前でフィルタしてたけど今度つかってみる
いままでos.walk()で自前でフィルタしてたけど今度つかってみる
2021/10/08(金) 08:04:57.04ID:dABXXppr
ジェネレーターのスゴさを認識できた
98デフォルトの名無しさん
2021/10/08(金) 09:08:14.69ID:Pr4xGBUG globって見に行かない名前のファイルかディレクトリなかったっけ?
2021/10/08(金) 09:45:15.17ID:LO45Vby3
for i in range(100):
_if条件:
__time.sleep(3)など
__continue
_if条件:
__time.sleep(3)など
__continue
こういうとき、time.sleep(3)などが重複するのでまとめたいと思い
for i in range(100):
_if i!=0:
__time.sleep(3)など
としましたが
要は、continueするときには必ず実行する文がある
ということなので
continue後毎に処理するような節とかテクニックや慣習はあるのでしょうか
_if条件:
__time.sleep(3)など
__continue
_if条件:
__time.sleep(3)など
__continue
こういうとき、time.sleep(3)などが重複するのでまとめたいと思い
for i in range(100):
_if i!=0:
__time.sleep(3)など
としましたが
要は、continueするときには必ず実行する文がある
ということなので
continue後毎に処理するような節とかテクニックや慣習はあるのでしょうか
100デフォルトの名無しさん
2021/10/08(金) 09:56:28.31ID:3oVEDenR イマイチ何言ってるかわからんけど、関数でいいんじゃないの?
101デフォルトの名無しさん
2021/10/08(金) 10:14:00.03ID:LO45Vby3 if条件の中にはif条件1とif条件2で違う処理も入っているので
continueするときに必ず行う処理はべつのとこに書いた方が見やすいかな
と思ったのです
つまり、continue文の宣言自体がそれ(continueするときに必ず行う処理)を示すような書き方があれば
と思ったのですがなさそうですね
ありがとうございました
continueするときに必ず行う処理はべつのとこに書いた方が見やすいかな
と思ったのです
つまり、continue文の宣言自体がそれ(continueするときに必ず行う処理)を示すような書き方があれば
と思ったのですがなさそうですね
ありがとうございました
102デフォルトの名無しさん
2021/10/08(金) 10:20:00.72ID:Q4k4Ultl 書いてる例だけ見るとcontinueを使うべきケースではなさそう
103デフォルトの名無しさん
2021/10/08(金) 10:44:16.94ID:LO45Vby3 for i in range(100):
_if i!=0:
__i=0以外で実行する関数1()
↑こういうのってあんまり使わないものなのでしょうか?
continue後時に必ず実行する関数、と違う点は
if i!=0:だと最期のcontinue後は実行されない、ので混乱するかなと。
(else節併用だと野暮になるし)
やはり重複しようが
if 条件1:
_関数A()
_関数1("")
_continue
if 条件2:
_関数B()
_関数1("")
_continue
みたいにした方がいいのかもしれませんね
_if i!=0:
__i=0以外で実行する関数1()
↑こういうのってあんまり使わないものなのでしょうか?
continue後時に必ず実行する関数、と違う点は
if i!=0:だと最期のcontinue後は実行されない、ので混乱するかなと。
(else節併用だと野暮になるし)
やはり重複しようが
if 条件1:
_関数A()
_関数1("")
_continue
if 条件2:
_関数B()
_関数1("")
_continue
みたいにした方がいいのかもしれませんね
104デフォルトの名無しさん
2021/10/08(金) 10:54:49.70ID:dABXXppr for i in range(100):
____if i != 0:
________if 条件1:
____________関数A()
________if 条件2:
____________関数B()
________関数1("")
________continue
____if i != 0:
________if 条件1:
____________関数A()
________if 条件2:
____________関数B()
________関数1("")
________continue
105デフォルトの名無しさん
2021/10/08(金) 11:39:53.95ID:3oVEDenR >>103
関数1でi==0で実行しない設定にしとけばいいだけだろ。
関数1でi==0で実行しない設定にしとけばいいだけだろ。
107デフォルトの名無しさん
2021/10/08(金) 14:27:43.17ID:hfI/PPIh tkinterでrowconfigure([1, 2, 3], weight=1)とかすると
_GridIndexにlist[int]できねーよって怒られるんだけど実際はできる
どういう型指定したらいいんでしょうか
_GridIndexにlist[int]できねーよって怒られるんだけど実際はできる
どういう型指定したらいいんでしょうか
108デフォルトの名無しさん
2021/10/08(金) 22:41:24.42ID:T4fYgd16 >>93
今日詳細にテストしました。今使っているコードです
p_dir = pathlib.Path(dir)
p_files = []
p_err_files = []
p_glob = p_dir.glob("**/*")
while True:
____try:
________p = next(p_glob)
________dot_chk = False
________for divided_path in str(p).replace("/", "\\").split("\\"):
____________if divided_path[-1] == ".":
________________dot_chk = True
________________break
________if not dot_chk:
____________p_files.append(p)
________else:
____________p_err_files.append(p)
____except FileNotFoundError as e:
________print(e, file=sys.stderr)
____except StopIteration:
________break
____for i in p_err_files:
________for j in p_err_files:
____________if str(i).startswith(str(j)):
________________if len(str(i)) > len(str(j)):
____________________p_err_files.remove(i)
print(*p_files, sep="\n")
print(*p_err_files, sep="\n")
今日詳細にテストしました。今使っているコードです
p_dir = pathlib.Path(dir)
p_files = []
p_err_files = []
p_glob = p_dir.glob("**/*")
while True:
____try:
________p = next(p_glob)
________dot_chk = False
________for divided_path in str(p).replace("/", "\\").split("\\"):
____________if divided_path[-1] == ".":
________________dot_chk = True
________________break
________if not dot_chk:
____________p_files.append(p)
________else:
____________p_err_files.append(p)
____except FileNotFoundError as e:
________print(e, file=sys.stderr)
____except StopIteration:
________break
____for i in p_err_files:
________for j in p_err_files:
____________if str(i).startswith(str(j)):
________________if len(str(i)) > len(str(j)):
____________________p_err_files.remove(i)
print(*p_files, sep="\n")
print(*p_err_files, sep="\n")
109デフォルトの名無しさん
2021/10/08(金) 22:49:21.67ID:T4fYgd16 ドットで終わるディレクトリがあっても例外が発生しない場合があるようです。
例外が発生しない場合、このコードで正常・異常分類できてます
例外が発生した場合、探索が打ち切られているような感じです。
解釈間違ってるかも
例外が発生した場合、全件エラーにした方がよさそうです。
例外が発生しない場合、このコードで正常・異常分類できてます
例外が発生した場合、探索が打ち切られているような感じです。
解釈間違ってるかも
例外が発生した場合、全件エラーにした方がよさそうです。
110デフォルトの名無しさん
2021/10/08(金) 23:04:50.88ID:T4fYgd16 例外が発生しない場合でも
ドットで終わるファイル・ディレクトリを検出したら全件エラーのほうが安全かな
ドットで終わるファイル・ディレクトリを検出したら全件エラーのほうが安全かな
111デフォルトの名無しさん
2021/10/09(土) 08:06:03.22ID:3hwdJKmG class Person():
_def __init__(self, name, age):
__self.name = name
__self.age = age
_def sample1(self):
__print(self.name,self.age,self.f)
class JapanesePerson(Person):
_def __init__(self,name,age,f=False):
__self.name = name
__self.age = age
__self.f=f
class JapanesePerson2(Person):
_def __init__(self,name,age,f=False):
__super().__init__(name,age)
__self.f=f
yamada = JapanesePerson("山田", 30)
yamada.sample1()
yamada2 = JapanesePerson2("山田2", 20,True)
yamada2.sample1()
JapanesePersonとsuper()つかったJapanesePerson2って同じ意味っすよね?
super()使って書くのって継承したPersonにname,ageがあるぞっていう意味合いのためなんでしょうか?
_def __init__(self, name, age):
__self.name = name
__self.age = age
_def sample1(self):
__print(self.name,self.age,self.f)
class JapanesePerson(Person):
_def __init__(self,name,age,f=False):
__self.name = name
__self.age = age
__self.f=f
class JapanesePerson2(Person):
_def __init__(self,name,age,f=False):
__super().__init__(name,age)
__self.f=f
yamada = JapanesePerson("山田", 30)
yamada.sample1()
yamada2 = JapanesePerson2("山田2", 20,True)
yamada2.sample1()
JapanesePersonとsuper()つかったJapanesePerson2って同じ意味っすよね?
super()使って書くのって継承したPersonにname,ageがあるぞっていう意味合いのためなんでしょうか?
112デフォルトの名無しさん
2021/10/09(土) 08:45:15.87ID:TxyuJC/9 >>111
>JapanesePersonとsuper()つかったJapanesePerson2って同じ意味っすよね?
違うよ、super()を使った方は基底クラスPersonの属性name,ageに値をセットするが
JapanesePersonの方は基底クラスの方にセットせずに重複したJapanesePersonの属性name,ageにセットしている
Personを継承している意味がナッシング
>JapanesePersonとsuper()つかったJapanesePerson2って同じ意味っすよね?
違うよ、super()を使った方は基底クラスPersonの属性name,ageに値をセットするが
JapanesePersonの方は基底クラスの方にセットせずに重複したJapanesePersonの属性name,ageにセットしている
Personを継承している意味がナッシング
113デフォルトの名無しさん
2021/10/09(土) 09:52:36.10ID:3hwdJKmG >>112
そうなんですね
yamada.sample1() でself.name,self.ageが参照できてるので
なんのためにsuper().__init__でわざわざ値セットする必要があるんだろう??と気になったので。
def sample1(self):のselfってなんなんだ??みたいな
ありやした
そうなんですね
yamada.sample1() でself.name,self.ageが参照できてるので
なんのためにsuper().__init__でわざわざ値セットする必要があるんだろう??と気になったので。
def sample1(self):のselfってなんなんだ??みたいな
ありやした
114デフォルトの名無しさん
2021/10/09(土) 11:41:14.80ID:TxyuJC/9 >>108
>________for divided_path in str(p).replace("/", "\\").split("\\"):
>____________if divided_path[-1] == ".":
これはfor divided_path in p.parts: # で分割できる、pathlibの機能を使おう
更にここは内包表記で一気に書けて
_________if any(part.endswith('.') for part in p.parts):
よってdot_chk変数が不要になる
>____except FileNotFoundError as e:
>________print(e, file=sys.stderr)
これエラー表示してるだけだから、p_err_files.append(p) しといた方が良くない?
>____for i in p_err_files:
>________for j in p_err_files:
>____________if str(i).startswith(str(j)):
>________________if len(str(i)) > len(str(j)):
>____________________p_err_files.remove(i)
こっちの方が早いかも、短いし
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not j.match(i.name+'/*')]
>________for divided_path in str(p).replace("/", "\\").split("\\"):
>____________if divided_path[-1] == ".":
これはfor divided_path in p.parts: # で分割できる、pathlibの機能を使おう
更にここは内包表記で一気に書けて
_________if any(part.endswith('.') for part in p.parts):
よってdot_chk変数が不要になる
>____except FileNotFoundError as e:
>________print(e, file=sys.stderr)
これエラー表示してるだけだから、p_err_files.append(p) しといた方が良くない?
>____for i in p_err_files:
>________for j in p_err_files:
>____________if str(i).startswith(str(j)):
>________________if len(str(i)) > len(str(j)):
>____________________p_err_files.remove(i)
こっちの方が早いかも、短いし
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not j.match(i.name+'/*')]
115デフォルトの名無しさん
2021/10/09(土) 12:37:39.05ID:A9QtIjdU >>114
アドバイスありがとうございます。
内包表記覚えたいと思ってるんですがなかなか身につかないです
glob.glob使っていてpathlib.globに書き直したのでpathlibの他の機能何も知らない状態です
勉強しなきゃいけないこと多いな
>>____except FileNotFoundError as e:
>>________print(e, file=sys.stderr)
>これエラー表示してるだけだから、p_err_files.append(p) しといた方が良くない?
動作確認に使ってるだけなんで、printじゃなくpassでいいかと思ってます。
この例外のメッセージから有用な情報は得られませんでした
例外が発生する以前に、pathlib.globに限らずファイル関連の関数・クラスの挙動があやしいです
pathlib.globは試した範囲では1番挙動がまともでした
アドバイスありがとうございます。
内包表記覚えたいと思ってるんですがなかなか身につかないです
glob.glob使っていてpathlib.globに書き直したのでpathlibの他の機能何も知らない状態です
勉強しなきゃいけないこと多いな
>>____except FileNotFoundError as e:
>>________print(e, file=sys.stderr)
>これエラー表示してるだけだから、p_err_files.append(p) しといた方が良くない?
動作確認に使ってるだけなんで、printじゃなくpassでいいかと思ってます。
この例外のメッセージから有用な情報は得られませんでした
例外が発生する以前に、pathlib.globに限らずファイル関連の関数・クラスの挙動があやしいです
pathlib.globは試した範囲では1番挙動がまともでした
116デフォルトの名無しさん
2021/10/09(土) 13:10:11.80ID:A9QtIjdU >>114
>________p_err_files = [j for j in p_err_files if not j.match(i.name+'/*')]
j.match(i.name+'/*')] の部分なんですが、pathlibは'/'で決め打ちして大丈夫なんですか?
pythonが'/'と'\\'をどう使い分けてるかよくわからないです。
取得したパスが'/'と'\\'混在してたりするし・・・
>________p_err_files = [j for j in p_err_files if not j.match(i.name+'/*')]
j.match(i.name+'/*')] の部分なんですが、pathlibは'/'で決め打ちして大丈夫なんですか?
pythonが'/'と'\\'をどう使い分けてるかよくわからないです。
取得したパスが'/'と'\\'混在してたりするし・・・
117デフォルトの名無しさん
2021/10/09(土) 13:20:34.47ID:A9QtIjdU118デフォルトの名無しさん
2021/10/09(土) 13:22:15.13ID:TxyuJC/9 >>116
どっち使ってもいいし混在してもいいみたいですよ
>>____except FileNotFoundError as e:
>>________print(e, file=sys.stderr)
これ有益な情報が得られないとあるけど、どのディレクトリかファイルで例外発生したかは分かったの?
分からなかったらpも表示させた方がいいんでない?
どっち使ってもいいし混在してもいいみたいですよ
>>____except FileNotFoundError as e:
>>________print(e, file=sys.stderr)
これ有益な情報が得られないとあるけど、どのディレクトリかファイルで例外発生したかは分かったの?
分からなかったらpも表示させた方がいいんでない?
119デフォルトの名無しさん
2021/10/09(土) 13:49:18.15ID:A9QtIjdU >>118
例外発生したディレクトリの名前が信用できないんです
except FileNotFoundError as e: のところで分かるのは、発生したということだけです
恐らく発生したと思われるディレクトリ名は既にp_err_filesに入ってます
例外が発生したときのみ全件エラーにするなら何かフラグを立てたほうがいいと思います
今回はドットで終わるものを見つけたら、エラーログにp_err_filesを書き出して
全件処理しないのでこれで十分かと
その後、手作業でエラーログのすべてに対応すると思うので、例外発生個所の情報は使いません
例外発生したディレクトリの名前が信用できないんです
except FileNotFoundError as e: のところで分かるのは、発生したということだけです
恐らく発生したと思われるディレクトリ名は既にp_err_filesに入ってます
例外が発生したときのみ全件エラーにするなら何かフラグを立てたほうがいいと思います
今回はドットで終わるものを見つけたら、エラーログにp_err_filesを書き出して
全件処理しないのでこれで十分かと
その後、手作業でエラーログのすべてに対応すると思うので、例外発生個所の情報は使いません
120デフォルトの名無しさん
2021/10/09(土) 14:29:12.42ID:TxyuJC/9 >>119
いやいや、例外が発生する箇所はp = next(p_glob)のところで
そこからexcept FileNotFoundError as e: にジャンプしてくるわけですから
p_err_filesには入りません(p_err_filesに入るのは例外が発生しない場合です)
で、おそらくpの変数に代入する前のnext(p_glob)で例外が発生するから
その場合except FileNotFoundError as e:でpを表示させた場合は例外が発生する前のpなわけで
そのpの次にアクセスするディレクトリかファイルで例外が発生するということですよ、きっと
あと/と\\なんですけど、これはファイルパスの区切り文字でLinuxとかが/でWindowsは\\です
Pythonではどっち指定してもいいんですが、これをstr()で文字列にすると文字が違うわけですから
同じパスでも違うパスと判定してしまうので注意です
if str(i).startswith(str(j)):は危険です
いやいや、例外が発生する箇所はp = next(p_glob)のところで
そこからexcept FileNotFoundError as e: にジャンプしてくるわけですから
p_err_filesには入りません(p_err_filesに入るのは例外が発生しない場合です)
で、おそらくpの変数に代入する前のnext(p_glob)で例外が発生するから
その場合except FileNotFoundError as e:でpを表示させた場合は例外が発生する前のpなわけで
そのpの次にアクセスするディレクトリかファイルで例外が発生するということですよ、きっと
あと/と\\なんですけど、これはファイルパスの区切り文字でLinuxとかが/でWindowsは\\です
Pythonではどっち指定してもいいんですが、これをstr()で文字列にすると文字が違うわけですから
同じパスでも違うパスと判定してしまうので注意です
if str(i).startswith(str(j)):は危険です
121デフォルトの名無しさん
2021/10/09(土) 14:45:18.21ID:A9QtIjdU >>120
詳しく書きますね
最初ドットで終わるディレクトリに入れなくて例外すると考えていました。
テストしているとそうではないと思うようになってきました。
例外が発生原因はドットで終わるディレクトリです
でも必ず例外が発生するわけではありません
pathlib.globが最後に探索する箇所がドットで終わるディレクトリの場合、例外は発生しません
この状態でドットで終わるディレクトリのうしろに問題のないディレクトリを追加します
そうすると、ドットで終わるディレクトリではやはり例外は発生しません
例外が発生するのは次の問題のないディレクトリです
このとき、間違ったファイル名で処理をしようとしてFileNotFoundErrorが発生していると思われます
例外で取得できるのは問題のないディレクトリにアクセスするときの間違ったファイル名です
詳しく書きますね
最初ドットで終わるディレクトリに入れなくて例外すると考えていました。
テストしているとそうではないと思うようになってきました。
例外が発生原因はドットで終わるディレクトリです
でも必ず例外が発生するわけではありません
pathlib.globが最後に探索する箇所がドットで終わるディレクトリの場合、例外は発生しません
この状態でドットで終わるディレクトリのうしろに問題のないディレクトリを追加します
そうすると、ドットで終わるディレクトリではやはり例外は発生しません
例外が発生するのは次の問題のないディレクトリです
このとき、間違ったファイル名で処理をしようとしてFileNotFoundErrorが発生していると思われます
例外で取得できるのは問題のないディレクトリにアクセスするときの間違ったファイル名です
122デフォルトの名無しさん
2021/10/09(土) 15:09:43.07ID:TxyuJC/9 >>121
よく分かりました。それなら言われたとおり例外はpassするだけでいいですね
ところで
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not j.match(i.name+'/*')]
ですが、、
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not j.match(str(i/'*'))]
に訂正します
matchの中のstr(i/'*') は文字列にした場合区切り文字が\\になります
これをstr(i) + '/*'として/と\\を混在させてもmatchでは正常に動くようです
よく分かりました。それなら言われたとおり例外はpassするだけでいいですね
ところで
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not j.match(i.name+'/*')]
ですが、、
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not j.match(str(i/'*'))]
に訂正します
matchの中のstr(i/'*') は文字列にした場合区切り文字が\\になります
これをstr(i) + '/*'として/と\\を混在させてもmatchでは正常に動くようです
123デフォルトの名無しさん
2021/10/09(土) 15:30:28.23ID:Ngy1mnu3 printと書かない以外でなんか出力するのある?
124デフォルトの名無しさん
2021/10/09(土) 16:19:52.75ID:/xiMgjvY sys.stdout.write()
125デフォルトの名無しさん
2021/10/09(土) 16:24:43.13ID:dPZPc1xL WindowsというかDOSの頃から内部は/でもパス区切りできて
バックスラッシュ要求するのはシェルや一部のアプリ
単体プログラムなら/で書いたほうがポータビリティある
バックスラッシュ要求するのはシェルや一部のアプリ
単体プログラムなら/で書いたほうがポータビリティある
126デフォルトの名無しさん
2021/10/09(土) 18:09:17.61ID:JVX7Q22F >>121
Path.globでイテレータを作成した後に追加・削除されたファイルやディレクトリは
イテレーションに含まれるか含まれないかは不定なので
それでも困らないような使い方じゃなければ使い方が悪い
>例外で取得できるのは問題のないディレクトリにアクセスするときの間違ったファイル名です
問題のないディレクトリなのに間違ったファイル名なのか・・・・
全部読んでないからかよくわからん
Path.globでイテレータを作成した後に追加・削除されたファイルやディレクトリは
イテレーションに含まれるか含まれないかは不定なので
それでも困らないような使い方じゃなければ使い方が悪い
>例外で取得できるのは問題のないディレクトリにアクセスするときの間違ったファイル名です
問題のないディレクトリなのに間違ったファイル名なのか・・・・
全部読んでないからかよくわからん
127デフォルトの名無しさん
2021/10/09(土) 19:07:55.16ID:Ngy1mnu3 統合環境?総合環境?
おすすめの教えて
winでもマックでもリヌクスでもいいです
おすすめの教えて
winでもマックでもリヌクスでもいいです
128デフォルトの名無しさん
2021/10/09(土) 19:13:36.12ID:/xiMgjvY eric4
129デフォルトの名無しさん
2021/10/09(土) 19:19:03.79ID:A9QtIjdU130デフォルトの名無しさん
2021/10/09(土) 21:23:39.35ID:aguDhBGS >>127
Jupyter Notebook、Notebookの後継であるJupyterLab、
VSCode, Google Collaboratory
YouTube などで、よく紹介されているのは、Google Collaboratory
他には、WSL2, Linux, Docker
多言語のversion manager なら、asdf とか、
日本人が作った、バージョンマネージャーのanyenv とか
anyenvでは、19言語を統一された方法で、
nodenv, phpenv, pyenv, rbenv, goenv, jlenv などを使う。
Python ならpyenv、Julia ならjlenv
Python標準では、venv
多くの言語で、version manager の使い方を統一したいのなら、asdf, anyenv
Jupyter Notebook、Notebookの後継であるJupyterLab、
VSCode, Google Collaboratory
YouTube などで、よく紹介されているのは、Google Collaboratory
他には、WSL2, Linux, Docker
多言語のversion manager なら、asdf とか、
日本人が作った、バージョンマネージャーのanyenv とか
anyenvでは、19言語を統一された方法で、
nodenv, phpenv, pyenv, rbenv, goenv, jlenv などを使う。
Python ならpyenv、Julia ならjlenv
Python標準では、venv
多くの言語で、version manager の使い方を統一したいのなら、asdf, anyenv
131デフォルトの名無しさん
2021/10/09(土) 23:27:09.55ID:cIVnj/jm132130
2021/10/10(日) 00:15:53.95ID:lB7MFpHR プロ用では、anyenv から、Docker へ移行していくだろう
133デフォルトの名無しさん
2021/10/10(日) 05:07:59.49ID:wTu2fZfo tkinterにドラッグアンドドロップつける
tkinterDnD2というやつ
dnd_root.bind(<Drop>, callback)
callback(ev):
__files = dnd_root.splitlist(ev.data)
みたいに書きます
このevてdndEventクラスで
http://tkinterdnd.sourceforge.net/TkinterDnD.html#DnDEvent
にあるように、いくつかの属性にアクセスできるんだけど
この属性のそれぞれが何を意味してるのかっていうのは、どこに書いてあるんでしょうか
ドキュメント的なものを探してるんだけど、見当たらなくて
tkinterDnD2というやつ
dnd_root.bind(<Drop>, callback)
callback(ev):
__files = dnd_root.splitlist(ev.data)
みたいに書きます
このevてdndEventクラスで
http://tkinterdnd.sourceforge.net/TkinterDnD.html#DnDEvent
にあるように、いくつかの属性にアクセスできるんだけど
この属性のそれぞれが何を意味してるのかっていうのは、どこに書いてあるんでしょうか
ドキュメント的なものを探してるんだけど、見当たらなくて
134デフォルトの名無しさん
2021/10/10(日) 08:00:27.46ID:kKlMir+m >>133
https://www.ellogon.org/petasis/index.php/tcltk-projects/tkdnd/tkdnd-man-page#lbAI
TkinterDnD.pyは読んでる前提
https://www.ellogon.org/petasis/index.php/tcltk-projects/tkdnd/tkdnd-man-page#lbAI
TkinterDnD.pyは読んでる前提
135デフォルトの名無しさん
2021/10/10(日) 09:09:58.87ID:wTu2fZfo >>134
おー助かりました
おー助かりました
136デフォルトの名無しさん
2021/10/10(日) 09:10:27.91ID:YLnhElYI137デフォルトの名無しさん
2021/10/10(日) 11:33:12.15ID:ykpYSE0z 私の開発環境はIDLEとGVIMだわ、大したことやってないし
138デフォルトの名無しさん
2021/10/10(日) 12:39:25.44ID:H4xzBt6k importで頭が混乱してきました
https://pastebin.com/tRafMmRt
sample0.pyのimport sample2で、sample2内のsample1がimportされると思ったのですが
結果、importはされませんでした
そう判断したのは、sample0→sample2でのsample1のimportで
printもされず、BASEのランダムも生成されなかったからです
これは、sample0.pyでsample1をすでにimportしているので
sample2内のsample1のimportは省略というか、
sample0でのsample1のimportを引き継いだ
みたいなことでいいのでしょうか・・?
https://pastebin.com/tRafMmRt
sample0.pyのimport sample2で、sample2内のsample1がimportされると思ったのですが
結果、importはされませんでした
そう判断したのは、sample0→sample2でのsample1のimportで
printもされず、BASEのランダムも生成されなかったからです
これは、sample0.pyでsample1をすでにimportしているので
sample2内のsample1のimportは省略というか、
sample0でのsample1のimportを引き継いだ
みたいなことでいいのでしょうか・・?
139デフォルトの名無しさん
2021/10/10(日) 13:16:40.64ID:kKlMir+m >>138
そう
あちこちにあるimport sys他が都度走るのはいやだし
https://docs.python.org/ja/3/reference/import.html
他の動作も可能だけれどフレームワーク実装とか特殊なケースでなければ
モジュール側でうまく対応した方が良い。
そう
あちこちにあるimport sys他が都度走るのはいやだし
https://docs.python.org/ja/3/reference/import.html
他の動作も可能だけれどフレームワーク実装とか特殊なケースでなければ
モジュール側でうまく対応した方が良い。
140デフォルトの名無しさん
2021/10/10(日) 13:24:05.94ID:H4xzBt6k >>139
なるほど・・
どうもimportするたびに新規発行されるみたいなイメージが強くなってしまって・・
>あちこちにあるimport sys他が都度走る
たしかにそうですよね
ありがとうございました
なるほど・・
どうもimportするたびに新規発行されるみたいなイメージが強くなってしまって・・
>あちこちにあるimport sys他が都度走る
たしかにそうですよね
ありがとうございました
141デフォルトの名無しさん
2021/10/10(日) 14:08:59.72ID:PpP5FnLO >>114
>>122
for x in range(500000):
p_err_files = p_err_files_org.copy()
for i in p_err_files:
for j in p_err_files:
if str(i).replace("/", "\\").startswith(str(j).replace("/", "\\")):
if len(str(i)) > len(str(j)):
p_err_files.remove(i)
7秒
for x in range(500000):
p_err_files = p_err_files_org.copy()
for i in p_err_files:
p_err_files = [j for j in p_err_files if not j.match(str(i/'*'))]
97秒
p_err_filesの内容によってどう変わるかわかりませんがかなり遅いです
綺麗な書き方だけにどうにかしたい
報告です。質問じゃないです
>>122
for x in range(500000):
p_err_files = p_err_files_org.copy()
for i in p_err_files:
for j in p_err_files:
if str(i).replace("/", "\\").startswith(str(j).replace("/", "\\")):
if len(str(i)) > len(str(j)):
p_err_files.remove(i)
7秒
for x in range(500000):
p_err_files = p_err_files_org.copy()
for i in p_err_files:
p_err_files = [j for j in p_err_files if not j.match(str(i/'*'))]
97秒
p_err_filesの内容によってどう変わるかわかりませんがかなり遅いです
綺麗な書き方だけにどうにかしたい
報告です。質問じゃないです
142デフォルトの名無しさん
2021/10/10(日) 15:13:50.14ID:ykpYSE0z >>141
ふむ、matchが遅いのだろうね、、じゃあ二人の良いところをドッキングしよう
for x in range(500000):
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________i = str(i).replace("/", "\\") + '\\' #replaceのせいで見にくいからあえて別にしてみました
________p_err_files = [j for j in p_err_files if not str(j).replace("/", "\\").startswith(i)]
これは3秒いっちゃうんじゃない?
ところで/と\\って混在するの? pathlib.Pathをstr変換するとOSに合わせた区切り文字で文字列化しない?
replaceいらないんじゃない? いや、私も昔混在しててエラーになった経験があるんだけども
それって文字列化してから自分でスラッシュを足して混在させてたような気がしてきた
今適当にやってみても混在しないし・・さ
ふむ、matchが遅いのだろうね、、じゃあ二人の良いところをドッキングしよう
for x in range(500000):
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________i = str(i).replace("/", "\\") + '\\' #replaceのせいで見にくいからあえて別にしてみました
________p_err_files = [j for j in p_err_files if not str(j).replace("/", "\\").startswith(i)]
これは3秒いっちゃうんじゃない?
ところで/と\\って混在するの? pathlib.Pathをstr変換するとOSに合わせた区切り文字で文字列化しない?
replaceいらないんじゃない? いや、私も昔混在しててエラーになった経験があるんだけども
それって文字列化してから自分でスラッシュを足して混在させてたような気がしてきた
今適当にやってみても混在しないし・・さ
143デフォルトの名無しさん
2021/10/10(日) 16:01:08.25ID:PpP5FnLO144デフォルトの名無しさん
2021/10/10(日) 16:15:29.74ID:PpP5FnLO 混在するのいやだから自分でつなぐときos.path.join使ってます
今ソース確認したけど"/"使ってない
今ソース確認したけど"/"使ってない
145デフォルトの名無しさん
2021/10/10(日) 16:23:35.36ID:ykpYSE0z146デフォルトの名無しさん
2021/10/10(日) 17:00:09.47ID:PpP5FnLO 取得したばかだから混在はないですね
最終形
for x in range(500000):
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not str(j).startswith(str(i) + os.sep)]
最終形
for x in range(500000):
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________p_err_files = [j for j in p_err_files if not str(j).startswith(str(i) + os.sep)]
147デフォルトの名無しさん
2021/10/10(日) 17:10:38.07ID:ykpYSE0z >>146
う、美しい、、os.sepもエレガント
う、美しい、、os.sepもエレガント
148デフォルトの名無しさん
2021/10/10(日) 20:43:45.45ID:PpP5FnLO ありゃ、バグってたかも(最終形じゃないやつ)
新コード 14秒
for x in range(5000):
____p_err_files = [str(p) for p in p_err_files_org]
____for i_idx, i in enumerate(p_err_files[:-1]):
________for j in p_err_files[i_idx + 1:]:
____________if j.startswith(i + os.sep):
________________p_err_files.remove(j)
____p_err_files = [pathlib.Path(p) for p in p_err_files]
最終形って書いたコード 56秒
新コードがバグってないかよくテストしなければ
新コード 14秒
for x in range(5000):
____p_err_files = [str(p) for p in p_err_files_org]
____for i_idx, i in enumerate(p_err_files[:-1]):
________for j in p_err_files[i_idx + 1:]:
____________if j.startswith(i + os.sep):
________________p_err_files.remove(j)
____p_err_files = [pathlib.Path(p) for p in p_err_files]
最終形って書いたコード 56秒
新コードがバグってないかよくテストしなければ
149デフォルトの名無しさん
2021/10/10(日) 21:08:00.05ID:PpP5FnLO 最初のデータだと
新コード 14秒
最終形って書いたコード 4秒
件数が多いと新コードが早い
新コード 14秒
最終形って書いたコード 4秒
件数が多いと新コードが早い
150デフォルトの名無しさん
2021/10/10(日) 21:41:11.57ID:ykpYSE0z for x in range(5000):
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________if i.is_dir():
____________i = str(i) + os.sep
____________p_err_files = [j for j in p_err_files if not str(j).startswith(i)]
最速のコード・・できました、、これは2秒台かもしれん
最後がドットのディレクトリでis_dir()ができるのか知りませんが
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________if i.is_dir():
____________i = str(i) + os.sep
____________p_err_files = [j for j in p_err_files if not str(j).startswith(i)]
最速のコード・・できました、、これは2秒台かもしれん
最後がドットのディレクトリでis_dir()ができるのか知りませんが
151デフォルトの名無しさん
2021/10/10(日) 22:14:56.87ID:PpP5FnLO152デフォルトの名無しさん
2021/10/10(日) 22:25:50.37ID:PpP5FnLO 件数の多いデータ loop回数減らしてます
新コード 2秒
最終形って書いたコード 11秒
isdir 60秒
新コード 2秒
最終形って書いたコード 11秒
isdir 60秒
153デフォルトの名無しさん
2021/10/10(日) 22:53:16.01ID:fsOtTZsl > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
154デフォルトの名無しさん
2021/10/10(日) 23:14:16.55ID:kKlMir+m is_dir()はos.stat(fstat)つかってそうだし遅いだろうね
事後処理多すぎるしos.walk()のが適当かも
事後処理多すぎるしos.walk()のが適当かも
155デフォルトの名無しさん
2021/10/10(日) 23:25:00.22ID:ykpYSE0z for x in range(5000):
____p_err_files = p_err_files_org.copy()
____for idx, i in enumerate(p_err_files[:-1], start=1):
________i = str(i) + os.sep #これは出した方が速いの?変わらない?
________p_err_files = [j for j in p_err_files[idx:] if not str(j).startswith(i)]
界王拳3倍だぁああああ
____p_err_files = p_err_files_org.copy()
____for idx, i in enumerate(p_err_files[:-1], start=1):
________i = str(i) + os.sep #これは出した方が速いの?変わらない?
________p_err_files = [j for j in p_err_files[idx:] if not str(j).startswith(i)]
界王拳3倍だぁああああ
156デフォルトの名無しさん
2021/10/10(日) 23:36:40.30ID:ykpYSE0z やっぱ>>155は無し
このp_err_files[:-1]やp_err_files[idx:]ってダメな気がする
途中でp_err_filesの要素抜くからバグる気がするんだけど・・
新コードと最終形の結果同じなんだよね?
このp_err_files[:-1]やp_err_files[idx:]ってダメな気がする
途中でp_err_filesの要素抜くからバグる気がするんだけど・・
新コードと最終形の結果同じなんだよね?
157デフォルトの名無しさん
2021/10/10(日) 23:50:06.43ID:PpP5FnLO >>155
最初のデータ(件数の少ないやつ)
新コード 14秒
155のやつ 2秒
件数の多いデータ 466件
新コード 28秒
155のやつ 32秒
件数の多いほうほぼ互角ですね
>________i = str(i) + os.sep #これは出した方が速いの?変わらない?
圧倒的に速いです
最初のデータ(件数の少ないやつ)
新コード 14秒
155のやつ 2秒
件数の多いデータ 466件
新コード 28秒
155のやつ 32秒
件数の多いほうほぼ互角ですね
>________i = str(i) + os.sep #これは出した方が速いの?変わらない?
圧倒的に速いです
158デフォルトの名無しさん
2021/10/10(日) 23:51:21.86ID:PpP5FnLO159デフォルトの名無しさん
2021/10/10(日) 23:57:12.93ID:ykpYSE0z for x in range(5000):
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________if i in p_err_files:
____________i = str(i) + os.sep
____________p_err_files = [j for j in p_err_files if not str(j).startswith(i)]
はい、これ最後にするわw inで抜いた要素の場合は処理を飛ばすです
is_dir()みたいに遅いかも? お疲れっした!
____p_err_files = p_err_files_org.copy()
____for i in p_err_files:
________if i in p_err_files:
____________i = str(i) + os.sep
____________p_err_files = [j for j in p_err_files if not str(j).startswith(i)]
はい、これ最後にするわw inで抜いた要素の場合は処理を飛ばすです
is_dir()みたいに遅いかも? お疲れっした!
160デフォルトの名無しさん
2021/10/11(月) 00:00:41.38ID:Z6IULiPa161デフォルトの名無しさん
2021/10/11(月) 07:20:20.01ID:nIh2l5lJ 出来ました、これが本当の最後! globで作られるリストでは先にディレクトリが並び、
後にそのディレクトリ内のファイルが並ぶことを利用して
消えるのは常にidxの後ろのファイルであることを考慮したものです
for x in range(5000):
____p_err_files = p_err_files_org.copy()
____for idx in range(len(p_err_files)):
________try:
____________i = str(p_err_files[idx]) + os.sep
________except IndexError:
____________break
________p_err_files = [j for j in p_err_files if not str(j).startswith(i)]
見てくださいこのカッコイイボディー、1秒台を叩き出すポテンシャルが伺えます
後にそのディレクトリ内のファイルが並ぶことを利用して
消えるのは常にidxの後ろのファイルであることを考慮したものです
for x in range(5000):
____p_err_files = p_err_files_org.copy()
____for idx in range(len(p_err_files)):
________try:
____________i = str(p_err_files[idx]) + os.sep
________except IndexError:
____________break
________p_err_files = [j for j in p_err_files if not str(j).startswith(i)]
見てくださいこのカッコイイボディー、1秒台を叩き出すポテンシャルが伺えます
162デフォルトの名無しさん
2021/10/11(月) 14:30:12.13ID:Z6IULiPa 最新コードです
メインループはリスト、サブループは集合
リストは長さでソート
集合で in を高速にし、内包表記で削除するデータを集め差集合を求める
件数が多い場合に焦点を当ててます
for x in range(5000):
____p_err_files = p_err_files_org.copy()
____p_err_list = sorted([str(p) for p in p_err_files], key = len)
____p_err_set = set(p_err_list)
____for i in p_err_list:
________if i in p_err_set:
____________i += os.sep
____________p_err_set -= {j for j in p_err_set if j.startswith(i)}
____p_err_files = [pathlib.Path(p) for p in p_err_set]
測定結果は後ほど
メインループはリスト、サブループは集合
リストは長さでソート
集合で in を高速にし、内包表記で削除するデータを集め差集合を求める
件数が多い場合に焦点を当ててます
for x in range(5000):
____p_err_files = p_err_files_org.copy()
____p_err_list = sorted([str(p) for p in p_err_files], key = len)
____p_err_set = set(p_err_list)
____for i in p_err_list:
________if i in p_err_set:
____________i += os.sep
____________p_err_set -= {j for j in p_err_set if j.startswith(i)}
____p_err_files = [pathlib.Path(p) for p in p_err_set]
測定結果は後ほど
163デフォルトの名無しさん
2021/10/11(月) 15:03:13.08ID:yoxInkMN p_err_files_orgを含めてideoneあたりに貼ってくれんかな
164デフォルトの名無しさん
2021/10/11(月) 15:04:52.03ID:Z6IULiPa 最初のデータ(件数の少ないやつ) 500,000ループ
最新コード 14秒
新コード 13秒
最終形って書いたコード 4秒
159 3秒
161 3秒
件数の多いデータ 466件 5,000ループ
最新コード 4秒
新コード 14秒
最終形って書いたコード 54秒
159 28秒
161 13秒
巨大ディレクトリテスト 122496件 1ループ
最新コード 223秒
新コード 277秒
最終形って書いたコード 測定不能ギブアップ
159 ギブアップ
161 ギブアップ
最新コード 14秒
新コード 13秒
最終形って書いたコード 4秒
159 3秒
161 3秒
件数の多いデータ 466件 5,000ループ
最新コード 4秒
新コード 14秒
最終形って書いたコード 54秒
159 28秒
161 13秒
巨大ディレクトリテスト 122496件 1ループ
最新コード 223秒
新コード 277秒
最終形って書いたコード 測定不能ギブアップ
159 ギブアップ
161 ギブアップ
165デフォルトの名無しさん
2021/10/11(月) 15:38:36.71ID:9gfKW03X > ID:PpP5FnLO, ID:ykpYSE0z
そろそろやめてもらっていいですか
そろそろやめてもらっていいですか
166デフォルトの名無しさん
2021/10/11(月) 15:38:47.81ID:nIh2l5lJ >>164
ブラボー、集合速い!
ちなみに最新コードのsetで順番が変わった結果は、これで戻せると思います
____p_err_files = sorted([pathlib.Path(p) for p in p_err_set] , key=p_err_files_org.index)
ブラボー、集合速い!
ちなみに最新コードのsetで順番が変わった結果は、これで戻せると思います
____p_err_files = sorted([pathlib.Path(p) for p in p_err_set] , key=p_err_files_org.index)
167デフォルトの名無しさん
2021/10/12(火) 00:09:42.22ID:QANgax+i >>165
ガイジに話が通じると思ってる奴もガイジ
ガイジに話が通じると思ってる奴もガイジ
168デフォルトの名無しさん
2021/10/12(火) 13:14:04.41ID:Y4+OaxqJ uuid含む辞書 のリストの検索って
やっぱ内包表記が一番早いですか?
item = [d for d in db if d[id] == _id][0]
やっぱ内包表記が一番早いですか?
item = [d for d in db if d[id] == _id][0]
169デフォルトの名無しさん
2021/10/12(火) 14:22:16.90ID:65IdcDyl170デフォルトの名無しさん
2021/10/12(火) 17:12:16.40ID:db3N35kL171デフォルトの名無しさん
2021/10/12(火) 18:55:46.32ID:rbfrUXN4 線形探索に変わりはないから本質的には変わらない
規模と目的にもよるが事前にハッシュテーブルを作成するなりしたらいいんじゃない?
規模と目的にもよるが事前にハッシュテーブルを作成するなりしたらいいんじゃない?
172デフォルトの名無しさん
2021/10/12(火) 19:05:49.73ID:rbfrUXN4 >>170
最初の1つを取得したいなら素直にfor文で回して見つけ次第breakすればいいんじゃない?
最初の1つを取得したいなら素直にfor文で回して見つけ次第breakすればいいんじゃない?
173デフォルトの名無しさん
2021/10/12(火) 19:27:30.01ID:db3N35kL174デフォルトの名無しさん
2021/10/12(火) 19:48:08.27ID:Y4+OaxqJ 謎のなりすましw
175デフォルトの名無しさん
2021/10/12(火) 20:14:27.30ID:DOoMLgfj tkinterとMVCを勉強中なんですが
view用のtkvarってmodel(db)に置くんですか?
view側が持つのですか?
view用のtkvarってmodel(db)に置くんですか?
view側が持つのですか?
176デフォルトの名無しさん
2021/10/12(火) 20:38:17.90ID:db3N35kL >>174
答えは見つかりましたか?
答えは見つかりましたか?
177デフォルトの名無しさん
2021/10/13(水) 00:27:53.69ID:zS1AsSBo178デフォルトの名無しさん
2021/10/13(水) 04:42:48.68ID:+txmauo5 >>175
view
ウィジェットとtkvar(表示(view)に関わる)
model
変数(データ実体)
controller
view.widget.tkvar.set(mode.var)
おれの認識
view
ウィジェットとtkvar(表示(view)に関わる)
model
変数(データ実体)
controller
view.widget.tkvar.set(mode.var)
おれの認識
179デフォルトの名無しさん
2021/10/13(水) 08:21:06.00ID:5N5C/lUt180デフォルトの名無しさん
2021/10/13(水) 08:46:20.82ID:XAFUKX/t 内包表記ってなんですか?
181デフォルトの名無しさん
2021/10/13(水) 10:54:11.99ID:V99uCirA [_ for _ in (1,2,3)]
182デフォルトの名無しさん
2021/10/13(水) 12:56:21.92ID:xAxceSCu どんなに複雑なコードでも内包表記で書こうとするような奴はPython向いてないとは思う
183デフォルトの名無しさん
2021/10/13(水) 13:38:38.75ID:znbxIIJY 馬鹿の一つ覚え
184デフォルトの名無しさん
2021/10/13(水) 14:17:57.86ID:k/aGOBxZ next filterは見た目いいけどそのままだと例外飛ぶからdefault指定すべき
あとid検索をしょっちゅうやるつもりなら171の言う通りidをキーに持つハッシュテーブルにしたほうがいい
あとid検索をしょっちゅうやるつもりなら171の言う通りidをキーに持つハッシュテーブルにしたほうがいい
185デフォルトの名無しさん
2021/10/13(水) 15:04:27.22ID:i0OqJqsg ネストする時は内包表記でもインデントしてね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】東京・立川市の小学校教室に男2人が侵入・窓ガラス割る すでに確保 児童にケガなし、教員4人ケガ [おっさん友の会★]
- 【スクープ】広瀬アリスと元KAT-TUN赤西仁が交際!GW中、しゃぶしゃぶ店で堂々デート、連日のお泊まり 左手薬指にお揃いの指輪も [Ailuropoda melanoleuca★]
- 【文春】永野芽郁(25)&田中圭(40)燃え上がる不倫LINE ★24 [Ailuropoda melanoleuca★]
- カーナビ搭載の公用車、NHK受信料の未払い相次ぐ 1000万円超えも…自治体に波紋 [おっさん友の会★]
- 【野球】巨人・オコエ瑠偉選手と増田大輝選手をオンラインカジノで賭博の疑いで書類送検 警視庁 [Ailuropoda melanoleuca★]
- なぜ?大阪で中国からの移住者が急増中! 中国に比べ日本は安い?生活に余裕?中国からの逃げ出し「潤」とは? [ぐれ★]
- 【速報】小学校に男2人が侵入 教員4人が怪我 [817260143]
- 【悲報】大阪万博+71000 パー収してしまう [616817505]
- フジテレビの新人女子アナ最新画像 [786835273]
- 【朗報】アメリカ、児童婚容認へ トランプ関係者「女は初潮が来たらおちんちんお迎え準備万端、『成熟』しているとみなしてよい」 [517459952]
- ウーバーイーツでチップの代わりにおっぱいを揉ませてくれる女性が急増、お前ら急げ!!! [606757419]
- 【画像】俺もこの乗り物乗りたいのだが