Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在运行flake8时自动格式化包含要传递的长字符串的Python文件?_Python_Formatting_Pep8_Flake8 - Fatal编程技术网

如何在运行flake8时自动格式化包含要传递的长字符串的Python文件?

如何在运行flake8时自动格式化包含要传递的长字符串的Python文件?,python,formatting,pep8,flake8,Python,Formatting,Pep8,Flake8,我有很多json风格的数据,我正在为我正在进行的单元测试api模拟存储这些数据。数据以Python字典的形式存储在一个.py文件中,我没有编写它,因此在创建它时我无法控制行长度 我现在正在进行代码检查,这个文件在第8页失败,因为有些行是+1000个字符。我试过autopep8,pep8和black,我试过在VS-code中更改换行符,我试过在线搜索答案,但没有结果 有没有一种方法可以自动格式化这种文件,因为手动操作会花费很长时间,而且非常繁琐。谢谢 编辑 我的settings.json中有此配置

我有很多json风格的数据,我正在为我正在进行的单元测试api模拟存储这些数据。数据以Python字典的形式存储在一个.py文件中,我没有编写它,因此在创建它时我无法控制行长度

我现在正在进行代码检查,这个文件在第8页失败,因为有些行是+1000个字符。我试过
autopep8
pep8
black
,我试过在VS-code中更改换行符,我试过在线搜索答案,但没有结果

有没有一种方法可以自动格式化这种文件,因为手动操作会花费很长时间,而且非常繁琐。谢谢

编辑

我的
settings.json中有此配置

{
  "python.pythonPath": "C:\\Users\\andre_2d8wovo\\.virtualenvs\\asana_data-LIIUPrbn\\Scripts\\python.exe",
  "editor.detectIndentation": false,
  "editor.formatOnSave": true,
  "editor.insertSpaces": true,
  "editor.tabSize": 4,
  "python.formatting.autopep8Args": ["--max-line-length=80"],
  "python.formatting.provider": "autopep8",
  "python.linting.enabled": true,
  "python.linting.lintOnSave": true,
  "python.linting.pycodestyleArgs": ["--max-line-length=80"],
  "python.linting.pycodestyleEnabled": true,
  "python.linting.pylintEnabled": false
}

如果您希望该行非常长,可以使用注释告诉flake8忽略该行很长的事实,方法是在该行末尾写入
#noqa:E501


Black目前不拆分字符串,在他们的github上有一个用于此的函数

我的意思是,我更希望它通过,并且有一个工具/方法可以为我格式化它。你知道没有任何东西可以限制字符串长度吗?谢谢你的忽略长线提示。这就足够了,我不知道有什么好的通用字符串拆分器;基于年龄和在这个问题上的活动,我认为这是一个很难解决的问题。根据字符串的内容和用法,这可能是一个很好的IDE/编辑器问题,因为在这种特殊情况下,可以通过正则表达式或宏执行一些简单的操作来解决,例如每60个字符插入一个“\\\\n\”