1. 使用dir+help:
dir(builtins) : 查找自动加载的模块
import socket
dir(socket)
help(‘socket.inet_aton’)
dir(socket.socket)
windows和linux的python 帮助手册可能有少许区别,例如inet_pton在linux中有,windows下没有
2. print:
printf错误写法
print(“aaa”,buffer,”ccc”)
3. Str转byte:
b’teststring’
str.encode(‘utf-8’)
4. Byte转string:
byte.decode(‘utf-8’)
5. send/recv 处理的是bytes而不是string
6. 多行字符串:
行尾使用\表示将换行符略去
此行需要定格写,不需要使用tab,否则产生空白
7. 字符串比较,返回值要注意:
if (s_msg == 'xfei')==True: 返回True
cmp(a,b) 返回0
8. string 有两种
python原始的String模块,需要importstring,为保持兼容暂时保留,不建议用
现在的S对象,即str,不需要import,直接使用
9. 如何知道函数返回的数据类型
type(object)
10. 文件夹操作
os.
os.path
shutil.
11. 字符串操作str
12. 调用shell命令(详见shell.txt)
a. os.system()
b. os.popen()
c. commands.getstatusoutput()
d. subprocess.call('ls -l', shell=True)
13.字符串注意去除尾部空格
例如os.popen('ls -l').read().rstrip()
14. list.append() return NoneType,不要再赋给list了
15. 匹配的时候re
.表示任意字符除了新行
*表示前面的字符出现了0或者多次
?表示前面的字符出现了0或者多次
+表示前面的字符出现了1或者多次
16. 全局变量,不建议,一定要用两种方法:
1. 放在专门的公共文件中,供调用
2. 每个函数中要使用则使用global xxxx 说明
17. send需要人为控制全部发送
slen+=mconnections[fd].send(talk[slen:])
if slen == len(talk):
#print('send finished')
Break