1. 程式人生 > 其它 >今日學習內容總結2.1

今日學習內容總結2.1

今日學習內容總結

os模組

      os模組提供了多數作業系統的功能介面函式。當os模組被匯入後,它會自適應於不同的作業系統平臺,根據不同的平臺進行相應的操作,在python程式設計時,經常和檔案、目錄打交道,這時就離不了os模組。

os模組常用指令

      1.建立目錄

  import os

  os.mkdir(r'a')  # 使用相對路徑 在當前執行檔案所在的路徑下建立一個aaa資料夾
  os.mkdir(r'b/c')  # mkdir只能建立單級目錄
  os.makedirs(r'c')  # makedirs可以建立單級目錄
  os.makedirs(r'b/c/d')  # makedirs支援建立多級目錄

      2.刪除目錄

  import os

  os.rmdir(r'a')  # 可以刪除單級目錄
  os.rmdir(r'b')  # 只能刪空的單級目錄
  os.removedirs(r'c')  # 可以刪除單級目錄
  os.removedirs(r'C:\Users\Administrator\Desktop\Typora\day15\day15\b\c\d')  # 刪除目錄之後如果外層的目錄也是空的則繼續刪除

      3.檢視檔名稱

  import os

  print(os.listdir())  # 檢視當前路徑下的檔名
  print(os.listdir(r''))  # 檢視指定路徑下所有的檔案和目錄名

      4.刪除,重新命名檔案

  import os

  os.remove(r'a.txt')  # 刪除指定檔案
  os.rename(r'a.txt', r'b.txt')  # 重新命名指定檔案

      5.獲取路徑,切換路徑

  import os

  print(os.getcwd())  # 獲取當前目錄所在路徑
  os.chdir(r'/xiazai')  # 切換到指定路徑
  print(os.getcwd())  # 列印當前所在路徑

      6.軟體開發目錄規範,啟動指令碼相容性操作

  import os

  os.path.dirname(__file__)  # 動態獲取當前執行檔案所在的絕對路徑
  print(os.path.dirname(__file__))  # D:\PycharmProjects\test
  os.path.dirname(os.path.dirname(__file__))  # 每巢狀一層就是往上切換一層
  print(os.path.abspath(__file__))  # 動態獲取當前執行檔案自身的路徑 D:\PycharmProjects\test\test1.py

      7.判斷檔案是否存在

  import os

  print(os.path.exists(r'test1.py'))  # True  判斷所給的路徑是否存在
  print(os.path.exists(r'xiazai'))  # False
  print(os.path.isdir(r'D:\PycharmProjects\test'))  # True  判斷路徑是否是一個資料夾
  print(os.path.isdir(r'main.py'))  # False  判斷路徑是否是一個資料夾
  print(os.path.isfile(r'test.py'))  # False  判斷路徑是否是一個檔案
  print(os.path.isfile(r'test1.py'))  # True  判斷路徑是否是一個檔案

      8.路徑拼接

  import os

  a = 'test3'
  b = 'work'

  print(a + '/' + b)  # test3/work  路徑分隔符在不同的系統下是不一樣的  使用加號的話相容性極差
  res = os.path.join(a, b)  # 能夠自動識別當前作業系統的分隔符
  print(res)  # test3\work

      9.獲取檔案大小

  import os

  print(os.path.getsize(r'main.py'))  # 544bytes
  print(os.path.getsize(r'a.txt'))  # 21bytes

sys模組

      sys模組提供對直譯器使用或維護的一些變數的訪問,以及與直譯器強烈互動的函式。它始終可用。sys模組包括了一組非常實用的服務,內含很多函式方法和變數,用來處理Python執行時配置以及資源,從而可以與前當程式之外的系統環境互動,如:python直譯器。

      常用方法:

  
  import sys
  # 列舉當前執行檔案所在的sys
  print(sys.path)

  # 獲取直譯器版本資訊
  print(sys.version)

  # 獲取平臺資訊
  print(sys.platform)  # win32

  # 自定義命令列操作
  print(sys.argv)  # ['D:/PycharmProjects/test/test1.py']
  

      cmd終端可以使用windows+r並輸入cmd喚起,也可以在pycharm直接使用快捷方式Terminal,模擬cmd並自動切換到當前執行檔案所在的路徑下。

json模組

      json是一種輕量級的資料交換格式,主要用於跨語言傳輸資料。同時也易於機器解析和生成。也就是說,Json是用來進行語言之間的資料交換的,它可以在任意語言之間進行。Pyhton中的json源自於JavaScript。

      jason格式資料本質屬於字串型別。

      雙引號是json格式資料獨有的標誌符號:

  import json
  
  a = {'username':'jason','pwd':666}
  print(a, type(a))  # {'username': 'jason', 'pwd': 666} <class 'dict'>
  res = json.dumps(a)
  print(res, type(res))  # {"username": "jason", "pwd": 666} <class 'str'>
  print(str(a),type(str(a)))  # {'username': 'jason', 'pwd': 666} <class 'str'>
  # 不難看出,將a轉換成json資料結構後,內容為字串,並且是雙引號的形式。

      簡單資料型別處理。

      json模組可以直接處理簡單資料型別。json.dumps()方法返回一個str物件,編碼過程中會存在從python原始型別向json型別的轉化過程,具體的轉化對照如下:

python jsom
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null

      json.dumps()是把python物件轉換成json物件的一個過程,生成的是字串。而json.loads()就是將json格式字串轉換成對應的資料型別:

  import json

  a = {'username': 'jason', 'pwd': 666}
  res = json.dumps(a)
  e_str = res.encode('utf8')

  j_str = e_str.decode('utf8')
  print(j_str, type(j_str))  # {"username": "jason", "pwd": 666} <class 'str'>

  res1 = json.loads(j_str)
  print(res1, type(res1))  # {'username': 'jason', 'pwd': 666} <class 'dict'>

pickle模組

      因為它不支援跨語言傳輸 只能識別python程式碼

subprocess模組

      這個模組可以實現遠端操作其他計算機的功能,動態獲取命令執行並返回結果。

  import subprocess

  # ls在終端的意思就是檢視當前路徑下所有的檔名稱
  res = subprocess.Popen('ls',
                         shell=True,
                         stdout=subprocess.PIPE,
                         stderr=subprocess.PIPE
                         )
  print('stdout',res.stdout.read().decode('utf8'))  # 獲取正確命令執行之後的結果
  print('stderr',res.stderr.read().decode('utf8'))  # 獲取錯誤命令執行之後的結果