python - 行代码返回打开文件的语法错误

标签 python syntax

我运行一个带有代码的脚本来打开一个文件,它返回 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/

相关文章:

Java 命名指南(特定类类型命名 - 不是约定)

python - pandas 数据帧列的时间差(以小时为单位)

python - 通过本地 ssh 配置 (~/.ssh/config) 的 PyCharm SSH 隧道

python - SocketServer.ThreadingTCPServer - 程序重启后无法绑定(bind)到地址

syntax - 语言是否应该提供方法链的语法替代方案?

haskell - 这是什么 Haskell 语法(类型级运算符?)

python - 如何在Python SQL查询中使用变量?

SQLite 接受 SQL 语法中不存在的连接类型

php - 无法使用 Python 写入和读取 stdin/stdout

python - python 中的链式内存器