2020-05-24 python中os模塊


os模塊常用函數(shù)的用法

注:這些函數(shù)在各個操作系統(tǒng)下的使用方式都一樣

import os#首先需要導(dǎo)入os模塊
os.getcwd()#返回當(dāng)前工作目錄
#'E:\\'
os.chdir('f:\\')#改變當(dāng)前工作目錄
#無返回,當(dāng)目錄不存在時報錯
os.getcwd()
#'F:\\'

os.listdir(path='.')#返回一個包含指定目錄下所有的文件及文件夾的列表
#默認(rèn)參數(shù)是當(dāng)前工作目錄

os.mkdir(path)#創(chuàng)建單層目錄,如果文件夾已存在則拋出異常
#可以傳入多層目錄,但是當(dāng)前面的目錄不存在時會報錯

os.makedirs(path, exist_ok=False)
#遞歸創(chuàng)建多層目錄;
#當(dāng)目標(biāo)目錄已存在且exist_ok =False時會報錯

os.remove(path)#刪除文件
os.rmdir(path)#嘗試刪除單層目錄,如果該目錄非空則報錯
#所以需要先用os.remove()刪除文件

os.removedirs(path)#遞歸刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則拋出異常
os.rename(oldname, newname)#文件更名
os.system(command)#運行系統(tǒng)shell命令
os.system('cmd')#打開命令框,進(jìn)入命令行模式

os.curdir#指代當(dāng)前目錄
#'.'
os.oardir#指代上一級目錄
#'..'
os.sep#得到當(dāng)前操作系統(tǒng)的路徑分隔符
#'\\'(Windows下
os.linesep#得到當(dāng)前操作系統(tǒng)使用的行終止符
#'\r\n'(Windows下
os.name#得到當(dāng)前操作系統(tǒng)名
#'nt'(Windows下
  • os.path模塊
os.path.basename(path)#去除目錄路徑,得到文件名
os.path.basename("E:\Git\LICENSE.txt")
#'LICENSE.txt'
os.path.dirname(path)#去除文件名,得到目錄路徑
os.path.dirname("E:\Git\LICENSE.txt")
#'E:\\Git'
os.path.join(path, *paths)#將傳入的各個字符串組合成路徑名(只傳入一個字符串也可)
os.path.join('a', 'b', 'c')
#'a\\b\\c'
os.path.split(path)#分割文件名與路徑
os.path.split('a\\b\\c')
#('a\\b', 'c')
#等價于tuple(os.path.dirname(path), os.path.basename(path))

os.path.splitext(path)#分離文件名與擴(kuò)展名,返回類型為元組
os.path.splitext('a\\b\\c')
#('a\\b\\c', '')

注意:上面這些os.path中函數(shù)是單純對字符串進(jìn)行操作,不會判斷傳入的字符串是否為真實存在的文件夾/文件

  • 下面幾個函數(shù)會對傳入的參數(shù)進(jìn)行判斷:
getsize(filename)#返回指定文件的大小,單位是字節(jié),如果文件不存在則報錯
os.path.getsize("E:\Git\LICENSE.txt")
#18765
os.path.getatime(file)#得到指定文件最近訪問時間,返回浮點型秒數(shù),可用time模塊的gmtime()或localtime()函數(shù)進(jìn)行換算
os.path.getctime(file)#得到文件的創(chuàng)建時間
os.path.getctime("E:\Git\LICENSE.txt")
#1573126507.1538801
os.path.getmtime(file)#得到文件的最新修改時間
  • 示例
import time
time.gmtime(os.path.getctime("E:\Git\LICENSE.txt"))
'''time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=11, tm_min=35, tm_sec=7, tm_wday=3, tm_yday=311, tm_isdst=0)'''
#得到的是英國格林威治時間
 time.localtime(os.path.getctime("E:\Git\LICENSE.txt"))
time.struct_time(tm_year=2019, tm_mon=11, tm_mday=7, tm_hour=19, tm_min=35, tm_sec=7, tm_wday=3, tm_yday=311, tm_isdst=0)
#得到本地(北京)時間
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容