用python创建具有当前日期和时间的文件名

问题描述 投票:1回答:2

我使用datedime在Python中创建目录名称,如下所示:

代码:

import os
from datetime import datetime

os.mkdir(f"{datetime.now()}")
os.listdir()

并且当我在终端中使用ls命令时,得到以下结果:

enter image description here

并且当我用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")}')

enter image description here


TL; DR

为什么单引号出现在dir名称中?是datetime __str____repr__函数的问题吗?

python python-3.x datetime mkdir
2个回答
1
投票

您的目录名称可能没有带引号。就是这样显示的。尝试在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?


0
投票

它可能与语法的这一部分有关。

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)
© www.soinside.com 2019 - 2024. All rights reserved.