python入門(九)常用模塊
阿新 • • 發佈:2018-04-26
模塊python的常用模塊很多
比如日誌模塊logging
調用日誌模塊
返回文件名與擴展名
....
比如日誌模塊logging
調用日誌模塊
import logging
級別高低順序: DEBUG < INFO < WARNING < ERROR < CRITICAL
默認從warning以後包含warning開始打印
如果想打印全面,可以調整默認的模版
import logging
logging.basicConfig(level=logging.DEBUG)
可以隨意定義
也可以自己定義打印的級別,比如輸出某個字符串,我定義這個輸出為WARNING級別
logger = logging.getLogger(__name__) logger.error("這是錯誤") logger.info("這是輸出信息")
默認的模版包含基本的level和信息
也可以使用以下的信息
%(name)s Logger的名字 %(levelno)s 數字形式的日誌級別 %(levelname)s 文本形式的日誌級別 %(pathname)s 調用日誌輸出函數的模塊的完整路徑名,可能沒有 %(filename)s 調用日誌輸出函數的模塊的文件名 %(module)s 調用日誌輸出函數的模塊名| %(funcName)s 調用日誌輸出函數的函數名| %(lineno)d 調用日誌輸出函數的語句所在的代碼行 %(created)f 當前時間,用UNIX標準的表示時間的浮點數表示| %(relativeCreated)d 輸出日誌信息時的,自Logger創建以來的毫秒數| %(asctime)s 字符串形式的當前時間。默認格式是“2003-07-08 16:49:45,896”。逗號後面的是毫秒 %(thread)d 線程ID。可能沒有 %(threadName)s 線程名。可能沒有 %(process)d 進程ID。可能沒有 %(message)s 用戶輸出的消息
os模塊
因為python是跨平臺的代碼,所以我們想讓我們的程序跟平臺無關,那麽這個模塊就很重要
常用函數
os.name
輸出當前平臺,window 用‘nt‘表示,對於Linux/Unix用戶,用posix表示
os.getcwd()
當前的工作目錄
os.listdir()
返回指定目錄下的文件和目錄
os.system()
運行系統命令
os.linesep
字符串給出當前平臺使用的行終止符
os.sep
返回操作系統的路徑分割符。
os.chdir(path)
切換目錄
os.path.isfile()和os.path.isdir()函數分別檢驗給出的路徑是一個文件還是目錄。
os.path.splitext()
....
sys模塊
sys模塊提供了一系列有關Python運行環境的變量和函數。
sys.argv:
從程序外部向程序傳遞參數。
sys.argv[0] 當前程序名
sys.argv[1] 第一個參數
sys.argv[2] 第二個參數
sys.platform
返回當前平臺
stdout
標準輸出
stderr
錯誤輸出
可以調用write打印給定的字符串,類似print
f = open("1.log", "w")
sys.stdout = f
print("hello world")
在1.log文件中寫入hello world
random模塊
隨機模塊
print(random.random()) #隨機產生[0,1)之間的浮點值
print(random.randint(a,b)) #隨機生成指定範圍[a,b]的整數
print(random.randrange(a,b)) #隨機生成指定範圍[a,b)的整數
print(random.randrange(0,100,2)) #隨機生成指定範圍[a,b)的指定步長的數(2--偶數)
print(random.choice("hello")) #隨機生成指定字符串中的元素
print(random.choice([1,2,3,4,5])) #隨機生成指定列表中的元素
print(random.choice(("abc","123","hello"))) #隨機生成指定元組中的元素
print(random.sample("hello",0)) #隨機生成指定序列中的指定個數的元素
print(random.uniform(1,100)) #隨機生成指定區間的浮點數
python入門(九)常用模塊