我收到 'continuation line under-indented for visual indent' 错误
I get 'continuation line under-indented for visual indent' error
我在以下代码中遇到 continuation line under-indented for visual indent
错误:
command = 'ffmpeg -i downloaded.mp4 -codec:v libx264 -codec:a \
aac -map 0 -f ssegment -segment_format mpegts \
-segment_list %s/%skbps.m3u8 -segment_time 10 \
%s/%skbps_%%03d.ts' % (path, options['video_bitrate'],
path, options['video_bitrate'])
应该如何格式化此代码以消除错误?
此案例在 PEP-8 中介绍。总之,要解决此问题,您需要确保当缩进括号内的行时,您将下一行与左括号之后的字符对齐。例如,当您继续括号中的代码时,您应该这样做。
foo(a, b, c,
d, e)
您目前正在这样做。
foo(a, b, c,
d, e)
要修复缩进,您应该这样做。
command = 'ffmpeg -i downloaded.mp4 -codec:v libx264 -codec:a \
aac -map 0 -f ssegment -segment_format mpegts \
-segment_list %s/%skbps.m3u8 -segment_time 10 \
%s/%skbps_%%03d.ts' % (path, options['video_bitrate'],
path, options['video_bitrate'])
从 Stephen Rauch 的回答中,您可能已经注意到还有更多内容。你可以用括号将整行括起来,然后将这些行分成字符串,而不是使用斜杠来继续行,python 会自动连接相邻的字符串文字。例如,如果您有一个字符串并且您之前这样做过。
greeting = 'Hello, \
World!'
你应该这样做。
greet = ('Hello, '
'World!')
这种方式更具可读性,也更适合您使用。另请注意,还有另一种 PEP-8 批准的方法来继续括号行。而不是做。
foo(a, b, c,
d, e)
你也可以这样做。
foo(
a, b, c,
d, e)
为此,您必须在左括号后将第一行留空,然后您必须从当前块缩进以开始继续。我希望这次编辑能进一步加深您的理解。如果您想了解更多关于 python 风格的信息,请快速阅读 PEP 指南(它们是 python 代码的标准)。
在继续字符串时,使用隐式(或显式)字符串连接通常是一种很好的做法。这可以更好地控制创建的字符串。此外,如果字符串被括号括起来,则不需要连续字符:
command = ('ffmpeg -i downloaded.mp4 -codec:v libx264 -codec:a '
'aac -map 0 -f ssegment -segment_format mpegts '
'-segment_list %s/%skbps.m3u8 -segment_time 10 '
'%s/%skbps_%%03d.ts' % (
path, options['video_bitrate'],
path, options['video_bitrate']))
旁注:pycharm 有一个非常好的功能,可以在编辑器中实时突出显示 pep8 违规行为。
我在以下代码中遇到 continuation line under-indented for visual indent
错误:
command = 'ffmpeg -i downloaded.mp4 -codec:v libx264 -codec:a \
aac -map 0 -f ssegment -segment_format mpegts \
-segment_list %s/%skbps.m3u8 -segment_time 10 \
%s/%skbps_%%03d.ts' % (path, options['video_bitrate'],
path, options['video_bitrate'])
应该如何格式化此代码以消除错误?
此案例在 PEP-8 中介绍。总之,要解决此问题,您需要确保当缩进括号内的行时,您将下一行与左括号之后的字符对齐。例如,当您继续括号中的代码时,您应该这样做。
foo(a, b, c,
d, e)
您目前正在这样做。
foo(a, b, c,
d, e)
要修复缩进,您应该这样做。
command = 'ffmpeg -i downloaded.mp4 -codec:v libx264 -codec:a \
aac -map 0 -f ssegment -segment_format mpegts \
-segment_list %s/%skbps.m3u8 -segment_time 10 \
%s/%skbps_%%03d.ts' % (path, options['video_bitrate'],
path, options['video_bitrate'])
从 Stephen Rauch 的回答中,您可能已经注意到还有更多内容。你可以用括号将整行括起来,然后将这些行分成字符串,而不是使用斜杠来继续行,python 会自动连接相邻的字符串文字。例如,如果您有一个字符串并且您之前这样做过。
greeting = 'Hello, \
World!'
你应该这样做。
greet = ('Hello, '
'World!')
这种方式更具可读性,也更适合您使用。另请注意,还有另一种 PEP-8 批准的方法来继续括号行。而不是做。
foo(a, b, c,
d, e)
你也可以这样做。
foo(
a, b, c,
d, e)
为此,您必须在左括号后将第一行留空,然后您必须从当前块缩进以开始继续。我希望这次编辑能进一步加深您的理解。如果您想了解更多关于 python 风格的信息,请快速阅读 PEP 指南(它们是 python 代码的标准)。
在继续字符串时,使用隐式(或显式)字符串连接通常是一种很好的做法。这可以更好地控制创建的字符串。此外,如果字符串被括号括起来,则不需要连续字符:
command = ('ffmpeg -i downloaded.mp4 -codec:v libx264 -codec:a '
'aac -map 0 -f ssegment -segment_format mpegts '
'-segment_list %s/%skbps.m3u8 -segment_time 10 '
'%s/%skbps_%%03d.ts' % (
path, options['video_bitrate'],
path, options['video_bitrate']))
旁注:pycharm 有一个非常好的功能,可以在编辑器中实时突出显示 pep8 违规行为。