• 命令行启动模块的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())
    
    

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

  • 相关阅读:
    如何下载、安装、启动WebTours
    Jmeter--录制脚本-用户参数化-添加断言
    UTF-8与GBK的区别
    日志的等级
    程序员与英语
    遇到安装app不识别的情况
    苹果手机怎么追踪定位
    如何制作微信表情
    比美图还要简单的在线photoshop
    Mac 下 搭建 svn 服务器
  • 原文地址:https://www.cnblogs.com/c-x-a/p/11487290.html
Copyright © 2020-2023  润新知