Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >预提交钩子yapf返回与在命令行中运行yapf不同的结果。

预提交钩子yapf返回与在命令行中运行yapf不同的结果。
EN

Stack Overflow用户
提问于 2021-12-08 08:09:24
回答 1查看 705关注 0票数 0

当使用命令行和yapf运行文件时,我的标记如下:

-i --冗长的--风格的"google“

当使用上述相同的args进行预提交时,我的预提交钩子总是返回"Pass“。

这是在同一个文件中测试相同的更改,所以我希望得到类似的结果。如果我排除了--style "google",我的预提交钩子至少会改变我的文件的格式,但不会改变我想要它的样式。

有人能告诉我我的火箭火箭出了什么问题吗?

包含一个示例的Python文件:

代码语言:javascript
运行
AI代码解释
复制
def hello_world():
    print("hello world")




    if 5 == 5: print("goodbye world")

.预提交-config.yaml文件:

代码语言:javascript
运行
AI代码解释
复制
  - repo: https://github.com/pre-commit/pre-commit-hooks.git
    sha: v4.0.1
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer

  - repo: https://github.com/google/yapf
    rev: v0.31.0
    hooks:
      - id: yapf
        name: "yapf"

在提交时,我的文件将更改,而预提交已告诉我yapf已将我的文件更改为:

代码语言:javascript
运行
AI代码解释
复制
def hello_world():
    print("hello world")

    if 5 == 5: print("goodbye world")

如果我回到同一个python文件并将.python config.yaml文件更新为以下文件:

代码语言:javascript
运行
AI代码解释
复制
  - repo: https://github.com/pre-commit/pre-commit-hooks.git
    sha: v4.0.1
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer

  - repo: https://github.com/google/yapf
    rev: v0.31.0
    hooks:
      - id: yapf
        name: "yapf"
        args: [--style "google" ]

运行提交将提供Pass,而不是进行任何更改,甚至是以前的更改。

编辑1:.pre-connec.config.yaml文件更新为:

代码语言:javascript
运行
AI代码解释
复制
  - repo: https://github.com/pre-commit/pre-commit-hooks.git
    sha: v4.0.1
    hooks:
      - id: trailing-whitespace
      - id: end-of-file-fixer
  - repo: https://github.com/google/yapf
    rev: v0.31.0
    hooks:
      - id: yapf
        name: "yapf"
        args: [--style, google]

运行pre-commit run只显示Passed而不是重新格式化。我也尝试过使用pep8和其他任意的词来代替谷歌。这些都会导致Passed。也许有什么东西在我的一端,风格arg被忽视,并导致所有雅普夫失败?

EN

回答 1

Stack Overflow用户

发布于 2022-09-28 01:23:15

这篇文章是一段时间前写的,但对于将来阅读它的其他人来说,我可以控制yapf样式,在我的父目录中使用.style.yapf预提交,如yapf文档:https://github.com/google/yapf中所概述的那样。

这是我用的.style.yapf

代码语言:javascript
运行
AI代码解释
复制
[style]
based_on_style = google
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70278167

