我运行一个带有代码的脚本来打开一个文件,它返回 SyntaxError
。该脚本是我要测试的开源脚本。
with open(f"/home/mine/myfoldr/myapp.yml", "r") as file:
上面的行返回以下错误:
File "./startup.py", line 28
with open(f"/home/mine/myfoldr/myapp.yml", 'r') as file:
^
我只是不明白 open(f"...)
之后的 f"
是什么意思。因为通常它会像下面这样写,没有 f
。
with open("/home/mine/myfoldr/myapp.yml", "r") as file:
我认为这不是打字错误,因为脚本中的其他行代码也..具有相同的样式 f
,例如:
print(f"Which section do you want to change?"
f"[Application/Controller/Database]")
最佳答案
字符串开头的f
称为f-string,由PEP 489 引入。从 Python 3.6
开始。
用于字符串格式化,类似于.format()
。您可以阅读很多关于它的教程。基本示例:
x = 22
print('this is {}'.format(x))
print(f'this is {x}')
这里,两行将输出相同的结果字符串this is 22
。
您可能会收到错误,因为您使用的版本早于 Python 3.6
,某些版本不支持 f 字符串。
要测试第三方代码,您将不得不使用较新的 Python 版本或自己修改代码(但最后一个选项可能需要大量工作,并且可能会引入一些无意的错误)。
关于python - 行代码返回打开文件的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57824065/