[Python]OS模組應用

不愿透露姓名的小村村發表於2024-04-17

OS提供許多和作業系統互動的功能,允許訪問檔案,目錄,程序,環境變數等。

  • 匯入模組,import os

  • 獲取當前工作目錄,os.getcwd()

current_dir=os.getcwd()
print("當前工作目錄:",current_dir)

>>>   當前工作目錄: C:\Users\wuyucun
  • 建立目錄,os.mkdir()
current_dir=os.getcwd()
new_dir=os.path.join(os.getcwd(),"my_directory")
os.mkdir(new_dir)
  • 遍歷目錄,os.listdir
files=os.listdir(os.getcwd())
for file in files:
    print(file)

  • 刪除檔案或者目錄,使用os.remove()刪除檔案,os.rmdir()刪除目錄
file_to_delete=os.path.join(os.getcwd(),"file_to_delete.txt")
os.remove(file_to_delete)

dir_to_delete=os.path.join(os.getcwd(),"dir_to_delete")
os.rmdir(dir_to_delete)
  • 執行系統命令,使用os.system()
os.system("calc")
  • 獲取環境變數,使用os.environ
print(os.environ)
  • 路徑操作,使用os.path
    • 檔名獲取os.path.basename()
    • 目錄名獲取os.path.dirname()
    • 檔案擴充名獲取os.path.splitext()[1]
path="/path/to/file/file.txt"
print("檔名:",os.path.basename(path))

>>>檔名: file.txt 
path="/path/to/file/file.txt"
print("目錄名:",os.path.dirname(path))

>>>目錄名: /path/to/file
path="/path/to/file/file.txt"
print("檔案擴充名:",os.path.splitext(path)[1])

>>>檔案擴充名: .txt
  • 計算絕對路徑,相對路徑,使用os.path.join();os.path.relpath()
txt_path="/path/to/file/file.txt"
pic_path="/path/to/file/pic/file/my_pic.png"
pic_path_abs=os.path.dirname(pic_path)
print("絕對路徑:",pic_path)
pic_path_rel=os.path.relpath(pic_path_abs,os.path.dirname(txt_path))
print("相對路徑:",pic_path_rel)
pic_path_rel_withname=os.path.join(pic_path_rel,os.path.basename(pic_path))
print("相對路徑帶檔名:",pic_path_rel_withname)

>>>絕對路徑: /path/to/file/pic/file/my_pic.png
>>>相對路徑: pic\file
>>>相對路徑帶檔名: pic\file\my_pic.png
  • 使用os.path.exists()判斷路徑指向位置是否存在

  • 使用os.path.isabs()判斷路徑是否是絕對路徑

  • 使用os.path.isfile()或者os.path.isdir()判讀是否是檔案或者路徑

  • 使用os.rename(src,dst)重新命名檔案或者路徑

  • 使用os.name獲得程式當前的執行環境(這是個屬性),目前有posix,nt,java

相關文章