先說一下什么是python標准庫?
- python標准庫是隨着python安裝時自帶的庫,常用的一些模塊。
操作系統接口
- os模塊提供的
```python
import os
os.getcwd() #返回當前工作的目錄
E:\OldboyClass\code\study_code\day41databaseos.system("cmd") #執行的是命令行
會執行括號中的命令,如果命令成功執行,這條語句返回0,否則返回1
```
- 建議使用 "import os" 風格而非 "from os import *"。這樣可以保證隨操作系統不同而有所變化的 os.open() 不會覆蓋內置函數 open()。
- 在使用os這種大型模塊時,可以使用python內置函數查看模塊的具體信息。dir()和help()函數。
```python
import os
dir(os)
dir() 函數不帶參數時,返回當前范圍內的變量、方法和定義的類型列表;帶參數時,返回參數的屬性、方法列表。如果參數包含方法__dir__(),該方法將被調用。如果參數不包含__dir__(),該方法將最大限度地收集參數信息。
help(os)
用於查看函數或模塊用途的詳細說明。
```
文件通配符
glob模塊提供了一個函數,用於從目錄通配符搜索生成文件列表
```python
import glob
glob.glob("*.txt") #傳入文件路徑,匹配出文件夾下所有.txt文件
```
命令行參數
- 通用工具腳本經常調用命令行參數。這些命令行參數以鏈表形式存儲於 sys 模塊的 argv 變量。例如在命令行中執行 "python demo.py one two three" 后可以得到以下輸出結果:
```python
在demo.py文件中輸入以下代碼
import sys
print(sys.argv)
命令行中輸入python demo.py one two three
結果
['demo.py', 'one', 'two', 'three']
```
字符串正則匹配
- `re`模塊
```python
import re
re.findall(r'\bf[a-z]*', 'which foot or hand fell fastest')
['foot', 'fell', 'fastest']
```
數學
- math模塊
```python
import math
math.cos(math.pi / 4)
0.70710678118654757math.log(1024, 2)
10.0
```
```python
python中math模塊常用的方法整理
ceil:取大於等於x的最小的整數值,如果x是一個整數,則返回x
copysign:把y的正負號加到x前面,可以使用0
cos:求x的余弦,x必須是弧度
degrees:把x從弧度轉換成角度
e:表示一個常量
exp:返回math.e,也就是2.71828的x次方
expm1:返回math.e的x(其值為2.71828)次方的值減1
fabs:返回x的絕對值
factorial:取x的階乘的值
floor:取小於等於x的最大的整數值,如果x是一個整數,則返回自身
fmod:得到x/y的余數,其值是一個浮點數
frexp:返回一個元組(m,e),其計算方式為:x分別除0.5和1,得到一個值的范圍
fsum:對迭代器里的每個元素進行求和操作
gcd:返回x和y的最大公約數
hypot:如果x是不是無窮大的數字,則返回True,否則返回False
isfinite:如果x是正無窮大或負無窮大,則返回True,否則返回False
isinf:如果x是正無窮大或負無窮大,則返回True,否則返回False
isnan:如果x不是數字True,否則返回False
ldexp:返回x*(2i)的值
log:返回x的自然對數,默認以e為基數,base參數給定時,將x的對數返回給定的base,計算式為:log(x)/log(base)
log10:返回x的以10為底的對數
log1p:返回x+1的自然對數(基數為e)的值
log2:返回x的基2對數
modf:返回由x的小數部分和整數部分組成的元組
pi:數字常量,圓周率
pow:返回x的y次方,即xy
radians:把角度x轉換成弧度
sin:求x(x為弧度)的正弦值
sqrt:求x的平方根
tan:返回x(x為弧度)的正切值
trunc:返回x的整數部分
- random模塊
python
import random
random.choice(['apple', 'pear', 'banana']) # 隨機選擇一個
'apple'random.sample(range(100), 10) # 0-99隨機十個數
[30, 83, 16, 4, 8, 81, 41, 50, 18, 33]random.random() # random float
0.17970987693706186random.randrange(6) # random integer chosen from range(6)
4
```
時間和日期
- time模塊
- datetime模塊
```python
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.'dates support calendar arithmetic
birthday = date(1964, 7, 31)
age = now - birthday
age.days
14368
```