如何在Python中一行代码中合并f字符串和b字符串

18

我可以这样创建 b-string
name_binary = b'Adam'
但是如果我有一个变量,比如 name='Adam' ,我想一次性使用 f-stringb-string
name_binary = fb'{name}'
我得到的结果是:

   File "<input>", line 1
    c = fb'{a}'
              ^
SyntaxError: invalid syntax

我知道我可以这样做:
name_binary = name.encode('utf-8')

但技术上来说,是否可以像我例子中使用 bf 一起的方法呢?


Python如何知道哪种编码应该用于您的变量呢? - bruno desthuilliers
1个回答

34

不,你想要的东西已经被提出但至今被拒绝。

PEP-489中了解更多:

不能使用二进制f-strings

由于与 bytes.format() 相同的原因,您不能将 'f''b' 字符串字面值结合使用。


您可以选择的选项(正如您已经提到的)是:

name_binary = f'{name}'.encode('utf-8')
或者
name_binary = name.encode('utf-8')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接