Ruff :是一个用Rust编写的极快的 Python linter 和代码格式化程序

news2024/9/25 13:21:13

安装

pip install ruff
 

语法检查

要对代码运行 linter,我们使用

ruff check .

b370a1e7ff792564a98b43dca9d4cc02.png

如果你想在单个文件上运行它,请这样做

ruff check <filename.py>

总共有 415 个错误。其中 33 个可以修复!

9dcd89774e2b44ffd315ef6ec5f02d0b.png

为了修复它们,我们使用标志--fix,就像这样

ruff check --fix .

103418cece730c11b2cc7c1f044feddc.png

如您所见,已修复 33 个,剩余 383 个。

格式化

为了格式化,我们使用ruff format

ruff format .

a477fbf3d89b7bfed68f4acb255ac52a.png

您可能不会以这种方式使用 Ruff,并且您有一个编辑器,那么让我们看看如何设置它!

在 VS Code 中使用它

获取VSCode 扩展。

现在,就像“修复所有可自动修复的问题”一样简单

a586d03ced5467a92494d79022da7c45.gif

但更好的是,您可以在保存时执行此操作。

保存时格式化

如果你希望 Ruff 自动修复 lint 违规、组织导入和保存格式,请转到你的settings.json文件

添加这个。

"[python]": {
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll": "explicit",
    "source.organizeImports": "explicit"
  },
  "editor.defaultFormatter": "charliermarsh.ruff"
}

取决于您是否希望 Ruff在键入时或保存时运行 linting 。默认情况下,它是在键入时运行,但我更喜欢在保存时运行。

"ruff.lint.run": "onSave",

Jupyter 笔记本

通过该扩展,您可以使用命令来格式化、检查和组织笔记本中的导入内容。

5d16b3b1de0da18d94deebe5759a6e04.gif

要在保存时启用它,请添加以下内容。

"notebook.formatOnSave.enabled": true,
"notebook.codeActionsOnSave": {
  "source.fixAll.ruff": true,
  "source.organizeImports.ruff": true
}

使用预提交

要使用预提交,可以按照以下方法添加Ruff 的预提交钩子。

- repo: https://github.com/astral-sh/ruff-pre-commit
  # Ruff version.
  rev: v0.2.2
  hooks:
    # Run the linter.
    - id: ruff
      types_or: [ python, pyi, jupyter ]
      args: [ --fix ]
    # Run the formatter.
    - id: ruff-format
      types_or: [ python, pyi, jupyter ]

带有 CLI 的 Jupyter Notebook

如果你正在使用笔记本的 CLI,则必须转到或pyproject.tomlruff.toml并添加此行

extend-include = ["*.ipynb"]

更多集成

它支持许多其他集成。包括 Vim!

d786f287f7f4d5fb7f4227bac18f0def.png

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2083968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习实用方法 - 选择超参数篇

序言 在深度学习的浩瀚领域中&#xff0c;超参数的选择无疑是通往卓越模型性能的一把关键钥匙。超参数&#xff0c;作为训练前设定的、用于控制学习过程而非通过学习自动获得的参数&#xff0c;如学习率、批量大小、网络层数及节点数等&#xff0c;直接影响着模型的收敛速度、…

LLMOP 面向LLM编程,让你的接口和代码对LLM更友好!

LLM Oriented Programming ApiHug Lint 检查报告 - ApiHugApihug quality lint tools to check api design violationshttps://apihug.com/zhCN-docs/tool/apihug-lint ​LLMOP 面向LLM编程&#xff08;LLMOP&#xff09;代表了我们构思和设计API的范式转变。该方法旨在创建不…

TRIZ理论在传感技术创新中的应用优势

传感技术作为连接物理世界与数字世界的桥梁&#xff0c;正以前所未有的速度推动着社会进步与产业升级。而TRIZ&#xff08;发明问题解决理论&#xff09;这一强大的创新方法论&#xff0c;也开始悄然在传感技术领域绽放异彩&#xff0c;为创新者提供了前所未有的设计灵感与解决…

CCF CSP题解:因子化简(202312-2)

链接和思路 OJ链接&#xff1a;传送门。 问题重述 本题基于一个基本事实&#xff0c;即任何一个大整数 n n n都可以唯一地分解为如下形式 n p 1 t 1 p 2 t 2 ⋯ p m t m n p_1^{t_1} \times p_2^{t_2} \times \cdots \times p_m^{t_m} np1t1​​p2t2​​⋯pmtm​​其中…

软件测试 | 测试用例Ⅱ

基于需求的设计方法 测试人员接到需求后&#xff0c;要对需求进行分析和验证&#xff0c;从合理的需求中进一步分析细化需求&#xff0c;从细化的需求中找出测试点&#xff0c;根据这些测试点再去设计测试用例。 上面就是根据需求文档先设计出来的初步的测试用例&#xff0c;而…

数据库表太多,如何快速定位到需要字段

MySQL数据库表太多&#xff0c;如何快速定位到需要字段 问题&#xff1a; 数据库的表太多&#xff0c;自己只通过后端代码&#xff0c;知道数据字段名。现在想搜索数据库中所有表&#xff0c;查到对应字段&#xff0c;实现报表开发。 一、方案 在MySQL数据库中&#xff0c;如…

