Python常用標準庫使用(一)

自學python一段時間,之前總是學習基本語法,對Python標準庫沒怎么接觸,所以計劃從常用的標準庫開始,大體了解一遍,下面是學習過程中的筆記。

一、OS模塊

主要對目錄、或者文件操作。常用方法如下:

os.listdir(path) ,path 要獲得內容目錄的路徑,列表形式列出目錄 下所有目錄和文件 名
os.mkdir(path) ,path 要創(chuàng)建目錄的路徑
os.rmdir(path) ,path 要刪除的目錄的路徑(os.rmdir(path) ,path 要刪除的目錄的路徑)
os.name 返回操作系統(tǒng)類型 返回值是"posix"代表 linux,"nt"代 表 windows
os.getcwd() 獲取當前路徑
os.makedirs(path [, mode=0777]) 遞歸創(chuàng)建目錄
os.remove(path) 移除文件
os.rename(old, new) 重命名文件或目錄
os.system(command) 執(zhí)行 shell 命令, 不能存儲結果

os.path 類用于獲取文件屬性
os.path.basename(path) 返回最后一個文件 或目錄名
os.path.dirname(path) 返回最后一個文件 前面目錄
os.path.abspath(path) 返回一個絕對路徑
os.path.isdir(path) 判斷是否是目錄
os.path.isfile(path) 判斷是否是文件

栗子1:
獲得目錄中的內容,創(chuàng)建目錄,刪除目錄

#!/usr/bin/python
# -*-coding:utf-8-*-

import os

# 如何獲得目錄中的內容
path = 'D:\workspace\pyTest'
def getdirlist():
    a = os.listdir(path)
    print a
    print len(a)
getdirlist()

b = os.listdir(os.getcwd())
print os.getcwd()
print b
print len(b)

# 創(chuàng)建目錄
os.mkdir(path  + "\\temp")
getdirlist()

# 刪除目錄
os.rmdir(path + "\\temp")
getdirlist()

運行結果:

image.png

栗子2:

import os
print os.name

# 獲取當前路徑
os.getcwd()

path = 'D:\workspace\pyTest'
os.mkdir(path + "\\test")

# 遞歸創(chuàng)建目錄
os.makedirs(path + "\\test0\\test1\\test2")

# 移除文件
os.remove(path + "\\123.txt")

# 重命名文件或目錄
os.rename(path + "\\123.txt", path + "\\1234.txt")

# 執(zhí)行 shell 命令, 不能存儲結果
command = ''
os.system(command)

# os.path 類用于獲取文件屬性
# 返回最后一個文件 或目錄名
print os.path.basename(path)   # pyTest
# 判斷是否是目錄
print os.path.isdir(path)  # True
# 判斷是否是文件  
print os.path.isfile(path) # False

二、sys模塊

python sys模塊包含了與python解釋器和它的環(huán)境有關的函數(shù),這個你可以通過dir(sys)來查看他里面的方法和成員屬性
import sys
print dir(sys)
result:
復制代碼代碼如下:

['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type_cache', '_current_frames', '_getframe', '_mercurial', 'api_version', 'argv', 'builtin_module_names', 'byteorder', 'call_tracing', 'callstats', 'copyright', 'displayhook', 'dllhandle', 'dont_write_bytecode', 'exc_clear', 'exc_info', 'exc_type', 'excepthook', 'exec_prefix', 'executable', 'exit', 'flags', 'float_info', 'float_repr_style', 'getcheckinterval', 'getdefaultencoding', 'getfilesystemencoding', 'getprofile', 'getrecursionlimit', 'getrefcount', 'getsizeof', 'gettrace', 'getwindowsversion', 'hexversion', 'long_info', 'maxint', 'maxsize', 'maxunicode', 'meta_path', 'modules', 'path', 'path_hooks', 'path_importer_cache', 'platform', 'prefix', 'py3kwarning', 'setcheckinterval', 'setprofile', 'setrecursionlimit', 'settrace', 'stderr', 'stdin', 'stdout', 'subversion', 'version', 'version_info', 'warnoptions', 'winver']

sys.argv命令行參數(shù)

