python学习笔记(二)

时间:2023-05-06 11:00:14

(一)模块打包

python学习笔记(二)    --->       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原生开发