美文网首页
rpdb2源码分析(2)

rpdb2源码分析(2)

作者: 道法自然2021 | 来源:发表于2018-09-14 17:04 被阅读0次

    11、怎么解析命令行参数?

    使用getopt模块。请参考:

    Python命令行:getopt模块详解 https://www.jianshu.com/p/a877e5b46b2d

    python 之 分割参数getopt http://andylin02.iteye.com/blog/845355

    Python命令行参数解析:getopt和argparse https://blog.csdn.net/lanzheng_1113/article/details/77574446

    Python 命令行参数和getopt模块详解 https://www.cnblogs.com/kex1n/p/5975722.html

    12、如何打印全局变量?

    使用globals()函数,返回字典形式的全局变量。

    13、你能看懂下面的语句吗?

    [_rpdb2_pwd, None][_rpdb2_pwd in [None, '']]

    我觉得不要用bool值做下标,比较好一些。

    14、把对象或者值转换为字符串的方法?

    使用repr()函数或者str()函数,前者对python友好,可以使用eval还原为对象或者值,而str()对人友好,通常无法eval。

    15、如何复制对象?

    参考python-copy模块使用 https://www.cnblogs.com/tiannan/p/6212354.html

    16、多线程及Condition()方法如何使用?

    参考python--threading多线程总结 https://www.cnblogs.com/tkqasn/p/5700281.html

    python笔记10-多线程之线程同步(锁lock) https://www.cnblogs.com/yoyoketang/p/8329265.html

    17、【源码:断点】断点管理器运行在被调测对象上,而断点管理器代理运行在调试对象上。

    18、交互式命令行如何实现?

    使用cmd.Cmd模块,参考:

    简单认识python cmd模块 https://www.cnblogs.com/r00tuser/p/7515136.html

    比较全的python cmd模块的用法 http://blog.51cto.com/capricorn/1891402

    19、readline模块的作用是什么?

    python - readline 模块 https://www.cnblogs.com/blitheG/p/8036630.html

    它是用于补全python命令行命令的。其中get_completer_delims()命令是获取分隔符的。

    20、【源码:执行过程】

    1)主入口:源码结尾的run_rpdb2()

    2)运行main函数,在Ln14557行。

    3)如果不带参数,需要调用StartClient_func函数,在14740行。

    4)实际上就是调用StartClient函数,在14470行。

    5)在此函数中,创建了CConsole对象(14480行),这个对象内部创建了CConsoleInternal对象(1448行),而CConsoleInternal类继承自threading.Thread和cmd.Cmd(11787行)。

    6)在CConsoleInternal中重写了Thread的run方法,在run方法中调用了Cmd的cmdloop()方法。

    相关文章

      网友评论

          本文标题:rpdb2源码分析(2)

          本文链接:https://www.haomeiwen.com/subject/njqogftx.html