在python中,通常有垂直方向的字符串列表。例如:

subprocess.check_output( [
  'application',
  '-first-flag',
  '-second-flag',
  '-some-additional-flag'
] )

看起来不错,可读性强,不违反80列规则...但是,如果错过了逗号,则如下所示:
subprocess.check_output( [
  'application',
  '-first-flag'  # missed comma here
  '-second-flag',
  '-some-additional-flag'
] )

Python仍将通过串联两个字符串来假定此代码有效:(。是否有可能在仍然使用垂直方向的字符串列表且不膨胀代码的情况下以某种方式保护自己免受此类拼写错误(例如将每个项目包含在str()中)?

最佳答案

您可以将每个字符串包装在括号中:

subprocess.check_output( [
  ('application'),
  ('-first-flag'),
  ('-second-flag'),
  ('-some-additional-flag'),
] )

顺便说一句,Python可以使用逗号结尾,因此请始终在行尾使用逗号,这样也可以减少错误。

关于python - 如何保护自己免受python垂直字符串列表中逗号的丢失?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12648424/

10-12 18:29