あなたの例がうまくいかない理由は、ファイルとは何の関係もありません。
example = ("Path/to/file%s", "w") % str(datetime.now())
上記は%
、左側にタプル、右側に文字列を持つ演算子を使用しています。ただし、この%
演算子は、文字列テンプレートに基づいて文字列を作成するためのもので、%
. 左にタプルを置くのは意味がありません。
やりたいことをより基本的なステップに分割する必要があります。「現在の日付と時刻が名前に含まれるファイルを開きたい」から始めます。それを直接行う方法はありません。そのため、それについて何も見つけることができませんでした。ただし、ファイル名は単なる文字列であるため、文字列操作を使用して文字列を作成し、その文字列を開くことができます。したがって、あなたの問題は実際には「名前に日付/時刻を含むファイルを開くにはどうすればよいですか?」ではなく、「日付/時刻を他の情報と一緒に文字列に入れるにはどうすればよいですか?」. あなたはその質問に対する答えをすでに知っているようです:%
フォーマットを使用してください。
意味あり; そうしないと、文字列だけでなくファイルに対しても可能なすべての文字列操作を実装する必要があります。また、文字列を使用する他のすべてのものについても同様です。それは (まともな) プログラミングのやり方ではありません。毎回ゼロから始めるのではなく、既存の操作を再利用できるようにしたいと考えています。
つまり、文字列操作 (ファイルとは何の関係もなく、最終的にこの文字列を使用してファイルを開くことを知らず、気にもしない) を使用して、ファイル名を作成します。次に、その文字列をファイルを開く関数に渡します(書き込み可能にすることを指定する文字列open
と共に)。"w"
例えば:
filename = "Path/to/file%s" % datetime.now()
example = open(filename, "w")
必要に応じて、1 行に入れることができます。
example = open("Path/to/file%s" % datetime.now(), "w")
ただし、プログラミングや Python に比較的慣れていない場合は、一般的な操作に慣れるまで、小さなステップを分割しておくことをお勧めします。