zoukankan      html  css  js  c++  java
  • 命令行启动模块的Python代码研究

    pyrasite的

    __requires__ = 'pyrasite==2.0'
    import re
    import sys
    from pkg_resources import load_entry_point
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
        sys.exit(
            load_entry_point('pyrasite==2.0', 'console_scripts', 'pyrasite')()
        )
    

    mitmproxy的

    import re
    import sys
    
    from mitmproxy.tools.main import mitmproxy
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
        sys.exit(mitmproxy())
    

    Ipython的

    import re
    import sys
    
    from IPython import start_ipython
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
        sys.exit(start_ipython())
    

    pip3的

    import re
    import sys
    
    from pip._internal import main
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
        sys.exit(main())
    

    virtualenv的

    import re
    import sys
    
    from virtualenv import main
    
    if __name__ == '__main__':
        sys.argv[0] = re.sub(r'(-script.pyw?|.exe)?$', '', sys.argv[0])
        sys.exit(main())
    
    

    看完大概就能知道命令行模式启动的原理了。

  • 相关阅读:
    linux 学习随笔-shell基础知识
    linux 学习随笔-压缩和解压缩
    解析xml的4种方法详解
    集合工具类
    Map概述
    List集合概述
    Java集合框架
    Spring JdbcTemplate详解
    关于c3p0数据库连接池的简单使用
    Java通过JDBC封装通用DAO层
  • 原文地址:https://www.cnblogs.com/c-x-a/p/11487290.html
Copyright © 2011-2022 走看看