这是一个功能代码(成功创建文件)
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'
答案 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 datetime
至from 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())