模块手动执行和模块导入执行

Posted hcxy2007107708

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模块手动执行和模块导入执行相关的知识,希望对你有一定的参考价值。

本章内容:

    1、手动执行模块中的if __name__=="__main__"

    2、将文件整体导入到另一个模块中使用

 

 1、手动执行

新建一个文件叫process_Pool.py,然后手动执行

 1 #手动执行时,__name__ 等于__main__的,所以会执行测试代码
 2 
 3 import multiprocessing
 4 import time,threading
 5 
 6 def thread_run():
 7     print(threading.get_ident())
 8 
 9 def run(name):
10     time.sleep(2)
11     print(hello,name)
12     t = threading.Thread(target=thread_run,)
13     t.start()
14 
15 print(__name__)   #打印当前的文件名等于 __main__
16 
17 if __name__=="__main__":  #手动执行时,成立,所有执行
18     for i in range(10):
19         p = multiprocessing.Process(target=run,args=(boy%s%i,))
20         p.start()
21         p.join()

 

2、将文件整体导入到另一个模块中使用

新建一个文件modle_poo.py,将process_Pool.py导入执行。由于__name__等于模块名process_Pool,所有if__name__=="__main__" 不成立

 1 import sys,os
 2 BASE_DIR = os.path.normpath(os.path.join(
 3     os.path.abspath(__file__),
 4     os.path.pardir
 5 ))
 6 sys.path.insert(0,BASE_DIR)
 7 # print(BASE_DIR)
 8 # print(sys.path)
 9 
10 
11 import process_Pool
12 
13 #执行结果是  process_Pool   #等于模块名,所有不执行if__name__=="__main__"

 

以上是关于模块手动执行和模块导入执行的主要内容,如果未能解决你的问题,请参考以下文章

模块和包

python导入模块时的执行顺序

113.模块原则

113.模块原则

导入模块 和 包

ts-node 执行带有模块导入和模块定义的打字稿