C语言老司机学Python (五)
今天看的是标准库概览。
操作系统接口:
用os模块实现。
针对文件和目录管理,还有个shutil模块可以用。
例句:
import os
os.getcwd() # 返回当前的工作目录
os.chdir('/server/accesslogs') # 修改当前的工作目录
os.system('mkdir today') # 执行系统命令 mkdir
import shutil
shutil.copyfile('data.db', 'archive.db')
shutil.move('/build/executables', 'installdir')
文件通配符:
glob模块提供了一个函数用于从目录通配符搜索中生成文件列表:
import glob
glob.glob('*.py')
[a.py', b.py', c.py']
sys模块:
命令行参数、输出重定向(stdin, stdout,stderr)可以使用sys模块访问。
程序终止用sys.exit()
字符串正则匹配用re模块。字符串本身也有一些方便易用的方法。
math模块提供了对底层c函数库的访问。
random模块缇欧拱了生成随机数的工具。用起来比c方便太多了。
random.choice(['apple', 'pear', 'banana']) random.random() # 随机生成浮点数 random.sample(range(100), 10) # 生成0-99这100个数,然后随机选10个 random.randrange(100) # 从0-99中随机选一个
访问互联网:
urllib, smtplib
例子:打印我这个博客的所有文章的标题,没错,就下面几行代码即可搞定。
import re
from urllib.request import urlopen
for line in urlopen('http://www.cnblogs.com/hatemath/'):
line = line.decode('utf-8') # Decoding the binary data to text.
if 'postTitle2' in line: # 找文章标题所在的代码行
p = re.compile('<[^>]+>') # 去除html标签
print (p.sub("", line)) # 打印文章标题
运行结果:
2017年就要过去了,我会怀念它的 C语言老司机学Python (四) C语言老司机学Python (三) C语言老司机学Python (二) C语言老司机学Python (一) 天猫精灵X1智能音箱使用感想 ThinkPad W500 清灰记录 用VB.net操作SQLite数据库 关于个人密码安全管理的分析 接触树莓派的24小时
让我们采访一下一直默默围观的c语言对此有何感想。
c语言:“那个。。。我还有嵌入式的工作要做,先走了!”
日期和时间用datetime模块进行处理。
import datetime now = datetime.date.today() birthday = datetime.date(1975, 6, 25) age = now - birthday print(age) # 运行结果15532 days
数据压缩的模块很多,有zlib,gzip,bz2,zipfile,tarfile。多是Linux系统上的文件格式。
性能度量:
细粒度用timeit模块,针对更大的代码块,可以用pstats模块。
from timeit import Timer
Timer('t=a; a=b; b=t', 'a=1; b=2').timeit()
0.57535828626024577
自动测试模块doctest:
可以使用文档中的例子对模块进行测试,并将结果和文档中给出的答案对比,如果不一致会提醒程序员测试失败。
C语言老司机学Python (五)的更多相关文章
- C语言老司机学Python (二)
标准数据类型: 共6种:Number(数字),String(字符串),List(列表),Tuple(元组),Sets(集合),Dictionary(字典) 本次学习主要是和数据类型混个脸熟,知道每样东 ...
- C语言老司机学Python (六)- 多线程
前面的1-5都是比较基础的东西,能做的事情也有限. 从本节起,随着更多进阶技术的掌握,渐渐就可以用Python开始浪了. Python3使用threading模块来实现线程操作. 根据在其他语言处学来 ...
- C语言老司机学Python (一)
Python 版本:3.6.4 参考网上教程:http://www.runoob.com/python3/python3-basic-syntax.html 开始了啊. 干咱们这行的老规矩,学新语言的 ...
- C语言老司机学Python (四)
字符串格式化: 可以使用类似c语言中sprintf函数的方法进行格式化,但是函数名称是print() 如:print('常量 PI 的值近似为:%5.3f.' % var_PI) 注意var_PI ...
- C语言老司机学Python (三)
条件语句: 注意1) condition后面的冒号 2) elif if condition_1: statement_block_1elif condition_2: statement_block ...
- 老司机学新平台 - Xamarin Forms开发框架之MvvmCross插件精选
在前两篇老司机学Xamarin系列中,简单介绍了Xamarin开发环境的搭建以及Prism和MvvmCross这两个开发框架.不同的框架,往往不仅仅使用不同的架构风格,同时社区活跃度不同,各种功能模块 ...
- 从零开始部署Django生产环境(适用:《跟老齐学Python Django实战》)
<跟老齐学Python Django实战>作为市面上少有的Django通俗实战书籍,给了我学习Django很大的帮助.作为一名新入门的菜鸟,全书我重复练习了至少三遍,每次都有新的收获. 前 ...
- 老司机学新平台 - Xamarin开发之我的第一个MvvmCross跨平台插件:SimpleAudioPlayer
大家好,老司机学Xamarin系列又来啦!上一篇MvvmCross插件精选文末提到,Xamarin平台下,一直没找到一个可用的跨平台AudioPlayer插件.那就自力更生,让我们就自己来写一个吧! ...
- 跟着老王学Python
亲爱的朋友: 欢迎你!很高兴能在这里见到你,你能来到这里说明你真的很喜欢python,很想把python给学好!我觉的你很幸运,开始我学python的时候比较少资料,学起来也比较头疼,现在随着 ...
随机推荐
- IDEA2017.3.3创建第一个javaweb项目及tomcat部署实战
一.创建简单web项目 1. 选择jdk(这里有点小问题不是很理解,通过java -verbose查找出来的jdk路径在C盘,这里并不能识别,而我jdk安装的时候有自己的路径在D盘,导入后就是图中的j ...
- IDEA新建Maven项目
Maven是什么? 当我们在开发一个项目的时候,不可避免地会使用到第三方的类库,而它们又可能依赖着另外的Jar包,又得引入其他Jar包,而且我们很容易就会引漏掉~然后就会报错,有时候报的错会让我们花掉 ...
- 优秀的基于VUE移动端UI框架合集
1. vonic 一个基于 vue.js 和 ionic 样式的 UI 框架,用于快速构建移动端单页应用,很简约,是我喜欢的风格 star 2.3k 中文文档 在线预览 2.vux 基于WeUI和Vu ...
- AM调制的FPGA实现
一.说明: 功能:AM调制 平台:Vivado 2016.4 和 Matlab R2017a 二.原理: 1. AM调制原理 AM已调信号的时域表达式: 已调信号的频域表达式: 本质上AM调制就是频谱 ...
- PHP获取字符串编码与转码
(⊙o⊙)-编辑器保存的是utf8的文档取出来的字符串是gbk编码?问题很多,字符串转换为utf8的话在浏览器输出乱码 $e=mb_detect_encoding($d,array('GB2312', ...
- iometer测试工具
简介 Iometer 为计算机I/O子系统所作的工作就如同测力计为引擎所作的工作一样:它测定在可控制的负荷下系统的性能.Iometer 以前被称为"伽利略". Iometer 既是 ...
- css变量的用法——(--cssName)
CSS变量,又称——CSS自定义属性,现在很多CSS预处理/后处理程序已作了相关快捷的编译处理, 基本用法有哪些呢,我们先看一个简单的栗子:——要求,创建一个五个块元素居中的分栏样式,奇数和偶数同高不 ...
- mkdir与mkdirs的区别
mkdir与mkdirs的区别 项目中需要在代码中读取或创建文件保存路径,用到了mkdir,查看还有个mkdirs方法,这里记录一下两者的区别. 1.关于两者的说明如下: boolean mkdir( ...
- ng-show,ng-if区别
在使用bootstrap中,我们会经常用到按钮组,也就是btn-group,如果仔细观察的话,会发现一个按钮组的第一个和最后一个按钮分别是有圆角的,如下图: 但是中间的按钮是没有圆角的,这样显得比较美 ...
- Go笔记-继承
[Go中继承的实现] 当一个匿名类型被内嵌在结构体中时,匿名类型的可见方法也同样被内嵌,这在效果上等同于外层类型 继承 了这些方法:将父类型放在子类型中来实现亚型 package main i ...