python学习笔记(二)
(一)模块打包
--->
注:suba和subb文件夹下的__init__.py文件,即使为空,也必须存在
"setup.py"
from distutils.core import setup setup(name="example",version="v1.0.0",description="setup_examples",author="SweetYu",py_modules=['suba.aa','suba.bb','subb.cc','subb.dd'])
构建模块
python setup.py build
生成发布压缩包(dist/example.v1.0.0.tar.gz)
python setup.py sdist
解压“example.v1.0.0.tar.gz”文件,导入模块内信息,sudo为Linux命令
sudo python setup.py install
导入后,即可使用模块内的函数/类
import suba.aa aa.showaa() from subb.cc import * showcc()
(二)文件操作
1、键盘输入
str = input() str = raw_input("Please input:")
2、文件处理
fp = open("a.txt","w") #help(fp) """ 常用函数:write、read、seek(设置读写指针位置)、tell(获取读写指针位置)、flush(刷新读写缓冲区)、encoding、next 常用属性:closed(是否关闭)、mode(访问模式)、name(文件名)、softspace """ fp.write("something to write") fp.close()
(三)HTML文本处理
import requests
import re url, user = r"http://www.renren.com/ajaxLogin/login", {'email':"abc.qq.com",'password':"123"}
s = requests.Session() #会话
r = s.get( url, params = user ) #get方式请求参数 r = s.post( url, data = user ) #post请求参数
r.header #头文件 ''' {'Content-Encoding': 'gzip', 'Transfer-Encoding': 'chunked', 'Set-Cookie': 'BDORZ=27315; max-age=86400; domain=.baidu.com; path=/',
'Server': 'bfe/1.0.8.18', 'Last-Modified': 'Mon, 25 Jul 2016 11:12:15 GMT', 'Connection': 'Keep-Alive',
'Pragma': 'no-cache', 'Cache-Control': 'private, no-cache, no-store, proxy-revalidate, no-transform',
'Date': 'Mon, 09 Jan 2017 15:25:34 GMT', 'Content-Type': 'text/html'} '''
r = requests.post(url, files = {'file':open("a.txt","rb")}) #上传文件
html,txt = r.text, []
pattern = re.compile(r'<span class="visit">(.*?)</span>') #正则表达式
txt.append(pattern.findall(html)) #字符串匹配查找
(四)Socket原生开发