python如何导入模块不执行,如何防止python中导入模块的模块代码执行?

Given I have files

testone.py

if __name__ == "__main__":

from testtwo import Fu

class Foo:

def bar(self):

print 'barrr'

testtwo.py

class Fu:

def baz(self):

print 'baz'

Fu().baz() # function call within module

How do you import class Fu from file testtwo.py without running the function called within module testtwo.py? I tried resolving the issue checking the name. As is running the file testone.py will result in the shell printing out baz.

解决方案How to prevent modules code execution from module in python?

You can't, when you import a module, it runs everything that is called in the global scope.

You can change it so that it's easy to call or not:

def main():

Fu().baz()

if __name__ == '__main__':

main()

And then when you want it called you import it and call main() and it will still automatically run when you run it as the main module.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值