禁用 Python 自动跨行连接字符串

Cre*_*ing 13 python

我正在创建一个长长的字符串列表,如下所示:

tlds = [
  'com',
  'net',
  'org'
  'edu',
  'gov',
...
]
Run Code Online (Sandbox Code Playgroud)

我后面漏了一个逗号'org'。Python 自动将其与下一行中的字符串连接成'orgedu'. 这成为一个很难识别的错误。

定义多行字符串的方法已经有很多种,其中一些非常明确。所以我想知道有没有办法禁用这种特定行为?

Bil*_*eel 1

正确的柏拉图式做法是修改 linter。但我认为生命太短暂,不能这样做,此外,如果下一个编码员不知道你修改过的 linter,他/她的生活将是一个人间地狱。

确保输入(即使是硬编码)有效也不应该感到羞耻。如果对我来说,我会实施一个手动解决方法,如下所示:

tlds = [
  'com',
  'net',
  'org'
  'edu',
  'gov',
]

redone = ''.join(tlds)
chunk_size = 3
tlds = [ redone[i:i+chunk_size] for i in range(0, len(redone), chunk_size) ]

# Now you have a nice `tlds`
print(tlds)
Run Code Online (Sandbox Code Playgroud)

您可以忘记逗号,将两个元素写在同一行上,甚至可以写在同一个字符串中。chunk_size您也可以邀请粗心的代码协作来搞乱它,如果您的应用程序可以的话,无论如何,稍后文本都会以三份()重做。

编辑:稍后@Jasmijn 的注释,我认为如果我们有动态大小的条目,我们可以使用这样的文字输入,还有一种替代方法:

tlds = ['''com
net
org
edu
gov
nl
co.uk''']

# This way every line is an entry by its own as seen directly without any quotations or decorations except for the first and last inputs.
tlds = '\n'.split(tlds)
Run Code Online (Sandbox Code Playgroud)

  • “柏拉图式”还是“Python式”? (2认同)