2021年3月26日 星期五

Python - sys, os.path 常見的 module 應用

Common python module - sys

  • sys parameter
    一些常見系統參數
        import sys
        print(sys.platform) # linux
  • sys.argv
    像 c/c++ 的 argv 一樣,可以吃從 command line 傳入的參數。
        # test.py 123 456 789
        print (argv)    # ['test.py', '123', '456', '789']
        print (argv[1]) # 123
  • sys.path
    import 時的 search list,可以也透過改變(增加, 刪除, 更改順序) list 來在想要的位置 import。除了 built-in 的 lodule,其他額外安裝的 module 都可以用這個順序做調整。以下例子就等於會先去找 tool/ 底下的 module,找不到才會找 local/lib/python3.X/site-packages 或 local/lib/python3.X/dist-packages
        print (sys.path)            # [......]
        sys.path.insert(0, "tool/") # ['tool/',......] 
        import markdown             # 已安裝 markdown,但 import 的卻是 tool 底下的
        print(markdown.__file__)    # tool/markdown.py

Common python module - os

  • os.function
    一些常用的 os.function
        import os
        os.system(command)  # 執行 command , command 為系統指令的字串。
        os.getcwd()         # 取得目前所在路徑。
        os.rename(src, dst) # 將 src 改名為 dst 。
        os.mkdir(path)      # 建立 path 路徑,如果已存在就會發起例外。
        os.remove(path)     # 移除 path ,如果 path 是目錄就會發起例外。
        os.rmdir(path)      # 刪除 path 目錄。
  • os.path (1)
    檢查檔案目錄。
        import os
        os.path.isfile(path)            # 判斷 path 檔案是否存在。
        os.path.isdir(path)             # 判斷 path 路徑是否存在。
  • os.path (2)
    os.path 路徑處理。
        import os
        path = "/home/JunYe/123.txt"
        os.path.dirname(path)  # 回傳 path 的目錄路徑。
        os.path.basename(path) # 回傳 path 的檔案名稱。
        os.path.split(path)    # 分割路徑為 (head, tail) ,其中 head 為目錄, tail 為檔案名稱。
        os.path.splitext(path) # 分割路徑為 (root, ext) ,其中 root 為目錄包括檔名, ext 為副檔名。
        print(os.path.dirname(path))  # /home/JunYe
        print(os.path.basename(path)) # 123.txt
        print(os.path.split(path))    # ('/home/JunYe', '123.txt')
        print(os.path.splitext(path)) # ('/home/JunYe/123', '.txt')
參考資料 :
1.sys — 你所不知道的 Python 標準函式庫用法 01
2.Python 速查手冊 - 12.5 基本檔案與目錄處理 os 與 os.path

Related Posts:

  • Python - sys, os.path 常見的 module 應用 Common python module - sys sys parameter 一些常見系統參數 import sys print(sys.platform) # linux sys.argv 像 c/c++ 的 argv 一樣,可以吃從 command line 傳入的參數。 # test.py 123 456 789 print (argv) … Read More
  • Google API - Python 學習筆記 Google API - python ver. 紀錄一些使用 python 呼叫 Google API 的心得 基本前置作業 Google Account 首先你要有 google 帳號。 Google Cloud Platform project 想要使用 Google Cloud Platform (GCP) 的 service,你需要創建一個 GCP project。左上角 pr… Read More
  • Python Error - UnicodeDecodeError: 'cp950' codec can't decode 讀檔時 UnicodeDecodeError: 'cp950' codec can't decode 老實說這非常常見,即使你的檔案是用 UTF-8 編寫,而且用 Python3 ( 絕大部分 default 是 utf-8 ),仍會報這個錯。所以要避免程式能在不同平台都能正常使用,讀檔時最好都加上 encoding="utf-8" with open("somefile.py", encoding="utf-8"… Read More
  • Python - BeautifulSoup 基本應用 (2) Navigating the tree - Going down child Tag 前一篇呼叫 Tag 底下的 subTag 是用像 class 的方式 (Tag.subTag),沒完整說明的是這個 subTag 可呼叫到的範圍並不只侷限 children Tag,而是整個 Tag 底下第一個遇到的 Tag.name == subTag。 """ html <b class="bo… Read More
  • Python - BeautifulSoup 基本應用 (1) BeautifulSoup 紀錄下 Python 網頁爬蟲大部分會用到的 BeautifulSoup。BeautifulSoup 本質上就是 parser,知道這點後其 function 和 parameter 的使用就能得心應手。 Install 這裡紀錄使用 pip 安裝 pip install beautifulsoup4 pip install lxml # 非必要 I… Read More

0 意見:

張貼留言

Popular Posts