Python os.rename windowsError

时间:2012-12-18 16:56:01

标签: python python-2.7

我有一些代码,我正在努力将时间戳添加到Windows中文件的开头,我无法使其正常工作。

for root, dirs, files in os.walk('D:\\development\\test'):
    for f in files:
        fullpath = os.path.join(root + os.sep, f)
        print fullpath
        if fullpath.endswith('txt'):
            d = str(mod_date(fullpath))
            dt = d.split()
            newName = str(dt[1]) + '_' + f
            newNameFull = os.path.join(root + os.sep, newName)
            print newNameFull
            os.rename(fullpath, newNameFull)

这将正确打印:

fullpath D:\development\test\New Text Document (2).txt
newNameFull D:\development\test\11:44:04.464341_New Text Document (2).txt

但是os.rename会给出一个windowsError:

Traceback (most recent call last):
  File "D:/Python27/Scripts/getTime.py", line 17, in <module>
os.rename(fullpath, newNameFull)
WindowsError: [Error 123] The filename, directory name, or volume label syntax is incorrect

有什么想法吗?我已经尝试了// / \的多次迭代,但找不到合适的。

1 个答案:

答案 0 :(得分:6)

Windows不允许文件名包含:个字符(驱动器标识符除外)。您需要更改时间戳以使用其他格式。

MSDN reference