如何使用当前日期创建文件名;在python中的时间?

时间:2012-05-15 19:42:01

标签: python

这是一个功能代码(成功创建文件)

sys.stdout = open('filename1.xml', 'w')

现在我正在尝试用当前日期时间命名文件(我不是python的专家)

filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")
sys.stdout = open(filename1 + '.xml', 'w')

我想写出一个具有确切日期和时间的文件名,它是一个xml文件,程序已经创建了,我只需要命名该文件。上面的代码无效。

[已编辑] - 返回错误

  File "./fix.py", line 226, in <module>
    filenames = datetime.now().strftime("%Y%m%d-%H%M%S")
AttributeError: 'module' object has no attribute 'now'

8 个答案:

答案 0 :(得分:254)

虽然没有使用datetime,但这解决了您使用您指定的当前时间和日期格式获取字符串的问题(回答您的问题):

import time
timestr = time.strftime("%Y%m%d-%H%M%S")
print timestr

的产率:

20120515-155045

所以您的文件名可以附加或使用此字符串。

答案 1 :(得分:30)

now是模块datetime中类datetime中的类方法。所以你需要

datetime.datetime.now()

或者您可以使用其他导入

from datetime import datetime

通过这种方式,您可以根据问题中的代码使用datetime.now

答案 2 :(得分:21)

更改此行

filename1 = datetime.now().strftime("%Y%m%d-%H%M%S")

filename1 = datetime.datetime.now().strftime("%Y%m%d-%H%M%S")

请注意额外的datetime。或者,改变你的 import datetimefrom datetime import datetime

答案 3 :(得分:8)

这个更容易被人理解。

from datetime import datetime

datetime.now().strftime("%d-%m-%Y_%I-%M-%S_%p")
'15-08-2019_11-57-48_PM'

答案 4 :(得分:3)

我很惊讶没有一个格式化程序返回默认(和安全)'以附加文件名' - 时间格式, 我们可以简单地写FD.write('mybackup'+time.strftime('%(formatter here)') + 'ext'

"%x" instead of "%Y%m%d-%H%M%S"

答案 5 :(得分:2)

这以易于阅读的格式打印 -

import datetime

time_now  = datetime.datetime.now().strftime('%m_%d_%Y_%H_%M_%S') 

print(time_now)

输出:02_03_2021_22_44_50

答案 6 :(得分:0)

在这里,我需要在文件夹名称中包含日期时间戳,以便从Web刮板转储文件。

# import time and OS modules to use to build file folder name
import time
import os 

# Build string for directory to hold files
# Output Configuration
#   drive_letter = Output device location (hard drive) 
#   folder_name = directory (folder) to receive and store PDF files

drive_letter = r'D:\\' 
folder_name = r'downloaded-files'
folder_time = datetime.now().strftime("%Y-%m-%d_%I-%M-%S_%p")
folder_to_save_files = drive_letter + folder_name + folder_time 

# IF no such folder exists, create one automatically
if not os.path.exists(folder_to_save_files):
    os.mkdir(folder_to_save_files)

答案 7 :(得分:0)

导入datetime def print_time()parser = datetime.datetime.now()返回parser.strftime(“%d-%m-%Y%H:%M:%S”) print(print_time())