kerln888 发表于 2022-5-22 10:14:04

想用当前时间做文件名保存文件,报错

代码如下:
import time
import datetime

filePath = r'C:\Users\Administrator\Desktop{}'.format('\\')
file = r'{}.txt'.format(datetime.datetime.today())

with open(filePath+file, 'w') as f:
    f.write('asdfg')

错误提示如下:
with open(self.filePath + self.file, 'w') as f:
OSError: Invalid argument: 'C:\\Users\\Administrator\\Desktop\\2022-05-22 09:59:44.001414.txt'

各位大神,请问一下这是什么问题。我直接在windows下新建2022-05-22 09:59:44.001414.txt是没问题的。

qiuyouzhi 发表于 2022-5-22 10:24:46

Windows 下文件名是无法包含冒号的。

白two 发表于 2022-5-22 10:47:14

windows下面文件名称不能包括以下字符:
? “ ”/ \ < > * | :
你说的直接新建没问题看一下名字还是你输入的名字吗, windows会直接将违法的字符串改掉好像
建议使用下划线 _

Twilight6 发表于 2022-5-22 11:32:57


各位大神,请问一下这是什么问题。我直接在windows下新建2022-05-22 09:59:44.001414.txt是没问题的。

Windows 下文件名不能使用冒号的,但是文件夹可以,你确定你在桌面创建的 文件 而不是 文件夹 么?

kerln888 发表于 2022-5-22 11:34:49

qiuyouzhi 发表于 2022-5-22 10:24
Windows 下文件名是无法包含冒号的。

是的是的,不能有冒号。那请问下这个代码应该怎么修改呢??

kerln888 发表于 2022-5-22 11:39:11

白two 发表于 2022-5-22 10:47
windows下面文件名称不能包括以下字符:

你说的直接新建没问题看一下名字还是你输入的名字吗, windows会 ...

是的,不能包含特殊符号,谢谢。是用translate()来转换吗??

kerln888 发表于 2022-5-22 11:47:38

Twilight6 发表于 2022-5-22 11:32
Windows 下文件名不能使用冒号的,但是文件夹可以,你确定你在桌面创建的 文件 而不是 文件夹 么?
...

没注意看,保存的时候冒号自动去掉了。谢谢
页: [1]
查看完整版本: 想用当前时间做文件名保存文件,报错