【问题标题】:result of pycharm optimize importspycharm优化导入的结果
【发布时间】:2020-10-24 22:52:11
【问题描述】:

我在 Pycharm 中使用了“代码/优化导入”,结果就是这样

import logging
import os
import re
import subprocess
from getpass import getpass
from pathlib import Path

import requests
import sys
import time
from bs4 import BeautifulSoup

为什么是这个顺序?为什么会有空行?

【问题讨论】:

    标签: python import pycharm pep8


    【解决方案1】:

    也许它使用isort (https://pypi.org/project/isort/):

    1. importfrom x import y 之前

    2. 导入按字母顺序排序。

    3. 最后,导入按导入类型分组。导入之间的空白行是 Python Standard Library 导入和 Third Party 导入之间的分隔符。

      isort 为全局级别的导入行解析指定的文件(导入 在 try / except 块、函数等之外)并将它们全部放在 按导入类型组合在一起的文件顶部:

      • 未来
      • Python 标准库
      • 第三方
      • 当前 Python 项目
      • 显式本地化(导入前。如:from .import x)
      • 自定义单独部分(由配置文件中的强制单独列表定义)
      • 自定义部分(由配置文件中的部分列表定义)

      在每个部分中,导入按字母顺序排序。异类 自动删除重复的 python 导入,并从 导入到指定的行长(默认为 79)。

    编辑:

    在 PEP8 中也建议按类型分组导入 (https://www.python.org/dev/peps/pep-0008/#imports)

    【讨论】:

    • time 和 sys 是第三方模块吗?
    • 不,抱歉我没看到。这真的很奇怪,因为 pytcharm 文档还说:“除了从未使用的导入中清理代码之外,PyCharm 还根据 Python 代码的样式指南格式化现有的导入语句。这样做时,PyCharm 将导入语句拆分为单独的行,并对它们进行排序分组(有关详细信息,请参阅导入部分)。" jetbrains.com/help/pycharm/…
    • 我也觉得这很令人困惑,PyCharm 总是将import sys 放在最底部。
    猜你喜欢
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多