python基础运用_python基础----python的使用(三)
今天是2017-05-03,这里记录一些python的基础使用方法。世上存在着不能流泪的悲哀,这种悲哀无法向人解释,即使解释人家也不会理解。它永远一成不变,如无风夜晚的雪花静静沉积在心底。
Python的基础学习
一、python中函数作为参数
importmathdefadd(x, y, f):return f(x) +f(y)print(add(25, 9, math.sqrt)) #8.0
二、python引用自定义模块
在同目录下面定义两个文件huhx.py和huhx5.py。其中huhx.py作为一个模块供huhx5.py使用。
huhx.py文件内容如下:
#defined a module
username = "Linux"
defsayMyName():print("My name is", username)
huhx5.py文件内容如下:
importhuhx
huhx.sayMyName();
打印效果如下:
三、python文件的读写
#文件的写,这一般用于写比较短的字符
with open('../file/huhx.xml', 'w', encoding='utf-8') as f:
f.write('您好, huhx!')#文件的读,这一般用于读取比较短的字符
with open('../file/huhx.xml', 'r', encoding='utf-8') as f:print(f.read())
四、python中stmtp简单发送邮箱
importsmtplibfrom email.header importHeaderfrom email.mime.text importMIMETextfrom email.utils importparseaddr, formataddrdef_format_addr(s):
name, addr=parseaddr(s)return formataddr((Header(name, 'utf-8').encode(), addr))
from_addr= '****'password= '*****'to_addr= '******'smtp_server= 'smtpcom.263xmail.com'msg= MIMEText('hello, my name is huhx.', 'plain', 'utf-8')
msg['From'] = _format_addr('huhx ' %from_addr)
msg['To'] = _format_addr('linux ' %to_addr)
msg['Subject'] = Header('subject info', 'utf-8').encode()
server= smtplib.SMTP(smtp_server, 465)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
如果发送的是html邮件,则将上述的msg改为如下:
msg = MIMEText('
Hello
' +
'
send by Python...
' +
'', 'html', 'utf-8')
如果需要发送附件:
importsmtplibfrom email importencodersfrom email.header importHeaderfrom email.mime.base importMIMEBasefrom email.mime.multipart importMIMEMultipartfrom email.mime.text importMIMETextfrom email.utils importparseaddr, formataddrdef_format_addr(s):
name, addr=parseaddr(s)return formataddr((Header(name, 'utf-8').encode(), addr))
from_addr= '****'password= '*****'to_addr= '***@qq.com'smtp_server= 'smtpcom.263xmail.com'
#邮件对象:
msg =MIMEMultipart()
msg['From'] = _format_addr('hello ' %from_addr)
msg['To'] = _format_addr('huhx ' %to_addr)
msg['Subject'] = Header('subject info', 'utf-8').encode()#邮件正文是MIMEText:
msg.attach(MIMEText('send with file...', 'plain', 'utf-8'))#添加附件就是加上一个MIMEBase,从本地读取一个图片:
with open('huhx.png', 'rb') as f:#设置附件的MIME和文件名,这里是png类型:
mime = MIMEBase('image', 'png', filename='test.png')#加上必要的头信息:
mime.add_header('Content-Disposition', 'attachment', filename='test.png')
mime.add_header('Content-ID', '<0>')
mime.add_header('X-Attachment-Id', '0')#把附件的内容读进来:
mime.set_payload(f.read())#用Base64编码:
encoders.encode_base64(mime)#添加到MIMEMultipart:
msg.attach(mime)
server= smtplib.SMTP(smtp_server, 465)
server.set_debuglevel(1)
server.login(from_addr, password)
server.sendmail(from_addr, [to_addr], msg.as_string())
server.quit()
五、python中简单的html解析
from html.parser importHTMLParserclassMyHTMLParser(HTMLParser):defhandle_starttag(self, tag, attrs):print("Encountered a start tag:", tag)defhandle_endtag(self, tag):print("Encountered an end tag :", tag)defhandle_data(self, data):print("Encountered some data :", data)
parser=MyHTMLParser()
parser.feed('
Test'
'
Parse me!
')
运行的结果如下
Encountered a start tag: html
Encountered a start tag: head
Encountered a start tag: title
Encountered some data : Test
Encountered an end tag : title
Encountered an end tag : head
Encountered a start tag: body
Encountered a start tag: h1
Encountered some data : Parse me!Encountered an end tag : h1
Encountered an end tag : body
Encountered an end tag : html
六、python的文件解压缩
importtarfiledeftarFile(
tar= tarfile.open("sample.tar", "w")):for name in ["all_url.csv", "download_url.csv", "update.csv"]:
tar.add(name)
tar.close()defuntarFile():
tar= tarfile.open("sample.tar", "r:tar")for tarinfo intar:print(tarinfo.name, 'is', tarinfo.size)if __name__ == '__main__':
tarFile()
untarFile()
运行的结果如下:
all_url.csv is 515700download_url.csvis 6599update.csvis 86
友情链接
python基础运用_python基础----python的使用(三)相关推荐
- 视频教程-快速入门Python基础教程_Python基础知识大全-Python
快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...
- 视频教程-快速入门Python基础教程_Python基础进阶视频-Python
快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...
- Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python
Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...
- python数据分析知识点_Python基础知识点总结:数据
首先, 什么是Python? 用python作者Guido van Rossum自己的话来说,Python是这样的一门语言: 它是一门高级编程语言, 它的核心设计理念是让所有代码变得更易阅读,并给开发 ...
- python expect模块_Python基础教程:用Python怎么telnet到网络设备
Python基础教程:用Python怎么telnet到网络设备 0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但 ...
- pycharm新建python的快捷键_Python基础之PyCharm 的初始设置
PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...
- cpython python 区别面试_python基础教程之千万不要错过这几道Python面试题
第1题: python下多线程的限制以及多进程中传递参数的方式? python多线程有个全局解释器锁(global interpreter lock),简称GIL,这个GIL并不是python的特性, ...
- python安装方法_Python基础入门——简介和环境配置,超实用!
作者 | kbsc13 来源 | 机器学习与计算机视觉(ID:AI_Developer) 上周结束了如何构造一个机器学习项目的系列文章,当然还有一篇简单的总结以及介绍一些入门的学习资料,不过还在整理, ...
- python describe函数_Python基础知识点梳理2,推荐收藏
接着昨天的基础知识点继续梳理,昨天的 Python基础知识梳理1 8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是-greet_user ( ...
- python的基本原理_python基础1(理论基础)
1.python是什么语言 2.python的发展史 3.python2与python3的区别 4.python的语言类型 5.python的优缺点 6.IDLE是什么 7.变量是什么 一.pytho ...
最新文章
- C++--在单文档的应用程序增加多个视图
- 服务器扫描出漏洞怎么才会被攻击_维护企业服务器安全,你需要做到这8点
- Openstack dnsmasq配置域名解析
- java基础day11---空指针异常----引用类型--自定义类型赋值--封装
- 山东大学2021-2022学年校历
- java区块作用域_ES6-let、const和块级作用域
- JAVA day18,19 单列集合Collection:List(ArrayList,LinkedList,Vector)、Queue(Deque)、Set(HashSet,TreeSet),比较器
- hdu1501 Zipper--DFS
- Android SwipeRefreshLayout 刷新控件
- css——样式化区块——背景
- safari html5 自动全屏,IOS10全屏safari Javascript
- vue项目之UI插件:Element-UI的基本使用
- (精)广东工业大学《数据可视化技术》 2018实验报告
- 微信小程序有哪些优点和价值
- 开源WebGIS开发——如何创建一张地图
- 基于STM32的实时操作系统FreeRTOS移植教程(手动移植)
- mysql查询所有男生中姓王的_MySQL的查询练习
- python羊车门问题
- USART与UART的区别,单工,半双工和全双工的区别
- 关于图像opencv中对于长宽的定义
热门文章
- Just Pour the Water ZOJ - 2974 (矩阵快速幂)
- F - XOR Equation CodeForces - 635C (数学)
- jbox弹窗_关于使用 jBox 对话框的提交不能弹出问题解决方法
- 2021-10-28 ACWING826 单链表
- PAT-A1025 PAT Ranking
- python处理文件效率对比awk
- linux渗透win7的时候显示445,Win7如何简单的关闭445端口及445端口入侵详解
- kettle linux下的目录怎么看_Linux系统各目录下指令解析
- html文件能放病毒吗,建立一个防病毒/防复制/任何程序都无法删除的文件或文件夹...
- android 多线程 进度条,Android子线程进度条不显示的问题