对此可能有一个简单的答案,只是不确定如何从我的搜索中取出它。
我在我的python代码中坚持PEP8,而我正在使用OptionParser作为我正在编写的脚本。为了防止行超过80,我在需要的地方使用反斜杠。
例如:
if __name__=='__main__':
usage = '%prog [options]\nWithout any options, will display 10 random \
users of each type.'
parser = OptionParser(usage)
反斜杠后的缩进导致:
~$ ./er_usersearch -h
Usage: er_usersearch [options]
Without any options, will display 10 random users of each type.
“随机”之后的差距让我感到困惑。我能做到:
if __name__=='__main__':
usage = '%prog [options]\nWithout any options, will display 10 random \
users of each type.'
parser = OptionParser(usage)
但这让我感到烦恼。这看起来很傻:
if __name__=='__main__':
usage = ''.join(['%prog [options]\nWithout any options, will display',
' 10 random users of each type.'])
parser = OptionParser(usage)
必须有更好的方法吗?
答案 0 :(得分:28)
使用automatic string concatenation + implicit line continuation:
long_string = ("Line 1 "
"Line 2 "
"Line 3 ")
>>> long_string
'Line 1 Line 2 Line 3 '
答案 1 :(得分:3)
这有效:
if __name__=='__main__':
usage = ('%prog [options]\nWithout any options, will display 10 random '
'users of each type.')
parser = OptionParser(usage)
虽然我会这样说:
if __name__=='__main__':
usage = ('%prog [options]\n'
'Without any options, will display 10 random users '
'of each type.')
parser = OptionParser(usage)
(所以当字符串中有\n
时,以及当我需要自动换行源代码时,我会开始一个新行。)
答案 2 :(得分:1)
试试这个:
if __name__=='__main__':
usage = '%prog [options]\nWithout any options, will display 10 random ' \
'users of each type.'
parser = OptionParser(usage)