属性错误:';str';对象没有属性';日期时间';:python

属性错误:';str';对象没有属性';日期时间';:python,python,python-3.x,strftime,Python,Python 3.x,Strftime,这是我的代码: # Fetch today's date Date = datetime.today().strftime('%Y-%m-%d-%H.%M.%S') # Variable for log file LogFile = os.getcwd() print(LogFile) os.mkdir("Logs12") f = open("Password_Expiry_Date_Log_"+(Date)+".txt", "w+") #Date Calculations Date_Bef

这是我的代码:

# Fetch today's date
Date = datetime.today().strftime('%Y-%m-%d-%H.%M.%S')
# Variable for log file 
LogFile = os.getcwd()
print(LogFile)
os.mkdir("Logs12")
f = open("Password_Expiry_Date_Log_"+(Date)+".txt", "w+")

#Date Calculations
Date_Before = Date.datetime(Days_Before)
Days_After = Date.datetime(Days_After)
当我尝试初始化变量“Date\u Before”时,我得到一个错误AttributeError:“str”对象没有属性“datetime”。但是,我需要日期为字符串格式才能写入文本文件名。有什么解决办法吗

提前感谢。

您可以这样做:

from datetime import datetime, timedelta

# Fetch today's date
date = datetime.today()

string_date = date.strftime('%Y-%m-%d-%H.%M.%S')

# Variable for log file 
log_file = os.getcwd()
print(log_file)
os.mkdir("Logs12")
f = open(f"Password_Expiry_Date_Log_{string_date}.txt", "w+")

f.close()

#Date Calculations
date_before = datetime.today() - timedelta(days=1)
days_after = datetime.today() + timedelta(days=1)
我还更新了您的字符串名称以符合

编辑:我还改进了您的语法,请记住,您始终需要关闭文件。

您可以这样做:

from datetime import datetime, timedelta

# Fetch today's date
date = datetime.today()

string_date = date.strftime('%Y-%m-%d-%H.%M.%S')

# Variable for log file 
log_file = os.getcwd()
print(log_file)
os.mkdir("Logs12")
f = open(f"Password_Expiry_Date_Log_{string_date}.txt", "w+")

f.close()

#Date Calculations
date_before = datetime.today() - timedelta(days=1)
days_after = datetime.today() + timedelta(days=1)
我还更新了您的字符串名称以符合


编辑:我还改进了您的语法,请记住,您始终需要关闭文件。

您好,谢谢您的回复。但是,在尝试您的解决方案“AttributeError:”datetime.datetime“对象没有属性“datetime”。没问题,伙计:)您好,谢谢您的回复。但是,在尝试您的解决方案“AttributeError:”datetime.datetime“对象没有属性“datetime”。没问题,伙计:)嗯,您需要检查strTime文档。您正在将日期转换为字符串表示形式,然后尝试从字符串中获取日期。字符串没有datetime属性。您可以执行
datetime.strtime(date\u str,format)
um,您需要检查strtime文档。您正在将日期转换为字符串表示形式,然后尝试从字符串中获取日期。字符串没有datetime属性。您可以执行
datetime.strtime(日期、格式)