python - OSError: [Errno 22] 打开文件时参数无效
问题描述
我正在尝试打开一个名称为日期和时间格式为 dd-mm-yy hh:mm:ss 的文件。这样做:
from datetime import datetime
timestr = datetime.now().strftime("%d-%m-%y %H:%M:%S")
print(timestr)
f = open(timestr, "w+")
f.close()
总是导致这个错误:
C:\Users\keona\Documents\Py>timetest.py
14-09-19 21:28:19
Traceback (most recent call last):
File "C:\Users\keona\Documents\Py\timetest.py", line 4, in <module>
f = open(timestr, "w+")
OSError: [Errno 22] Invalid argument: '14-09-19 21:28:19'
但是,由于某种原因,当我取消秒数时,代码有效?
from datetime import datetime
timestr = datetime.now().strftime("%d-%m-%y %H:%M")
print(timestr)
f = open(timestr, "w+")
f.close()
这导致一个文件只命名为:
14-09-19 21
关于为什么会发生这种情况的任何建议或想法?
解决方案
我会说这可能是因为:
是 Windows 中文件名中的无效字符。
尝试使用strftime("%d-%m-%y %H-%M-%S")
推荐阅读
- image-processing - 语义分割 CapsNet 或 UNet
- sed - 如何使用 sed 替换包含括号的字符串
- python - 从灰度图像中删除 Alpha 通道
- google-chrome-extension - Chrome扩展后台脚本成多个脚本-manifest v3
- python - 如何使用 nix-shell 从 PyPi 安装 playwright?
- asp.net-core - 在 .net core 3.1 中找不到类型或命名空间名称“MvcJsonOptions”
- git - GitBash 可以克隆和拉取但不能推送,它什么都不显示,而 GitDesktop 可以
- .net - 输出 DIR 中未生成 Nupkg 文件
- c++ - 在 C++ 中缓存图像。使用 buffer_body 或其他东西而不是 file_body?
- php - 在 List.js 中显示 MySQL 查询结果不与分页同步并选择否。每页项目数