我使用datedime
在Python中创建目录名称,如下所示:
代码:
import os
from datetime import datetime
os.mkdir(f"{datetime.now()}")
os.listdir()
并且当我在终端中使用ls
命令时,得到以下结果:
并且当我用Python获得dir
名称时:
代码:
os.listdir()
输出:
['.gitlab-ci.yml',
'public',
'AUTHORS',
'.dockerignore',
'requirements',
'.git',
'Dockerfile',
'manage.py',
'.editorconfig',
'2020-01-11 12:53:08.425169',
'logs',
'.idea',
'branch.sh',
'initial_media',
'README.md',
'__pycache__',
'setup.cfg',
'.gitignore',
'venv']
解决方案:
我用strftime()
方法解决了它:
代码:
import os
from datetime import datetime
os.mkdir(f'{datetime.now().strftime("%Y-%m-%d_%I-%M-%S_%p")}')
TL; DR
为什么单引号出现在dir
名称中?是datetime __str__
或__repr__
函数的问题吗?
您的目录名称可能没有带引号。就是这样显示的。尝试在strftime
示例中添加一个空格,然后看看会发生什么:
os.mkdir(f'{datetime.now().strftime("%Y-%m-%d_%I %M-%S_%p")}')
请参见Why is 'ls' suddenly wrapping items with spaces in single quotes?
它可能与语法的这一部分有关。
os.mkdir(f“ {datetime.now()}”)
我收到您的代码的语法错误,如下所示:
您的代码:
import os
from datetime import datetime
dir_name = str(datetime.now())
os.mkdir(dir_name)
输出:
os.mkdir(f"{datetime.now()}")
^
SyntaxError: invalid syntax
修复:这对我来说效果很好。
import os
from datetime import datetime
dir_name = str(datetime.now())
os.mkdir(dir_name)