设置文件名和扩展名时出现问题

时间:2019-09-17 23:04:08

标签: python-3.x subprocess

设置文件日志的正确文件名时遇到一个奇怪的问题。我不断收到“?”插入扩展名之前,我不知道为什么。例如,“ 17-09-19?.log”。

我尝试通过尝试一些级联技巧来纠正它,但这没有用。该代码正在CentOS上运行。

UIHostingController

1 个答案:

答案 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()