我应该如何缩短这行 Python 代码?

How should I shorten this line of Python code?

这是需要缩短的行。

tree_top = os.path.abspath(os.path.expanduser(os.path.expandvars(sys.argv[1])))

减少宽度的最简单方法是在括号内使用隐式续行:

tree_top = os.path.abspath(
    os.path.expanduser(
        os.path.expandvars(sys.argv[1])
    )
)

或者,只需 select 您需要的 os.path 部分:

from os.path import abspath, expanduser, expandvars

tree_top = abspath(expanduser(expandvars(sys.argv[1])))

或结合使用两者。

您可以使用 Python 的一项名为 Implicit Line Joining 的功能。

圆括号之间的代码是同一指令的隐含部分,因此,您可以 'shorten' 将表达式分散在多行中:

tree_top = os.path.abspath(
    os.path.expanduser(
        os.path.expandvars(
            sys.argv[1]
        )
    )
)

现在,每行少于 80 个字符,并且是干净的 PEP8 代码。

如果您的操作的每个步骤都定义得更清楚,使用中间变量也是缩短每行的好方法。在某些情况下,它可以帮助使代码更清晰,但这里的中间步骤用处不大