在不执行类的情况下导入-python
问题描述
我的问题是我有一个包含类的文件,在这个类中有一串代码将被执行
所以每当我导入该文件时,它都会执行!不创建类的对象!,下面是示例
文件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__
语句。
相关文章