python標准庫


先說一下什么是python標准庫?

  • python標准庫是隨着python安裝時自帶的庫,常用的一些模塊。

操作系統接口

- os模塊提供的
```python

import os
os.getcwd() #返回當前工作的目錄
E:\OldboyClass\code\study_code\day41database

os.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.70710678118654757

math.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次方,即x
y
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.17970987693706186

random.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

```


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM