• 24 - 內置模塊

      返回主頁

      📄目錄

      24 - 內置模塊📄目錄1 os模塊1.1 os.name 返回操作系統類型1.2 os.getenv 環境變量名稱1.3 os.path.split() 把目錄名和文件名分離1.3.1 os.path.dirname()1.3.2 os.path.basename()1.4 os.path.exists() 判斷路徑(文件/目錄)是否存在1.5 os.path.isfile() 判斷是否存在文件1.6 os.path.isdir() 判斷目錄是否存在1.7 os.path.abspath() 獲取當前路徑下的絕對路徑1.8 os.path.isabs() 判斷是否絕對路徑2 sys模塊2.1 sys.getdefaultencoding() 獲取系統默認編碼格式2.2 sys.path 獲取環境變量的路徑,跟解釋器相關2.3 sys.platform 獲取操作系統平台2.4 sys.version 獲取python解釋器的版本信息3 time模塊3.1 time.sleep() 延時操作,以秒為單位3.2 time.time() 獲取到當前的時間戳3.3 time.localtime() 將一個時間戳轉換為當前時區的struct_time3.4 time.asctime() 獲取系統當前時間3.5 time.ctime() 獲取系統當前時間/把時間戳轉換成固定的字符串表達式3.6 time.strftime(格式化字符串, struct_time) 將struct_time轉換為時間字符串3.7 time.strptime(時間字符串,格式化字符串) 將時間字符串轉換成struct_time4 logging模塊4.1 logging中的等級/級別排序4.2 logging.basicConfig() 配置root_logger的參數4.2.1 filename 指定日誌文件的文件名4.2.2 filemode 文件的打開方式4.2.3 level 指定日誌顯示級別,默認是警告信息warning4.2.4 format 指定日誌信息的輸出格式5 random:隨機模塊5.1 random.random() 產生大於0且小於1之間的小數5.2 random.uniform() 產生指定範圍的隨機小數5.3 random.randint() 產生指定範圍內的隨機整數(含首尾)5.4 random.randrange(start, stop, [step])導航連結:

      1 os模塊

      💡 作用:用於和操作系統進行交互

      通用操作:

      1. 獲取平台信息

      2. 對目錄的操作

      3. 判斷操作

      導入os模塊

      1.1 os.name 返回操作系統類型

      功能:指示正在使用的工作平台(返回操作系統類型)

      python-logo

      輸出結果:

      1.2 os.getenv 環境變量名稱

      功能:讀取環境變量

      python-logo

      1.3 os.path.split() 把目錄名和文件名分離

      功能:把目錄名和文件名分離,以元組的形式接收,第一個元素是目錄路徑,第二個元素是文件名

      python-logo

      輸出結果:

      1.3.1 os.path.dirname()

      功能:顯示split分割的第一個元素,即目錄

      python-logo

      輸出結果:

      1.3.2 os.path.basename()

      功能:顯示split分割的第二個元素,即文件名

      python-logo

      輸出結果:

      ⚠️ 如果路徑以/結尾,那麼返回空值;如果以\結尾,則報錯。

      1.4 os.path.exists() 判斷路徑(文件/目錄)是否存在

      python-logo

      輸出結果:

      1.5 os.path.isfile() 判斷是否存在文件

      ❗ 找目錄會返回False,而且只能使用絕對路徑

      python-logo

      輸出結果:

      1.6 os.path.isdir() 判斷目錄是否存在

      ❗ 找文件會返回False,而且只能使用絕對路徑

      python-logo

      輸出結果:

      1.7 os.path.abspath() 獲取當前路徑下的絕對路徑

      python-logo

      輸出結果:

      1.8 os.path.isabs() 判斷是否絕對路徑

      已在1.7展示

      2 sys模塊

      💡 作用:負責程序跟python解釋器的交互

      導入sys模塊

      2.1 sys.getdefaultencoding() 獲取系統默認編碼格式

      python-logo

      輸出結果:

      2.2 sys.path 獲取環境變量的路徑,跟解釋器相關

      python-logo

      輸出結果:

      第一項為當前所在的工作目錄

      可以用以下形式獲取特定資訊,如:print(sys.path[0])

      2.3 sys.platform 獲取操作系統平台

      python-logo

      輸出結果:

      2.4 sys.version 獲取python解釋器的版本信息

      python-logo

      輸出結果:

      3 time模塊

      👉🏻 時間顯示格式的調用或轉換方式

      time_module

      導入time模塊

      💡 三種時間表示:

      1. 時間戳(timestamp)

      2. 格式化的時間字符串(format time)

      3. 時間元組(struct_time)

      3.1 time.sleep() 延時操作,以秒為單位

      python-logo

      輸出結果:

      3.2 time.time() 獲取到當前的時間戳

      💡 以秒計算,從1970年1月1日 00:00:00開始計算

      python-logo

      輸出結果:

      3.3 time.localtime() 將一個時間戳轉換為當前時區的struct_time

      python-logo

      輸出結果:

      3.4 time.asctime() 獲取系統當前時間

      python-logo

      輸出結果:

      3.5 time.ctime() 獲取系統當前時間/把時間戳轉換成固定的字符串表達式

      python-logo

      輸出結果:

      3.6 time.strftime(格式化字符串, struct_time) 將struct_time轉換為時間字符串

      格式符號含義
      %a星期簡寫(Mon,Sun)
      %A星期全稱(Monday,Sunday)
      %b月份簡寫(Jun,Aug)
      %B月份全稱(June,August)
      %c日期時間的字符串表示
      %d一個月的第幾天(0-31)
      %H時,24小時制
      %I時,12小時制
      %j一年中的第幾天(001-366)
      %m月份(01-12)
      %M分鐘(00-59)
      %p本地am或者pm的相應符
      %S秒(00-59)
      %U一年中的星期數(00-53);第一個星期天之前為第0周
      %w一周中的第幾天(0-6,0為星期天)
      %W與%U相同,但以星期一為周首
      %x本地相應日期字符串(DD/MM/YY)
      %X本地相應日期字符串(HH:MM:SS)
      %y去掉前兩位的年份(00-99)
      %Y完整年份(XXXX)
      %z與UTC時間的間隔(如果是本地時間,返回空字符)
      %Z時區名(如果是本地時間,返回空字符)
      %%%字符

      python-logo

      輸出結果:

      3.7 time.strptime(時間字符串,格式化字符串) 將時間字符串轉換成struct_time

      python-logo

      輸出結果:

      4 logging模塊

      導入logging模塊

      💡 作用:用於記錄日誌信息

      💡 日誌的作用:

      1. 程序調試

      2. 了解軟件程序運行情況是否正常

      3. 軟件程序運行故障分析與問題定位

      4.1 logging中的等級/級別排序

      Levelvauledescribe
      NOTEST0不設定級別,按照父logger的級別顯示日誌。如果是root logger,那麼就會顯示所有的日誌
      DEBUG10程序的詳細調試信息,調試代碼會用到
      INFO20普通信息,確定程序是否按照正常的運行
      WARNING30程序發出警告,表示發生意想不到的事情或者指示接下來可能會出現一些問題,但是還能正常運行
      ERROR40程序發生錯誤,某些功能無法運行
      CRITICAL(FATAL)50程序出現致命錯誤,無法運行

      💡 CRITICAL(FATAL) > ERROR > WARNING > INFO > DEBUG > NOTEST

      python-logo

      輸出結果:

      ❗ logging默認的level就是warning,logging只會顯示級別大於等於warning的日誌信息

      4.2 logging.basicConfig() 配置root_logger的參數

      4.2.1 filename 指定日誌文件的文件名

      所有會顯示的日誌都會存在到這個文件中去

      python-logo

      輸出結果(在log.log文件中):

      4.2.2 filemode 文件的打開方式

      python-logo

      4.2.3 level 指定日誌顯示級別,默認是警告信息warning

      python-logo

      輸出結果(在log.log文件中):

      4.2.4 format 指定日誌信息的輸出格式

      格式描述
      %(levelno)s打印日誌級別的數值
      %(levelname)s打印日誌級別名稱
      %(pathname)s打印當前執行程序的路徑
      %(filename)s打印當前執行程序名稱
      %(funcName)s打印日誌的當前函數
      %(lineno)d打印日誌的當前行號
      %(asctime)s打印日誌的時間
      %(thread)d打印線程ID
      %(threadName)s打印線程名稱
      %(process)d打印進程ID
      %(message)s打印日誌信息
      %(name)s打印logger的名字
      %(module)s調用日誌輸出函數的模塊名
      %(created)fLogRecord的創建時間,也就是當前時間,time.time()
      %(msecs)dLogRecord的創建時間的毫秒部分
      %(relativeCreated)d輸出日誌信息的,自logger創建以來的毫秒數

      python-logo

      輸出結果(在log.log文件中):

      5 random:隨機模塊

      💡 作用:用於實現各種分布的偽隨機數生成器,可以根據不同的實數分布來隨機生成值

      5.1 random.random() 產生大於0且小於1之間的小數

      python-logo

      輸出結果:

      5.2 random.uniform() 產生指定範圍的隨機小數

      python-logo

      輸出結果:

      5.3 random.randint() 產生指定範圍內的隨機整數(含首尾)

      python-logo

      輸出結果:

      5.4 random.randrange(start, stop, [step])

      1. 產生start,stop範圍內的整數,包含開頭但不包含結尾

      2. step:指定產生隨機的步長,隨機選擇一個數據

      python-logo

      輸出結果:

      導航連結:

      目的地超連結
      首頁返回主頁
      Python學習Python學習
      上一篇23 - 正則進階
      下一篇25 - Linux基本命令