设置文件日志的正确文件名时遇到一个奇怪的问题。我不断收到“?”插入扩展名之前,我不知道为什么。例如,“ 17-09-19?.log”。
我尝试通过尝试一些级联技巧来纠正它,但这没有用。该代码正在CentOS上运行。
UIHostingController
答案 0 :(得分:0)
date +%d-%m-%Y
命令返回日期字符串以及末尾的换行符(\n
)。然后,Python的check_output
会将整个结果(包括\n
)传递回给您。在Linux上,?
表示用于显示文件名的命令找到了不可打印的字符(在本例中为\n
字符),而是打印了?
。
如果您只想基于日期创建文件名,则无需触发子流程来调用date
命令,只需使用Python的datetime
模块即可。像date
命令一样,它也支持formatting date/time strings。
from datetime import datetime
fileDate = datetime.now().strftime("%d-%m-%y")
print(type(fileDate), fileDate) # <class 'str'> 18-09-19
file = open(fileDate + ".log", "a+")
file.write(someData)
file.close()