100天精通Python丨基础知识篇 —— 01、C站最全Python标准库总结_python学习100天 csdn(1)

[‘primes.py’, ‘random.py’, ‘quote.py’]




---


### 3、命令行参数


通用工具脚本经常调用命令行参数。这些命令行参数以链表形式存储于 sys 模块的 argv 变量。


sys.argv  
 可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。  
**变量解释**


* sys.argv[0]当前程序名
* sys.argv[1]第一个参数
* sys.argv[2]第二个参数


len(sys.argv)-1 参数个数(减去文件名)


例如在命令行中执行 "python demo.py one two three" 后可以得到以下输出结果:



import sys
print(sys.argv)
[‘demo.py’, ‘one’, ‘two’, ‘three’]




---


### 4、字符串正则匹配


re模块为高级字符串处理提供了正则表达式工具。可以说是爬虫必备,对于复杂的匹配和处理,正则表达式提供了简洁、优化的解决方案:如果只需要简单的功能,应该首先考虑字符串方法,因为它们非常简单,易于阅读和调试:



‘tea for too’.replace(‘too’, ‘two’)
‘tea for two’


**re.match函数**


re.match 尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。


**函数语法**:



re.match(pattern, string, flags=0)


函数参数说明:




| 参数 | 描述 |
| --- | --- |
| pattern | 匹配的正则表达式 |
| string | 要匹配的字符串。 |
| flags | 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写,多行匹配等等。 |


匹配成功re.match方法返回一个匹配的对象,否则返回None。


我们可以使用group(num) 或 groups() 匹配对象函数来获取匹配表达式。




| 匹配对象方法 | 描述 |
| --- | --- |
| group(num=0) | 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。 |
| groups() | 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。 |




---


### 5、数学计算


math模块为浮点运算提供了对底层C函数库的访问:



import math
math.cos(math.pi / 4)
0.70710678118654757
math.log(1024, 2)
10.0


在实际工作中,math标准库往往无法满足需求,我还需要扩展库:NumPy


NumPy(Numerical Python) 支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。


* NumPy 官网 [NumPy](https://bbs.csdn.net/topics/618545628)




---


### 


### 


###  6、操作系统接口


os模块提供了不少与操作系统相关联的函数。



import os
os.getcwd() # 返回当前的工作目录
‘C:\Python34’
os.chdir(‘/server/accesslogs’) # 修改当前的工作目录
os.system(‘mkdir today’) # 执行系统命令 mkdir
0


建议使用 "import os" 风格而非 "from os import \*"。这样可以保证随操作系统不同而有所变化的 os.open() 不会覆盖内置函数 open()。


**os常用命令**





|  |  |  |
| --- | --- | --- |
| 序号 | 方法 | 功能 |
| 1 | os.access(path, mode)   | 检验权限模式 |
| 2 | os.chdir(path)    | 改变当前工作目录 |
| 3 | os.chflags(path, flags)   | 设置路径的标记为数字标记。 |
| 4 | os.chmod(path, mode)     | 更改权限 |
| 5 | os.chown(path, uid, gid)   | 更改文件所有者 |
| 6 | os.chroot(path)    | 改变当前进程的根目录 |
| 7 | os.close(fd)     | 关闭文件描述符 fd |
| 8 | os.closerange(fd\_low, fd\_high)     | 关闭所有文件描述符,从 fd\_low (包含) 到 fd\_high (不包含), 错误会忽略 |
| 9 | os.dup(fd)     | 复制文件描述符 fd |
| 10 | os.dup2(fd, fd2)     | 将一个文件描述符 fd 复制到另一个 fd2 |




---


### 


### 7、日期和时间


datetime模块为日期和时间处理同时提供了简单和复杂的方法。


支持日期和时间算法的同时,实现的重点放在更有效的处理和格式化输出。


该模块还支持时区处理:



dates are easily constructed and formatted

from datetime import date
now = date.today()
now
datetime.date(2003, 12, 2)
now.strftime(“%m-%d-%y. %d %b %Y is a %A on the %d day of %B.”)
‘12-02-03. 02 Dec 2003 is a Tuesday on the 02 day of December.’


时间的三种存在方式:时间对象,时间字符串,时间戳。


(1)字符串转datetime:



string = ‘2014-01-08 11:59:58’
time1 = datetime.datetime.strptime(string,‘%Y-%m-%d %H:%M:%S’)
print time1
2014-01-08 11:59:58


(2)datetime转字符串:



time1_str = datetime.datetime.strftime(time1,‘%Y-%m-%d %H:%M:%S’)
time1_str
‘2014-01-08 11:59:58’


(3)时间戳转时间对象:



time1 = time.localtime()
time1_str = datetime.datetime.fromtimestamp(time1)




---


### 8、数据压缩


以下模块直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 tarfile。



import zlib
s = b’witch which has which witches wrist watch’
len(s)
41
t = zlib.compress(s)
len(t)
37
zlib.decompress(t)
b’witch which has which witches wrist watch’
zlib.crc32(s)
226805979




![img](https://img-blog.csdnimg.cn/img_convert/f77a57456f644d5cf543b070f7dd53cd.png)
![img](https://img-blog.csdnimg.cn/img_convert/20c2d50ca429089e86ec7d3f9a45451f.png)
![img](https://img-blog.csdnimg.cn/img_convert/cf0536cfb00cedd9f29276dd5f43ac13.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

tVjB-1714220938829)]
[外链图片转存中...(img-Wfkps4sd-1714220938829)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值