以下是需要缩短的行。
tree_top = os.path.abspath(os.path.expanduser(os.path.expandvars(sys.argv[1])))
os.path,abspath
,os.path.expandvars
和os.path.expanduser
别名设为更短的名称吗?答案 0 :(得分:8)
减小宽度的最简单方法是在括号内使用隐式线延续:
tree_top = os.path.abspath(
os.path.expanduser(
os.path.expandvars(sys.argv[1])
)
)
或者,只需选择您需要的os.path
部分:
from os.path import abspath, expanduser, expandvars
tree_top = abspath(expanduser(expandvars(sys.argv[1])))
或使用两者的某种组合。
答案 1 :(得分:2)
您可以使用名为Implicit Line Joining的Python功能。
括号内的代码隐含地是同一指令的一部分,因此,您可以通过将表达式分散在多行来“缩短”表达式:
tree_top = os.path.abspath(
os.path.expanduser(
os.path.expandvars(
sys.argv[1]
)
)
)
现在,每行不超过80个字符,并且是干净的PEP8代码。
如果您的操作的每个步骤都得到了更明确的定义,那么使用中间变量也是缩短每条线路的好方法。在某些情况下,它可以帮助使代码更清晰,但这里的中间步骤不太有用