Python 正在尝试创建日志函数
我想在我的脚本中创建一个日志函数,但我不知道为什么它会给我这个错误Python 正在尝试创建日志函数,python,Python,我想在我的脚本中创建一个日志函数,但我不知道为什么它会给我这个错误 File "c:/Users/x/x/x", line 33 log = open(f"Log/{realDate.strftime("%x")}.txt", "a") ^ SyntaxError: invalid syntax 这是导致问题
File "c:/Users/x/x/x", line 33
log = open(f"Log/{realDate.strftime("%x")}.txt", "a")
^
SyntaxError: invalid syntax
这是导致问题的代码
realDate = datetime.datetime.now()
log = open(f"Log/{realDate.strftime("%x")}.txt", "a")
log.write("Hello Stackoverflow!")
log.close()
有人能帮帮我吗?问题是您试图在双引号中嵌套双引号;f字符串不允许这样。您需要将其中一种更改为另一种引号样式。例如:
log = open(f'Log/{realDate.strftime("%x")}.txt', "a")
主要问题是您没有使用支持f字符串的Python版本。确保您使用的是Python 3.6或更高版本。(更新:即使在Python 3.6或更高版本中,识别出的错误位置也可能发生移动:
>>> f"{print("%x")}"
File "<stdin>", line 1
f"{print("%x")}"
^
SyntaxError: invalid syntax
>>> f"{print("x")}"
File "<stdin>", line 1
f"{print("x")}"
^
SyntaxError: invalid syntax
>>f“{print(“%x”)}”
文件“”,第1行
f“{print(“%x”)}”
^
SyntaxError:无效语法
>>>f“{print(“x”)}”
文件“”,第1行
f“{print(“x”)}”
^
SyntaxError:无效语法
)您没有使用Python 3.6或更高版本,因此没有f-string支持。或者您在双引号内使用双引号而没有转义(?)是的,这是双引号<代码>%x不是字符串的一部分;它位于两个字符串之间。@mkrieger1在这种情况下,语法错误将指向实际关闭f字符串的
“
”后面的%
(而不是将参数定义为strftime
)。换句话说,lexer仍然贪婪;{
不会使它重新设置您是否识别字符串文字的概念。谢谢您的帮助。我不知道即使在f-string括号内也无法做到这一点。