python現在の日時でファイルの名前を変更するプログラムを書いていますが、以下のエラーが発生します。
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect
私のコード
import os
import sys
import datetime
file=open("C:\\Users\\Sun\\Desktop\\ping",'w')
z=file.name
dt = str(datetime.datetime.now())
file.close()
print(z)
new ='C:\\Users\\Sun\\Desktop\\ping_'+dt+'.txt'
os.rename(z,new)
print("i am done")
出力
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect
私が間違えていることを教えてくださいos.rename
zおよび宛先の新しい文字列を渡すときの関数。
>>> str(datetime.datetime.now())
'2017-08-10 19:52:39.057834'
コロン(:
)ドライブを残りのパスから分離するために使用されます。 Windowsのファイル名には使用できません。
私はお勧めします:
datetime.datetime.now().replace(":","_")
(そしておそらくスペースも取り除くか、日付に互換性のあるカスタム形式を使用します)