跳转到主要内容

Flake8字符串字面值验证

项目描述

flake8-literal

flake8插件,用于验证字符串字面值。

此插件用于强制执行字符串字面值的一致样式,它识别内联字面值、多行字面值和文档字符串。

引号使用

您可以为每种类型的字符串选择单引号或双引号,并且插件将强制执行一致的使用。

如果开启了avoid-escape功能(默认),当这样做可以避免使用转义引号时,它将强制使用相反的引号类型。

它还识别延续字符串,并在可能的情况下强制整个集合的一致引号样式。

原始字符串

此插件检查原始字符串的使用,防止不必要的原始字符串使用,并在这样做可以避免转义反斜杠时要求使用原始字符串。

由于原始字符串常用于正则表达式模式,默认情况下,当用作正则表达式模式时允许不必要的原始字符串。有一个选项可以避免在正则表达式模式中使用原始字符串,或者无论是否存在转义都要求它们。请注意,此功能仅在直接在re函数调用中使用字符串字面值时才有效,并且必须以导入的方式调用这些函数。例如:

from re import compile as regex_compile
x = regex_compile(r'this does not need to be raw')

是可接受的,但是

import re
pattern = r'this does not need to be raw'
x = re.compile(pattern)

import re
regex_compile = re.compile
y = regex_compile(r'this does not need to be raw')

不会。

计划功能

  • 强制使用多行字符串
  • 字符串连接
  • 格式化字符串的使用

安装

标准Python包安装

pip install flake8-literal

选项

literal-inline-quotes : 用于内联字符串字面量的引号,选择项:单引号双引号(默认:单引号

literal-multiline-quotes : 用于多行字符串字面量的引号,选择项:单引号双引号(默认:单引号

literal-docstring-quotes : 用于文档字符串的引号,选择项:单引号双引号(默认:双引号

literal-avoid-escape : 尽可能避免在内联字符串字面量中使用转义符(默认启用)

literal-no-avoid-escape : 禁用在内联字符串字面量中避免转义符

literal-re-pattern-raw : 控制正则表达式模式中使用原始字符串字面量的方式,选择项 避免允许总是(默认:允许

literal-include-name : 在消息中包含插件名称

literal-no-include-name : 在消息中不包含插件名称(默认设置)

所有选项都可以使用带有 -- 前缀的命令行指定,也可以放置在你的 flake8 配置文件中。

错误代码

代码 信息
LIT001 使用单引号表示字符串
LIT002 使用双引号表示字符串
LIT003 使用单引号表示多行字符串
LIT004 使用双引号表示多行字符串
LIT005 使用单引号表示文档字符串
LIT006 使用双引号表示文档字符串
LIT007 使用三个单引号表示文档字符串
LIT008 使用三个双引号表示文档字符串
LIT011 使用双引号表示字符串以避免转义的单引号
LIT012 使用单引号表示字符串以避免转义的双引号
LIT013 转义的单引号是不必要的
LIT014 转义的双引号是不必要的
LIT015 使用双引号表示续行字符串以匹配
LIT016 使用单引号表示续行字符串以匹配
LIT101 在不使用转义符时删除原始前缀
LIT102 使用原始前缀以避免转义的斜杠
LIT103 为正则表达式使用原始前缀

示例

x = "value"  <-- LIT001
x = 'aren\'t escapes great?'  <-- LIT011
x = "can\'t stop escaping"  <-- LIT013
x = ('one'  <-- LIT015
     "o'clock")
x = r'no need to be raw'  <-- LIT101
x = '\\windows\\path'  <-- LIT102
x = re.compile(r'pattern')  <-- (no error when literal-re-pattern-raw set to `allow` or `always`)
x = re.compile('pattern')  <-- LIT103 (when literal-re-pattern-raw set to `always`)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

flake8-literal-1.4.0.tar.gz (13.0 kB 查看散列值)

上传时间

构建分发

flake8_literal-1.4.0-py3-none-any.whl (9.9 kB 查看散列值)

上传时间 Python 3

由以下支持