- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
例如,如果我有
>>> name = f"{os.path.splitext(os.path.basename('/some/long/path/I/donot/need/to/some/config.bs'))[0]}.yaml"
'config.yaml'
因为实际文本很少,所以在 79 个字符之前没有好的地方可以换行。看来你不能这样做:
name = f"{os.path.splitext(os.path.basename(
'/some/long/path/I/donot/need/to/some/config.bs'))[0]}.yaml"
>>> f"{os.path.splitext(os.path.basename(
File "<stdin>", line 1
f"{os.path.splitext(os.path.basename(
^
SyntaxError: EOL while scanning string literal
我唯一能做的就是拆分命令,例如:
>>> fname = '/some/long/path/I/donot/need/to/some/config.bs'
>>> tempname = os.path.splitext(os.path.basename(
... fname))[0]
>>> name = f'{tempname}.yaml'
>>> name
'config.yaml'
是否有任何其他选项来拆分 f 字符串?
最佳答案
是的,您仍然可以使用三引号字符串并以您认为最好的任何方式拆分它。
Leading and trailing whitespace in expressions is ignored
For ease of readability, leading and trailing whitespace in expressions is ignored. This is a by-product of enclosing the expression in parentheses before evaluation.
所以删除前后的任何空格,括号内的额外空格(例如函数调用)和方/大括号也没有区别,原因相同。所以这个:
name = f"""{
os.path.splitext(
os.path.basename('/some/long/path/I/donot/need/to/some/config.bs')
)[0]}.yaml"""
仍应产生预期的结果。以您认为最好的方式对其进行格式化。
尽管有人可以成功地争辩说您可以通过其他几个步骤减少所有内容:
# not using fully qualified name
from os.path import splitext, basename
fname = '/some/long/path/I/donot/need/to/some/config.bs'
name = f"{splitext(basename(fname))[0].yaml"
最终选择权在您。
关于python - 有没有办法在大括号内分解 f 弦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46495720/
例如,如果我有 >>> name = f"{os.path.splitext(os.path.basename('/some/long/path/I/donot/need/to/some/config
我正在学习教程并试图了解此处发生的情况。所以我们首先将“消息”编码为字节,然后取其长度并将其向左对齐(?)10,然后对整个内容进行编码? 我试图在我的设备中使用这个部分,它不理解 f-strings,
我敢肯定这个问题被问了很多,但我只是想确保没有更好的方法来做到这一点。 基本上,我有一个 const char* 指向一个以 null 结尾的 C 字符串。我有另一个函数,它需要一个指向具有相同字符的
我使用的是最新的稳定版 PyCharm 2016.1.4 和 Python 3.6a1。每当我使用“f-strings”(PEP-498)时,PyCharm 都会提示 f 是一个 Unresolved
我发现了一些显然是为 python 3.6 设计的代码。 出于某种原因,我需要在 python 3.5 环境中运行该代码。据推测,这两个版本应该是向后兼容的。然而,原始代码在 f-strings 中滥
我是一名优秀的程序员,十分优秀!