【web网页制作】中国传统文化书法主题html网页制作开发div+css(6页面附效果源码)

HTMLCSS传统文化主题书法网页制作 &#x1f354;涉及知识&#x1f964;写在前面&#x1f367;一、网页主题&#x1f333;二、网页效果菜单切换效果PageA、整体页Page1、主页Page2、行书页Page3、楷书页Page4、隶书页Page5、篆书页Page6、草书页 &#x1f40b;三、网页架构与技术…

微前端集成优化:让所有子应用体积更小,加载更快!

简介 随着前端的日益发展&#xff0c;微前端架构越来越受到青睐。它通过将前端应用拆分为多个独立的子应用&#xff0c;每个子应用可以独立开发、部署和运行&#xff0c;从而提升了开发效率和团队协作。目前主流的微前端方案应该是qiankun了。 以笔者公司为例&#xff0c;采用…

AI在医学领域:基础模型和视觉-语言模型在计算病理学应用概述

近年来&#xff0c;人工智能&#xff08;AI&#xff09;基于方法在计算病理学&#xff08;CPath&#xff09;领域中的应用迅速增长&#xff0c;这主要得益于数字幻灯片扫描仪的广泛采用。因此&#xff0c;大规模的全幻灯片图像&#xff08;Whole Slide Images, WSIs&#xff09…

Linux内存管理(1)——MMU内存管理单元及Buddy算法详解

文章目录 1.内存管理单元&#xff08;MMU&#xff09;1.1 MMU的作用1.2 MMU相关概念1.3 ARM处理器访问内存过程 2.内存优化之buddy伙伴算法2.1 背景2.2 优缺点2.2 原理 最近复习Linux内存管理部分&#xff0c;简单将自己的理解记录一下 内存&#xff1a;包括随机存储器&#xf…

委托 by 操作符

属性委托给属性 使用 by:: 操作符&#xff0c;代表调用系统内置的方法。 读&#xff1a;getVaule 写&#xff1a;setValue 共享同一个数据。 /*** 属性委托给属性* by:: 系统内置的方法&#xff0c;非自定义的* 共享同一个数据*/ var num:Float 9999.0f/*** newNum属性委托…

黑神话悟空-画质提升+帧数提升+超宽屏+写实画质补丁+无光追也可拥有的超强画质

超真实画质提升&#xff01;&#xff01;&#xff01; 下载地址&#xff1a;https://pan.quark.cn/s/529202fbbbef

Python | Leetcode Python题解之第381题O(1)时间插入、删除和获取随机元素-允许重复

题目&#xff1a; 题解&#xff1a; import random class RandomizedCollection:def __init__(self):"""Initialize your data structure here."""self.table {}self.ns []def insert(self, val: int) -> bool:"""Inserts …

WPF 手撸插件 七 日志记录(二)

1、本文使用Serilog进行记录日志&#xff0c;目前想只用log4net进行日志记录&#xff0c;但是Serilog有想学习一下&#xff0c;所有这里使用控制台项目来学习一下Serilog。我使用的还是.Net Framework 4.5. 2、NuGet 安装Serilog 2.12.0、Serilog.Sinks.Console 4.1.0&#xf…

智能学习辅助系统——后端部分

目录 前言 一、准备工作 1.需求&环境搭建 1.1需求说明 1.2环境搭建 2.开发规范 2.1 开发规范-REST 2.2 开发规范-统一响应结果 3.开发流程 二、部门管理 1.查询部门 &#xff08;1&#xff09;原型和需求 &#xff08;2&#xff09;接口文档 &#xff08;3&…

阿里巴巴1688 阿里228滑块 网站分析(不涉及逆向)

声明: 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 有相关问题请第一时间头像私信联系我…

R语言统计分析——回归模型深层次分析

参考资料&#xff1a;R语言实战【第2版】 本文主要讨论回归模型的泛化能力和变量相对重要性的方法。 1、交叉验证 从定义上看&#xff0c;回归方法就是从一堆数据中获取最优模型参数。对于OLS&#xff08;普通最小二乘&#xff09;回归&#xff0c;通过使得预测误差&#xff0…

【书生大模型实战营(暑假场)】进阶任务六 MindSearch CPU-only 版部署

进阶任务六 MindSearch CPU-only 版部署 任务文档GitHub CodeSpace硅基流动HuggingFace Space 任务&#xff1a; MindSearch 部署到Github Codespace 和 Hugging Face Space 笔者部署在 HuggingFace 的 MindSearch 模型链接为&#xff1a;ccdgyro/MindSearch 1 开发机创建和环…

重塑视频监控体验:WebRTC技术如何赋能智慧工厂视频高效管理场景

视频汇聚EasyCVR视频监控平台&#xff0c;作为一款智能视频监控综合管理平台&#xff0c;凭借其强大的视频融合汇聚能力和灵活的视频能力&#xff0c;在各行各业的应用中发挥着越来越重要的作用。 EasyCVR平台不仅兼容多种主流标准协议及私有协议/SDK的接入&#xff08;如&…

汽车线束品牌服务商推荐-力可欣:致力于汽车连接线束和汽车连接器的开发、生产和应用

汽车线束品牌服务商推荐-力可欣&#xff1a;致力于汽车连接线束和汽车连接器的开发、生产和应用