2009年7月10日のブックマーク (1件)

  • ジェネレータをうまく作れるようになりたい - 銀月の符号

    今晩の目的、「同名のファイルが存在しても、重ならないファイル名でコピーをする関数」の作成。仮名 copy_safe 。a\spam.txt, b\spam.txt がすでにあるときに、copy_safe(r'a\spam.txt', r'b\spam.txt') すると b\spam(0).txt という名前でコピーするというもの。 試作したときは一つの関数だったけれど、「別名を作る」と「コピーする」は別の機能だからと考え直したら分けることに成功。すっきり。ファイル名を変えつつ生成し続けるジェネレータがあればいいことに、気づくのが遅すぎた。頭固いオレ。 itertools.count で連番生成 今後は悩まないためにメモ。 C:\a\spam.txt を与えると C:\a\spam.txt, C:\a\spam(0).txt, C:\a\spam(1).txt … という文字列を生成するジ

    ジェネレータをうまく作れるようになりたい - 銀月の符号