- 個(gè)人原文博客地址: Python中常用的模塊
- 上一篇文章中記錄了Python中模塊的使用, 這里就是記錄一些常用的模塊
- 最近學(xué)習(xí)中發(fā)現(xiàn), 之前接觸的模塊好多卻都忘記了怎么使用
- 這里就簡(jiǎn)單總結(jié)一下
os
,random
等模塊的使用吧
os
模塊
os
模塊簡(jiǎn)單的來(lái)說(shuō)它是一個(gè)Python
的系統(tǒng)編程的操作模塊阁苞,可以處理文件和目錄, 這些我們?nèi)粘J謩?dòng)需要做的操作
環(huán)境變量
# 1. 獲取操作系統(tǒng)的類型
print(os.name)
# 輸出: posix
'''操作系統(tǒng)的類型
nt -> windows
posix -> Linux/Unix
OS -> Mac(內(nèi)核是Linux)
'''
# 2. 輸出操作系統(tǒng)詳細(xì)的信息
print(os.uname())
# 輸出:
# posix.uname_result(sysname='Darwin', nodename='xxx.local', release='17.5.0', version='Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64', machine='x86_64')
# 3. 獲取操作系統(tǒng)中的環(huán)境變量(輸出一個(gè)字典)
print(os.environ)
# 4. 獲取指定的環(huán)境變量
# 參數(shù)為上述操作系統(tǒng)環(huán)境變量中字典的某一個(gè)鍵值對(duì)的鍵值
os.environ.get('PYTHONPATH')
# 5. 獲取當(dāng)前工作目錄, 即當(dāng)前python腳本所在的目錄
print(os.getcwd())
# 6. 返回指定目錄下的所有的文件, 返回一個(gè)列表
print(os.listdir(path))
# 7. 在制定目錄下增刪目錄
# 在當(dāng)前目錄下創(chuàng)建文件
# 在制定的路徑下創(chuàng)建
os.mkdir(r'/Users/xxx/titan')
# 默認(rèn)在當(dāng)前目錄下
os.mkdir('jun')
# 刪除目錄
os.rmdir('jun')
os.rmdir('r'/Users/xxx/titan'')
# 8. 獲取文件屬性
print('文件屬性:', os.stat('titan'))
'''輸出:
文件屬性: os.stat_result(st_mode=16877, st_ino=10797606, st_dev=16777224, st_nlink=2, st_uid=501, st_gid=20, st_size=68, st_atime=1527059854, st_mtime=1527058920, st_ctime=1527058920)
'''
# 9. 重命名
# os.rename('jun', 'titan')
# 10. 刪除普通文件
# os.remove(path)
os模塊中的常用值
#curdir 表示當(dāng)前文件夾 .表示當(dāng)前文件夾 一般情況下可以省略
print(os.curdir)
#pardir 表示上一層文件夾 ..表示上一層文件夾 不可省略!
print(os.pardir)
#os.mkdir('../../../man')#相對(duì)路徑 從當(dāng)前目錄開(kāi)始查找
#os.mkdir('/home/sy/man1')#絕對(duì)路徑 從根目錄開(kāi)始查找
#name 獲取代表操作系統(tǒng)的名稱字符串
print(os.name) #posix -> linux或者unix系統(tǒng) nt -> window系統(tǒng)
#sep 獲取系統(tǒng)路徑間隔符號(hào) window ->\ linux ->/
print(os.sep)
#extsep 獲取文件名稱和后綴之間的間隔符號(hào) window & linux -> .
print(os.extsep)
#linesep 獲取操作系統(tǒng)的換行符號(hào) window -> \r\n linux/unix -> \n
print(repr(os.linesep))
處理文件路徑
# 1. 拼接路徑
p1 = '/xxx/GitHub/PythonDemo/PythonStudy'
p2 = '6-os模塊/jun.txt'
print(os.path.join(p1, p2))
# 輸出: /xxx/GitHub/PythonDemo/PythonStudy/6-os模塊/jun.txt
# 2. # 拆分路徑
path2 = r'/xxx/GitHub/PythonDemo/PythonStudy/6-os模塊/jun.txt'
print('拆分路徑:', os.path.split(path2))
# 輸出一個(gè)元組: ('/xxx/GitHub/PythonDemo/PythonStudy/6-os模塊', 'jun.txt')
# 3. 獲取擴(kuò)展名, 返回一個(gè)元組
os.path.splitext(path2)
# 輸出: ('/xxx/GitHub/PythonDemo/PythonStudy/6-os模塊/jun', '.txt')
# 4. 是否是目錄
print('是否是目錄:', os.path.isdir(path2))
# 是否是目錄: False
# 5. 判斷文件是否存在
print('文件是否存在:', os.path.isfile(path2))
# 文件是否存在: False
# 6. 判斷目錄是否存在
path3 = r'/Users/quanjunt/Documents/Quanjun/GitHub/PythonDemo/PythonStudy/6-os模塊'
print('判斷目錄是否存在:', os.path.exists(path3))
# 輸出: False
# 7. 獲取文件大小(字節(jié))
print('文件大小:', os.path.getsize(path3))
# 文件大小: 170
# 8. 獲取文件名
print('文件名:', os.path.basename(path2))
# 輸出: jun.txt
# 9. 獲取文件路徑中的目錄部分
print('文件目錄:', os.path.dirname(path2))
# 輸出: /xxx/GitHub/PythonDemo/PythonStudy/6-os模塊
random
模塊
random
是python
產(chǎn)生偽隨機(jī)數(shù)的模塊攘滩,隨機(jī)種子默認(rèn)為系統(tǒng)時(shí)鐘
基本用法
# 首先要先導(dǎo)入模塊
import random
# 1.從序列的元素中隨機(jī)挑選一個(gè)元素
random.choice((1, 3, 5, 2))
random.choice("titanjun")
# 2. 從指定范圍內(nèi),按指定基數(shù)遞增的集合中獲取一個(gè)隨機(jī)數(shù)
print(random.randrange(10, 100, 3))
# 3. 隨機(jī)生成的一個(gè)實(shí)數(shù)纳账,它在[0,1)范圍內(nèi)
random.random()
# 隨機(jī)生成指定范圍[a,b]的整數(shù)
print(random.randint(1, 6))
# 隨機(jī)生成指定范圍[a,b)的整數(shù)
print(random.randrange(2, 8))
# 隨機(jī)生成指定范圍[a,b)的指定步長(zhǎng)的數(shù)
print(random.randrange(1, 10, 3))
# 隨機(jī)生成指定序列中的指定個(gè)數(shù)的元素(返回列表)
print(random.sample('titanjun', 4))
# 將序列的所有元素隨機(jī)排序
list1 = [1, 2, 3, 4]
random.shuffle(list1)
print(list1)
# 隨機(jī)生成一個(gè)在該范圍內(nèi)的實(shí)數(shù)
print(random.uniform(2, 5))
隨機(jī)生成6位驗(yàn)證碼
checkCode = ''
for i in range(6):
temp = random.randint(0, 9)
checkCode += str(temp)
print("6位隨機(jī)驗(yàn)證碼:", checkCode)