在不执行类的情况下导入-python

2022-04-10 00:00:00 python python-2.7 class object call

问题描述

我的问题是我有一个包含类的文件,在这个类中有一串代码将被执行

所以每当我导入该文件时,它都会执行!不创建类的对象!,下面是示例

文件X

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

文件B

import x

输出是this will be printed,所以我的问题是如何在创建新对象之前跳过执行它?


解决方案

您不能在Python中做到这一点,在Python中,每个类都是第一级对象,Python类也是对象,即使没有该类的实例,类属性也可以存在。如果您只想取消print语句的输出,您可以在导入时刻重定向print语句的输出,或者创建一个类似this first answer中提供的上下文并手动使用__import__语句。

相关文章