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