阻止导入的模块出现在代码完成中?

2024-03-12

如何防止导入的模块被访问(即堵塞我的代码完成选项)?

例如:

# testmodule.py

import os

def o_stuff():
    return

当我导入时testmodule,我不想os每次我打字时都会出现testmodule.;我只想要在 testmodule 中声明的函数/类 - 在这种情况下,只需o_stuff.

是否有类似于星号的东西(即from testmodule import *)那会这样做吗?


您可以定义一个特殊变量__all__包含要导入的名称列表from module import *- 例如:

# testmodule.py

import os

__all__ = ['o_stuff', 'more_stuff']

def o_stuff():
    pass

def more_stuff():
    pass

具有代码完成功能的 IDE 通常也会尊重__all__(虽然我不熟悉Visual Studio,所以我不知道IntelliSense是否这样做)。

出于完整性考虑,将另一种方法包含在此处,尽管我会强烈推荐反对它(因为它会惹恼任何阅读你的代码而分心的人)是将模块作为下划线前缀的别名导入:

# ugly_as_sin.py

import os as _os

def o_stuff():
    return _os.name

再说一遍,两者from module import *通常,代码完成将忽略以下划线前缀的名称。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

阻止导入的模块出现在代码完成中? 的相关文章

随机推荐

  • 如何使用 Javascript/Jquery 添加子元素

    我需要一位帮助 我需要使用 Javascript Jquery 中的按钮单击来添加子元素 我将在下面解释我的代码 div class form group div
  • RMarkdown / pandoc 无法使用乳胶颜色命令编织 Pdf

    Mac 操作系统 10 11 6 R版本 3 3 1 MacTex 2016 TexLive 6 2 2 RMarkdown 1 0 9014 针织 1 14 潘多克 1 17 当乳胶命令如下时 RMarkdown 无法编织 PDF tex
  • 如何将参数传递给使用“include”呈现的PHP模板?

    需要 PHP 模板方面的帮助 我是 PHP 新手 我来自 Perl Embperl 无论如何 我的问题很简单 我有一个小模板来渲染一些项目 让它成为一篇博客文章 我知道使用此模板的唯一方法是使用 include 指令 我想在遍历所有相关博客
  • DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER 错误

    我的包由动态数据库连接组成 当我运行我的包时 它抛出类似 DTS E CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER 的错误 对连接管理器 conn 的 AcquireConnection 方法调用
  • Bash:当子脚本捕获 SIGINT 时,为什么父脚本不会在 SIGINT 上终止?

    脚本1 sh bin bash script2 sh echo after script 脚本2 sh bin bash function handler exit 130 trap handler SIGINT while true do
  • Hibernate使用PostgreSQL序列不影响序列表

    我已将 Hibernate 配置为使用 PostgreSQL 序列 通过注释 来生成主键值id栏目如下 Id SequenceGenerator name pk sequence sequenceName entity id seq Gen
  • Tapestry 5.4:如何使用外部 dist 包?

    我想使用 swagger ui 中的 dist 包来公开我的 web 服务 dist pkg 位于此处 https github com swagger api swagger ui tree master dist https githu
  • 核心数据不保存对 Transformable 属性的更改

    我正在保存一个NSMutableArray在我的核心数据存储中的 Transformable 属性中 我可以使用中的数据正确创建实体NSMutableArray然后将其从属性中加载出来 甚至进行更改 当我浏览我的应用程序并重新访问它时 我的
  • 如何在jsp中显示从dao获取的数据

    in jsp table width 100 border 0 cellspacing 2 cellpadding 2 tr class tab highlighted 2 td class tab highlighted 2 width
  • 如何创建php调度进程?

    我被要求创建一个网络应用程序 它将在特定时间内向用户发送更新 例如 2009 年 6 月至 8 月期间 user1 每 5 分钟请求一次更新 user2 仅今天每 10 分钟请求一次更新 从 2009 年 6 月到 8 月 user3 每
  • 当我使用 Tomcat 7 JDBC 连接池取消部署 Web 应用程序时,为什么连接仍然存在?

    我已经将一个最小的 Spring Web 应用程序部署到 Tomcat 7 0 22 它由几个页面 一个控制器 一个服务和一个 DAO 组成 该 DAO 有一个运行 SELECT 查询的方法 Web 应用程序配置为使用新的Tomcat JD
  • 访问带有向量索引的矩阵

    我有一个矩阵 a 16x3 和一个向量 b 16x1 b 显示矩阵 a 中每行有多少个有效值 a magic 3 a 8 1 6 3 5 7 4 9 2 b 1 3 2 b 1 3 2 我想做的是将无效值设置为 NaN a b 1 end
  • 活动滚动时绘制面板边框

    当我尝试制作面板边框时 我遇到了问题 首先我将属性面板设置为 自动滚动 真 然后我将边框绘制代码放在面板事件中 ControlPaint DrawBorder e Graphics ClientRectangle Color Black 5
  • 需要 FLAG_ACTIVITY_NEW_TASK 澄清

    所以我的问题是 我启动 App1 打开 Screen1 然后打开 Screen2 我按 Home 键 将 App1 留在后台 我打开 App2 并启动 App1 Screen1FLAG ACTIVITY NEW TASK https dev
  • 通过 VBA 设置默认打印机

    我正在运行一个在两台打印机之间切换的 Excel 宏 一台名为 RecOffice Pink 另一台名为 RecOffice White 这是解决 VBA 无法轻松指定打印托盘问题的一个巧妙的解决方法 粉红色打印机除了一个纸盘之外的所有纸盘
  • 抓取 Finviz 页面以获取表中的特定值

    首先我要说的是 我不支持抓取服务条款不允许的网站 这纯粹是为了从各个网站假设收集财务数据的学术研究 如果有人想看这个链接 存储在 URLs csv 文件中 想要抓取第 2 5 列 即 Ticker Perf Week Perf Month
  • 使用 csv 文件从元组到整数

    我在使用 csv reader 时遇到了一些问题 我有两个文件 FileA 对应 9 个地理坐标 x 第 1 列 和 y 第 2 列 没有标题 该文件从 Excel 保存到 csv 文件中 301506 5918202 301012 591
  • 防止注销后的返回操作

    注销后 如果我按浏览器中的后退按钮 它不应该显示上一页 它必须转到默认页面 仅限登录页面 所以我尝试了很多方法 Ruby on Rails应用程序 例如 history forward onbeforeunload 元标记中的过期缓存 ht
  • 使用 sed 交换两个单词

    我试图交换一行中的两个单词 但它不起作用 例如 今天是我大学的第一天 应该是 我的今天是大学的第一天 这是我尝试过的 sed s a zA z0 9 a zA z0 9 a zA z0 9 3 2 1 filename txt 我究竟做错了
  • 阻止导入的模块出现在代码完成中?

    如何防止导入的模块被访问 即堵塞我的代码完成选项 例如 testmodule py import os def o stuff return 当我导入时testmodule 我不想os每次我打字时都会出现testmodule 我只想要在 t