Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在尝试创建日志函数_Python - Fatal编程技术网

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括号内也无法做到这一点。