zoukankan      html  css  js  c++  java
  • 模块手动执行和模块导入执行

    本章内容:

        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__"
    __author__ = "Alex Li"
    
    import socket
    
    HOST = 'localhost'  # The remote host
    PORT = 9999  # The same port as used by the server
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((HOST, PORT))
    while True:
        msg = bytes(input(">>:"), encoding="utf8")
        s.sendall(msg)
        data = s.recv(1024)
    
        #
        print('Received', data)
    s.close()
  • 相关阅读:
    谈谈关于MVP模式中V-P交互问题
    Delphi MVC模 2
    Delphi MVC模式 1
    Java长整除问题
    Java中Scanner类的简单用法
    Java中throw和throws的区别
    Java必须掌握的运算符
    Java编程多重循环
    Java实现三种简单的排序
    使用Java向properties存数据
  • 原文地址:https://www.cnblogs.com/hcxy2007107708/p/9938554.html
Copyright © 2011-2022 走看看