8赞
248
当前位置:  开发笔记 > 编程语言 > 正文

OSError:[WinError123]文件名,目录名称或卷标签语法不正确

如何解决《OSError:[WinError123]文件名,目录名称或卷标签语法不正确》经验,为你挑选了1个好方法。

我正在编写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和目标新字符串时我在函数中犯什么错误。



1> Jean-Françoi..:
>>> str(datetime.datetime.now())
'2017-08-10 19:52:39.057834'

注意冒号(:),用于将驱动器与路径的其余部分分开。您不能在Windows的文件名中使用它。

我建议:

datetime.datetime.now().replace(":","_")

(并且也许也要删除空格,或者为您的日期使用兼容的自定义格式)


推荐阅读
author-avatar
夕祈文_279
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有