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()方法。
网友评论