python - 用于在 Quarto (`.qmd` )/R Markdown (`Rmd` ) 文件中检查和格式化 Python 代码的工具

标签 python r-markdown lint code-formatting quarto

我搜索 Quarto .qmd 和 R Markdown (.Rmd) 文件的 Python linters/formatters。是否有任何工具开箱即用可以:

a) 对 Quarto .qmd 或 R Markdown (.Rmd) 文件的 Python 代码单元中的 Python 代码进行 lint 和/或格式化(类似于 R 的 styler) 仅适用于 Python)?

b) 或应用其他代码格式化程序或 linter,例如 black.qmd/.Rmd 文件中的 Python 代码单元(即像 nbQA 这样的工具,它将 black 或其他工具应用于 Python Jupyter 笔记本中的单元格,仅用于 qmd/Rmd 文件)?

  1. 我尝试在 Google 搜索上搜索此类工具(使用关键字 pythonformatlintQuartoqmd 和类似的),但没有出现任何感兴趣的内容。
  2. 我在 Posit Community 上提出了问题但还没有对现有工具的建议。 Quarto 团队还没有这样的工具。

我更喜欢命令行工具,但欢迎提供所有建议。


.qmd 文件的示例,我想在其中格式化 Python 代码:

---
title: "Python code needs formatting"
format: html
---

Load packages/modules.

```{r}
library(reticulate)
```

```{python}
import pandas as pd
```

Load data.

```{r}
data(women)
```

Analyze data.

```{python}
women = r.women
women.head()
```

```{python}
women2 = (
  women
  .assign(
    bmi   =    lambda x: x.weight / \
    x.height**2 
)
  
  )
  
women2  .sum()
```

最佳答案

我做了一个小quato过滤器black-formatter使用它可以将 python 代码格式化为 python 代码块。此扩展需要事先安装 black,您可以使用 pip install black 来安装。

---
title: "Python code needs formatting"
format: html
filters:
  - black-formatter
---

Load packages/modules.

```{r}
library(reticulate)
```

```{python}
import pandas as pd
```

Load data.

```{r}
data(women)
```

Analyze data.

```{python}
women = r.women
women.head()
```

```{python}
women2 = (
  women
  .assign(
    bmi   =    lambda x: x.weight / \
    x.height**2 
)
  
  )
  
women2  .sum()
```

black formatted


关于python - 用于在 Quarto (`.qmd` )/R Markdown (`Rmd` ) 文件中检查和格式化 Python 代码的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75664661/

相关文章:

c - 警告 : Suspicious pointer-to-pointer conversion (area too small) with lint

python - 通过子类化 scipy.stats.rv_continuous 创建偏斜正态分布的问题

python - 使用 SimpleImputer 后 Dataframe 变成 numpy 数组。我希望它返回一个 dataframe

r - 如何使用 R 将字符从 Markdown 转换为 LaTeX

r - 如何在 R 代码块中创建 R-markdown 部分?具有正确的代码显示

c - 如何下载和安装 lint?

python - 从两个字符串获取后缀/前缀修正,将源字符串转换为Python中的目标字符串

python - 迭代一列中的项目,同时引用另一列中的标签

r - 更改 R DataTables (DT) 中的字体大小

c - MISRA 错误 10.1 复数整数的隐式转换