Crossin的编程教室

标题: 关于以当前时间命名新建文件的疑问 [打印本页]

作者: hiddenkyte    时间: 2017-8-3 23:20
标题: 关于以当前时间命名新建文件的疑问
import datetime
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
now1 = datetime.datetime.now().date().strftime('%Y-%m-%d')

open(now1+'.txt', 'w').close()  #正常执行,可以新建一个以日期为名字的TXT文件.
但是使用
open(now+'.txt', 'w').close()   #出错,OSError: [Errno 22] Invalid argument: '2017-08-03 23:13:48.txt'
这是为何,求crossin先生解惑

作者: woodumpling    时间: 2017-8-4 09:20
本帖最后由 woodumpling 于 2017-8-4 09:21 编辑

在Mac上以所给代码在2.7和3.6版本下测试均通过。。。

猜想是否是windows系统不支持文件名中空白符?

能否给出完整代码?
作者: hiddenkyte    时间: 2017-8-4 13:23
import datetime

now =  datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
now1 = datetime.datetime.now().date().strftime('%Y-%m-%d')
print(now)
print(now1)
open(now+'.txt', 'w').close()

完整代码如上

阿里旺旺图片20170804132146.jpg (59.89 KB, 下载次数: 427)

阿里旺旺图片20170804132146.jpg


作者: crossin先生    时间: 2017-8-4 23:38
hiddenkyte 发表于 2017-8-4 13:23
import datetime

now =  datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

去搜一下windows文件命名规则:
    3)文件名中允许使用空格,但不允许使用下列字符(英文输入法状态):< > / \ | : " * ?;
作者: hiddenkyte    时间: 2017-8-5 22:20
crossin先生 发表于 2017-8-4 23:38
去搜一下windows文件命名规则:
    3)文件名中允许使用空格,但不允许使用下列字符(英文输入法状态) ...

已解决了,感谢crossin先生




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5