复制
相关文章
维护Python代码的5种工具
随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发者能够快速了解项目的情况,同时能更好地全程保持应用程序的质量。
一墨编程学习
2018/11/21
2K0
vscode 使用flake8和yapf[通俗易懂]
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/10/01
1.3K0
vscode运行python_vscode python 调试
1.1. Flake8——Python静态代码检查工具 Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,相对于目前热度比较高的Pylint来说,Flake8检查规则灵活,支持集成额外插件,扩展性强。Flake8是对下面三个工具的封装:
全栈程序员站长
2022/10/01
2.3K0
vscode运行python_vscode python 调试
用YAPF让Python代码瞬间从丑陋变漂亮
要把Python代码写漂亮,必须遵循PEP8 Python编码规范:《PEP 8 -- Style Guide for Python Code》。但记住PEP8规范,是一件非常痛苦的事情,还好Google发布了一个自动整理Python代码,让其符合PEP8规范的工具:YAPF。
Twcat_tree
2022/11/22
6500
用YAPF让Python代码瞬间从丑陋变漂亮
用VSCode写python的正确姿势
在编辑器中,如果自动提示代码和错误提示,是再好不过的了,Python插件自带的Pylint功能会提示你。
赵云龙龙
2020/02/24
2.5K0
VSCode安装使用(Python)
二、安装python插件 打开VScode,Ctrl+p 输入 "ext install python",搜索时间可能会比较长 选择下载量最高的那个插件点击安装
py3study
2020/01/06
1.6K0
用VSCode写python的正确姿势
最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VSCode便被它的颜值吸引。用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markdown。当然,最主要的还是好看:p 效果图:
程序员小新
2021/12/31
2.3K0
神器 VS Code,超详细Python配置使用指南
而 VS Code 是免费开源的工具,并且是微软旗下产品,如果能够媲美 PyCharm 的话,也不失为一个良好的选择。
Python数据科学
2020/12/31
17.9K1
神器 VS Code,超详细Python配置使用指南
Python为什么文件运行和在命令行运行同样语句但结果却不同?
这篇是之前知乎上的一个提问,感觉非常有趣而且内容丰富,所以把我自己的回答搬运到公众号来。 另外关于昨天的推送,是因为我之前把文章投到了Python中文社区的公众号,他们那边开通了微信的原创保护,我后发的文章被判定了转载。已经和那边的负责人取得联系,加入转载白名单后会把之前的几篇文章再发出来。后续也会坚持更新其他文章的。 微信文章没办法加入超链接。所以文中下划线的参考资料外链请到知乎页面打开:https://www.zhihu.com/question/53536750/answer/135411534。
不二小段
2018/04/08
2.3K0
Python为什么文件运行和在命令行运行同样语句但结果却不同?
Windows安装WSL--Ubuntu
WSL(Ubuntu)将Ubuntu和Win10无缝连接起来,让开发人员可以不使用虚拟机,就轻松地在同一个系统中使用win10和Ubuntu,你可以用它代替Cywin32和babun.
php007
2019/11/28
3.8K0
盘点2015年度10大最流行的Python库
Python编程语言的一大优势,就在于其丰富的第三方库。经过过去一年的时间,Python的世界中又涌现出了哪些优秀的第三方库呢?在本文中,我将给大家介绍2015年新出现的十大Python开发库。这里比较的范围,指的是在2015新开发或创建的第三方库。 1.Keras Keras是一个高度模块化的神经网络库,用Python语言编写,可以基于TensorFlow或Theano框架运行。Keras的开发者在设计时,就注重支持快速实验这一特性。使用Keras库,可以极大地缩短从想法到实现之间的时间。 2.yapf
CDA数据分析师
2018/02/05
9820
盘点2015年度10大最流行的Python库
在VScode上配置Python开发环境
Python:https://www.python.org/ftp/python/3.7.0/python-3.7.0-amd64.exe
py3study
2020/01/07
4.1K0
预训练模型与传统方法在排序上有啥不同?
近年来与传统的检索模型和反馈方法相比,大规模预训练的效果有了显著提高。不过这些结果主要是基于 MS Macro/ TREC[1] 设置,非常特殊,我们对模型为什么好的理解是分散的。
NewBeeNLP
2022/11/11
7470
预训练模型与传统方法在排序上有啥不同?
10分钟教你用YAPF让Python代码瞬间从丑陋变漂亮
要把Python代码写漂亮,必须遵循PEP8 Python编码规范:《PEP 8 -- Style Guide for Python Code》。
短短的路走走停停
2019/05/29
4.4K0
如何在应用程序中调用CMD并返回运行结果
要求做一个图形界面的应用程序,输入命令行的命令,在后台调用CMD程序执行该命令但不显示DOS命令行窗口,而且能实时显示运行的结果。哪位知道怎么处理?谢啦
用户3519280
2023/07/06
4210
vscode插件集合整理
针对PEPE8进行代码规范提示,安装flake8之后写代码的时候编辑器就会提示哪里出错,代码格式不规范也会提示,具体安装方式如下:
代码伴一生
2021/09/19
2770
在Java中为什么不同的返回类型不算方法重载?
方法重载是指在同一个类中,定义了多个同名方法,但每个方法的参数类型或者是参数个数不同就是方法重载。 比如以下 4 个 method 方法就可以称之为方法重载,如下代码所示:
磊哥
2022/01/20
3.6K0
在Java中为什么不同的返回类型不算方法重载?
(20211130更新)关于jupyter notebook的下载安装及自己的配置、主题
Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。
全栈程序员站长
2022/07/28
9510
(20211130更新)关于jupyter notebook的下载安装及自己的配置、主题
点击加载更多

相似问题

提交时YAPF格式设置

113

是否可以在存储的预接收钩子中使用pep8和yapf?

12

预提交运行yapf -所有文件没有找到所有文件?

11

在yapfignore中包含的文件上预提交yapf失败。

26

无法用yapf排除目录

16
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档