导入而不执行类 - python

2024-01-16

我的问题是我有一个包含类的文件,并且在这个类内有一堆代码将被执行

所以每当我导入该文件时它就会执行!无需创建该类的对象! ,这是例子

FILE X

class d:
    def __init__(self):
        print 'print this will NOT be printed'
    print "this will be printed"

file B

import x

输出是this will be printed,所以我的问题是如何跳过执行它直到创建一个新对象?


在Python中你不能这样做,在Python中每个类都是第一级对象,Python类也是一个对象,即使没有该类的实例,类属性也可以存在。如果您只想抑制 print 语句的输出,您可以在导入时重定向 print 语句的输出,或者创建一个类似于中提供的上下文这第一个答案 https://stackoverflow.com/questions/1809958/hide-stderr-output-in-unit-tests并使用__import__手动声明。

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

导入而不执行类 - python 的相关文章

随机推荐

  • 使用 Parsec 在 Haskell 中编写小型解析器时出现问题

    我正在尝试使用以下代码为小语言编写解析器 import Text ParserCombinators Parsec import Text Parsec Token data Exp Atom String Op String Exp in
  • 使用 CMake 为 Visual Studio 2012 编译 SFML

    在开始提问之前 我只想澄清一下 我希望 SFML 能够静态链接到 runetime 因为我想静态链接 mvsc dll 这样就没有人需要安装它们或依赖它们 我成功地从网站上完成了这项工作 但它也有同样的问题 到问题了 我从 github 下
  • 使用 getRange() 时如何跳过一列 - Google Apps 脚本

    我似乎无法弄清楚如何将此脚本放在跳过列中L 我尝试了许多不同的品种 但都导致错误 希望有更多经验的人能够指点迷津 我需要I K and M O没有L sheet1 getRange I1 O sheet1 getLastRow getVal
  • 如何提高反序列化速度?

    使用 BinaryFormatter 进行序列化 反序列化 生成的序列化文件大小约为 80MB 反序列化需要几分钟 我该如何改进这一点 这是反序列化代码 public static Universe DeserializeFromFile
  • 在Powershell脚本中传递Jenkins环境变量

    我想在 power shell 脚本中使用 jenkins 环境变量 这里 destination 在 powershell 脚本中为 null 无法识别我在做什么错误 请帮助 bin groovy pipeline agent label
  • 以 Promise.all 为条件 [重复]

    这个问题在这里已经有答案了 我知道这个答案 https stackoverflow com a 31414472 4640499下面的代码是基于它的 它正在工作 但我对某些事情不满意 如果我想进行一些条件检查并基于它解决怎么办 我已经对我想
  • git 与 xcode 快照

    我正在通过 itunesU 视频学习 iOS 编程 并且一直在使用 xcode 我在 xcode 中发现了创建快照的功能 到目前为止 我已经用它来为我的项目在每个主要里程碑拍摄快照 然后我来到关于使用 git 进行版本控制的章节 并按照他们
  • 如何获取scrapy失败的URL?

    我是 scrapy 的新手 这是我所知道的令人惊叹的爬虫框架 在我的项目中 我发送了超过 90 000 个请求 但其中有一些失败了 我将日志级别设置为INFO 我只能看到一些统计信息 但看不到详细信息 2012 12 05 21 03 04
  • 如何在Android国际象棋游戏中制作动画

    我正在为 Android 开发国际象棋游戏 androidchess appspot com http androidchess appspot com 如果我想添加动画 我应该使用扩展Canvas的自定义View 我现在这样做 还是扩展S
  • 不小心创造了病毒?

    我经常看到这种情况发生 我用 Delphi 编写一个应用程序 当我编译它时 病毒扫描程序告诉我我已经创建了一个病毒 然后立即再次删除了可执行文件 这很烦人 但通过完全重建 首先删除 dcu 文件 有时只需等待 即可轻松修复 据我所知 Del
  • 类型“[String,AnyObject?]”不符合协议 AnyObject?:为什么?

    我试图理解为什么会出现编译错误 类型 String AnyObject 不符合 AnyObject 协议 var cars String AnyObject model Ferrari var JSON String AnyObject c
  • 在 Python 中使用带有线程的全局字典

    访问 更改字典值是线程安全的吗 我有一本全球词典foo以及带有 id 的多个线程id1 id2 idn 是否可以访问和更改foo如果已知每个线程仅使用其 id 相关值 例如线程 则无需为其分配锁id1只会与foo id1 假设 CPytho
  • 再次休息并获取...

    一般来说 REST 社区似乎不喜欢 GET 请求中的复杂数据 我想知道这背后是否有一个好的原则 或者只是具体化了 GET 字典的 任意 url 长度 限制 我对 url 和资源之间的对应关系感到满意 但为什么我的 GET 请求不能在请求正文
  • Android Kudan - 扩展 ARActivity 将停止系统相机手电筒的工作(闪光灯)

    我正在开发 kudan SDK 用于使用标记构建 3D 模型增强现实对象 所有这些都工作得很好 但是当我在同一个 ARActivity 上构建相机手电筒时 闪光灯将停止工作 甚至它会停止系统闪光灯手电筒的工作 开 关手电筒 来自系统小部件
  • 从 Neo4j 删除所有节点时出现 ConstraintViolationTransactionFailureException

    当尝试从 Neo4j 图形数据库中删除所有节点时 我过去已经在较小的数据集上成功完成过多次 我一直遇到Error undefined undefined运行此查询后 MATCH n DETACH DELETE n 我认为我尝试一次删除的节点
  • 使用什么对称密码来加密消息?

    我对加密一无所知 但我需要它 如何 假设您有一个节点系统 节点通过异步消息在网络上相互通信 节点不维护有关其他节点的会话信息 这是设计限制 假设您想确保只有您的节点可以读取正在发送的消息 我相信加密是解决这个问题的方法 由于节点不维护会话
  • 终端上的“快速构建”抛出“错误:找不到根清单”

    我想在终端上运行我的快速编程 所以我cd我的项目的根文件夹 然后运行 swift build 但是出现了错误 error root manifest not found有什么帮助吗 如果其他人偶然发现同样的问题 我的解决方案是 cd 到我的
  • 在 Windows 上运行 Django 时出现“WinError 10013”

    自从我遇到这个问题以来已经快一个月了 我非常感谢您的帮助 尝试登录我的 Django Web 应用程序时 我在 accounts login 处遇到 OSError 我能够登录 127 0 0 1 8000 admin 但不能登录 acco
  • findDOMNode 与 getElementById 对于普通 DOM 元素

    我不太确定这个问题有真正的答案 但我想知道是否最好使用以下命令在 React 应用程序中查找常规 DOM 元素 A refs 和 ReactDOM findDOMNode or b 普通旧 document getElementById 我
  • 导入而不执行类 - python

    我的问题是我有一个包含类的文件 并且在这个类内有一堆代码将被执行 所以每当我导入该文件时它就会执行 无需创建该类的对象 这是例子 FILE X class d def init self print print this will NOT