今天是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的使用(三)相关推荐

  1. 视频教程-快速入门Python基础教程_Python基础知识大全-Python

    快速入门Python基础教程_Python基础知识大全 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥99.00 立即 ...

  2. 视频教程-快速入门Python基础教程_Python基础进阶视频-Python

    快速入门Python基础教程_Python基础进阶视频 十余年计算机技术领域从业经验,在中国电信.盛大游戏等多家五百强企业任职技术开发指导顾问,国内IT技术发展奠基人之一. 杨千锋 ¥199.00 立 ...

  3. Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python

    Python学习教程(Python学习路线_Python基础学习教程_Python视频教程):初学者新手怎样快速入门Python? 人生苦短,我用Python!!!短短几个字,现在在各大学习类平台随处 ...

  4. python数据分析知识点_Python基础知识点总结:数据

    首先, 什么是Python? 用python作者Guido van Rossum自己的话来说,Python是这样的一门语言: 它是一门高级编程语言, 它的核心设计理念是让所有代码变得更易阅读,并给开发 ...

  5. python expect模块_Python基础教程:用Python怎么telnet到网络设备

    Python基础教程:用Python怎么telnet到网络设备 0.前言 Telnet协议属于TCP/IP协议族里的一种,对于我们这些网络攻城狮来说,再熟悉不过了,常用于远程登陆到网络设备进行操作,但 ...

  6. pycharm新建python的快捷键_Python基础之PyCharm 的初始设置

    PyCharm 的初始设置(知道) 目标 恢复 PyCharm 的初始设置 第一次启动 PyCharm 新建一个 Python 项目 设置 PyCharm 的字体显示 PyCharm 的升级以及其他 ...

  7. cpython python 区别面试_python基础教程之千万不要错过这几道Python面试题

    第1题: python下多线程的限制以及多进程中传递参数的方式? python多线程有个全局解释器锁(global interpreter lock),简称GIL,这个GIL并不是python的特性, ...

  8. python安装方法_Python基础入门——简介和环境配置,超实用!

    作者 | kbsc13 来源 | 机器学习与计算机视觉(ID:AI_Developer) 上周结束了如何构造一个机器学习项目的系列文章,当然还有一篇简单的总结以及介绍一些入门的学习资料,不过还在整理, ...

  9. python describe函数_Python基础知识点梳理2,推荐收藏

    接着昨天的基础知识点继续梳理,昨天的 Python基础知识梳理1 8.函数 1.定义函数: 使用关键字def来告诉python你要定义一个函数 接着指出函数名:如下面函数名是-greet_user ( ...

  10. python的基本原理_python基础1(理论基础)

    1.python是什么语言 2.python的发展史 3.python2与python3的区别 4.python的语言类型 5.python的优缺点 6.IDLE是什么 7.变量是什么 一.pytho ...

最新文章

  1. C++--在单文档的应用程序增加多个视图
  2. 服务器扫描出漏洞怎么才会被攻击_维护企业服务器安全,你需要做到这8点
  3. Openstack dnsmasq配置域名解析
  4. java基础day11---空指针异常----引用类型--自定义类型赋值--封装
  5. 山东大学2021-2022学年校历
  6. java区块作用域_ES6-let、const和块级作用域
  7. JAVA day18,19 单列集合Collection:List(ArrayList,LinkedList,Vector)、Queue(Deque)、Set(HashSet,TreeSet),比较器
  8. hdu1501 Zipper--DFS
  9. Android SwipeRefreshLayout 刷新控件
  10. css——样式化区块——背景
  11. safari html5 自动全屏,IOS10全屏safari Javascript
  12. vue项目之UI插件:Element-UI的基本使用
  13. (精)广东工业大学《数据可视化技术》 2018实验报告
  14. 微信小程序有哪些优点和价值
  15. 开源WebGIS开发——如何创建一张地图
  16. 基于STM32的实时操作系统FreeRTOS移植教程(手动移植)
  17. mysql查询所有男生中姓王的_MySQL的查询练习
  18. python羊车门问题
  19. USART与UART的区别,单工,半双工和全双工的区别
  20. 关于图像opencv中对于长宽的定义

热门文章

  1. Just Pour the Water ZOJ - 2974 (矩阵快速幂)
  2. F - XOR Equation CodeForces - 635C (数学)
  3. jbox弹窗_关于使用 jBox 对话框的提交不能弹出问题解决方法
  4. 2021-10-28 ACWING826 单链表
  5. PAT-A1025 PAT Ranking
  6. python处理文件效率对比awk
  7. linux渗透win7的时候显示445,Win7如何简单的关闭445端口及445端口入侵详解
  8. kettle linux下的目录怎么看_Linux系统各目录下指令解析
  9. html文件能放病毒吗,建立一个防病毒/防复制/任何程序都无法删除的文件或文件夹...
  10. android 多线程 进度条,Android子线程进度条不显示的问题