#!/usr/bin/python
# -*-coding:utf-8-*-

import sys

print sys.argv[0]
print sys.argv[1]
print sys.argv[2]
print sys.argv[3]

print sys.argv    # argv 既然是一個列表,那么可以通過 len()函數(shù)獲取這個列表的長度從而知道輸入的參數(shù)數(shù)量
print len(sys.argv)
print len(sys.argv[1:])

運行結果:

注意:sys.argv是一個列表,列表sys.argv[0]是文件名,平時統(tǒng)計參數(shù)個數(shù)時,記得-1,len(sys.argv[1:])。

image.png

sys.path模塊搜索路徑

sys.path
輸出的是一個列表,里面包含了當前 Python 解釋器所能找到的模塊目錄。
如果想指定自己的模塊目錄,可以直接追加 sys.path.append(path)

sys.platform系統(tǒng)平臺標識符

sys.platform
系統(tǒng) 平臺標識符:
Linux linux
Windows win32
Windows/Cygwin cygwin
Mac OS X darwin

sys.subversion解釋器版本

sys.subversion
Python 解釋器有幾種版本實現(xiàn),而默認解釋器是 CPython:
('CPython', '', '')

sys.version查看python版本

sys.version

sys.exit()退出解釋

代碼執(zhí)行過程中,到 sys.exit()就會終止程序

三、math 數(shù)字處理

import math

# 返回圓周率
print math.pi
# 返回X浮動的上限
print math.ceil(5.2)
# 返回X浮動的下限
print math.floor(5.2)
# 將數(shù)字截尾取整
print math.trunc(5.2)
# 返回X的絕對值
print math.fabs(-5.2)
# 返回 x%y(取余)
print math.fmod(5, 2)
# 返回 x 小數(shù)和整數(shù)
print math.modf(5.2)
# 返回 x 的階乘
print math.factorial(5)
# 返回X的y次方
print math.pow(2, 3)
print 2 ** 3
# 返回X的平方根
print math.sqrt(5)

運行結果:

image.png

四、random生成隨機數(shù)

import random

# 用于生成一個指定范圍內的整數(shù)。其中參數(shù)a是下限,參數(shù)b是上限,生成的隨機數(shù)n: a <= n <= b
print random.randint(1, 10)

# 用于生成一個0到1的隨機符點數(shù): 0 <= n < 1.0
print random.random()

# 返回整數(shù)范圍的隨機數(shù),并且可設置step
print random.randrange(1, 10, 3)

# random.sample(sequence, k),從指定序列中隨機獲取指定長度的片斷。sample函數(shù)不會修改原有序列
print random.sample([1, 2, 3, 4, 5], 3)

五、json

JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據交換格式,一般API返回的數(shù)據大多數(shù)是JOSN、XML,如返回的是JSON,將JSON數(shù)據轉換成字典,方便在程序中處理。
JSON庫常用的有兩種方法:dumps()和loads()
dumps是將dict轉化成str格式
loads是將str轉化成dict格式。

import json

a = {'name': 'wang', 'age': '20'}
print type(a)

b = json.dumps(a)
print b, type(b)

c = json.loads(b)
print c, type(c)

運行結果:

<type 'dict'>
{"age": "20", "name": "wang"} <type 'str'>
{u'age': u'20', u'name': u'wang'} <type 'dict'>
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • Day05的課程要點記錄詳細教程地址:Day5 - 常用模塊學習 | 第四篇:模塊 一、模塊介紹 1.1 定義 模...
    乘風逐月閱讀 508評論 0 1
  • 參考:http://blog.csdn.net/wuce_bai/article/details/50827393...
    Babyzpj閱讀 948評論 0 0
  • 1、自定義模塊 2、內置模塊 3、開源模塊 os 用于提供系統(tǒng)級別的操作 os.getcwd() 獲取當前工作目錄...
    交易狗二哈閱讀 246評論 0 1
  • # Python 資源大全中文版 我想很多程序員應該記得 GitHub 上有一個 Awesome - XXX 系列...
    aimaile閱讀 26,836評論 6 427
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139

友情鏈接更多精彩內容