Python基礎之os模塊簡介

在平常工做中,常常須要用到操做系統,以及文件目錄相關的內容,屬於系統運維相關的必備知識點,本文主要簡述Python中與os模塊及os.path模塊相關內容,僅供學習分享使用,若有不足之處,還請指正。linux

導入os模塊

os模塊是Python的內置標準庫,提供了一種使用與操做系統相關的功能的便捷式途徑。若是須要調用os模塊,須要經過import的方式導入,以下所示:windows

1 import os
2 import os.path

os模塊系統命令

在os模塊中,與操做系統相關的經常使用方法,以下所示:運維

 os模塊獲取環境變量,以下所示:學習

 1 path1 = os.getenv('path') # 獲取環境變量
 2 path2 = path1.split(sep=';')
 3 for p in path2:
 4     print(p)
 5 
 6 os1 = os.getenv('OS')  #  獲取 操做系統名
 7 print(os1)
 8 
 9 username = os.getenv('USERNAME')  #  獲取 登陸帳號名
10 print(username)

os模塊調用操做系統命令,示例以下所示:ui

1 os.system('notepad')  #  調用window相關命令
2 
3 os.system('ping www.baidu.com')  # 調用ping命令
4 
5 os.system('ipconfig')  # 調用ipconfig命令
6 
7 os.system('cmd') #  打開命令行窗口

經過startfile方式啓動文件,示例以下所示:spa

1 os.startfile(path=r"D:\Program Files (x86)\Notepad++\notepad++.exe") # 打開文件

操做系統名稱,分隔符,換行符相關內容,示例以下所示:操作系統

1 name = os.name # 返回操做系統名稱 windows-->nt  linux,uninx-->posix
2 print(name)
3 
4 sep = os.sep  # 分隔符 \
5 print(sep)
6 
7 linesep = os.linesep  #  換行符
8 print(repr(linesep))  # windows--> '\r\n'  linux-->\n

注意事項,若是在操做命令行輸出時,出現亂碼狀況,以下所示:命令行

 

 則能夠設置File-->Settings-->File Encodings-->Global Encoding 爲GBK來解決,設置完畢後,從新執行,亂碼問題解決,以下所示:code

 os模塊文件操做

在os模塊中,與文件相關的經常使用方法,以下所示:對象

 獲取文件的全部屬性(包括文件大小,建立時間,修改時間,訪問時間等),以下所示:

1 # os.stat_result(st_mode=33206, st_ino=844424930288389, st_dev=44815083, st_nlink=1, st_uid=0, st_gid=0, st_size=1931, st_atime=1625411990, st_mtime=1625411889, st_ctime=1625405477)
2 osstat = os.stat('login.py')  #  獲取文件的全部信息,返回的對象類型
3 print(osstat)

os模塊目錄操做

在os模塊中,與目錄相關的經常使用方法,以下所示:

 os模塊下,與模塊相關的經常使用方法,示例以下所示:

 1 cwd = os.getcwd()  # 獲取當前工做目錄,不帶最後的\
 2 print(cwd)
 3 
 4 os.mkdir(path='movie')  # 建立目錄
 5 
 6 os.makedirs(name='movie/gangtai')  # 建立多級目錄
 7 
 8 # 返回目錄下全部的內容
 9 files = os.listdir(path='D:\AiSmoking')
10 for file in files :
11     print(file)

os.path模塊文件及目錄操做

os.path模塊屬於os的子模塊,其中與文件及目錄相關的經常使用方法,以下所示:

 os.path模塊下,與文件及目錄相關的內容,以下所示:

 1 flag = os.path.exists(path='D:\AiSmoking\logs')  # 判斷路徑是否存在
 2 print(flag)
 3 p = os.path.abspath('moive') # 獲取當前相對路徑的絕對路徑
 4 print(p)
 5 
 6 flag = os.path.isabs('movie')  # 判斷當前路徑是不是絕對路徑
 7 print(flag)
 8 
 9 flag = os.path.isdir('movie') # 判斷當前路徑是否是一個目錄
10 print(flag)
11 
12 flag = os.path.isfile('movie')  # 判斷當前路徑是否是一個文件
13 print(flag)
14 
15 real_path = os.path.realpath('合同')  # 獲取真實路徑
16 print(real_path)

備註

次北固山下

【做者】王灣  【朝代】唐

客路青山外,行舟綠水前。

潮平兩岸闊,風正一帆懸。

海日生殘夜,江春入舊年。

鄉書何處達?歸雁洛陽邊。

相關文章
相關標籤/搜索