Python的os模組簡介

2021-10-17 14:12:39 字數 4669 閱讀 9996

os模組提供了多數作業系統的功能介面函式。當os模組被匯入後,它會自適應於不同的作業系統平台,根據不同的平台進行相應的操作,在python程式設計時,經常和檔案、目錄打交道,這時就離不了os模組,本節內容將對os模組提供的函式進行詳細的解讀

常用的方法如下表所示:

序號方法及描述

1os.access(path, mode)

檢驗許可權模式

2os.chdir(path)

改變當前工作目錄

3os.chflags(path, flags)

設定路徑的標記為數字標記。

4os.chmod(path, mode)

更改許可權

5os.chown(path, uid, gid)

更改檔案所有者

6os.chroot(path)

改變當前程序的根目錄

7os.close(fd)

關閉檔案描述符 fd

8os.closerange(fd_low, fd_high)

關閉所有檔案描述符,從 fd_low (包含) 到 fd_high (不包含), 錯誤會忽略

9os.dup(fd)

複製檔案描述符 fd

10os.dup2(fd, fd2)

將乙個檔案描述符 fd 複製到另乙個 fd2

11os.fchdir(fd)

通過檔案描述符改變當前工作目錄

12os.fchmod(fd, mode)

改變乙個檔案的訪問許可權,該檔案由引數fd指定,引數mode是unix下的檔案訪問許可權。

13os.fchown(fd, uid, gid)

修改乙個檔案的所有權,這個函式修改乙個檔案的使用者id和使用者組id,該檔案由檔案描述符fd指定。

14os.fdatasync(fd)

強制將檔案寫入磁碟,該檔案由檔案描述符fd指定,但是不強制更新檔案的狀態資訊。

15os.fdopen(fd[, mode[, bufsize]])

通過檔案描述符 fd 建立乙個檔案物件,並返回這個檔案物件

16os.fpathconf(fd, name)

返回乙個開啟的檔案的系統配置資訊。name為檢索的系統配置的值,它也許是乙個定義系統值的字串,這些名字在很多標準中指定(posix.1, unix 95, unix 98, 和其它)。

17os.fstat(fd)

返回檔案描述符fd的狀態,像stat()。

18os.fstatvfs(fd)

返回包含檔案描述符fd的檔案的檔案系統的資訊,像 statvfs()

19os.fsync(fd)

強制將檔案描述符為fd的檔案寫入硬碟。

20os.ftruncate(fd, length)

os.path 模組主要用於獲取檔案的屬性。官網api:

以下是 os.path 模組的幾種常用方法:

方法說明

os.path.abspath(path)

返回絕對路徑

os.path.basename(path)

返回檔名

os.path.commonprefix(list)

返回list(多個路徑)中,所有path共有的最長的路徑

os.path.dirname(path)

返回檔案路徑

os.path.exists(path)

如果路徑 path 存在,返回 true;如果路徑 path 不存在,返回 false。

os.path.lexists

路徑存在則返回true,路徑損壞也返回true

os.path.expanduser(path)

把path中包含的"~"和"~user"轉換成使用者目錄

os.path.expandvars(path)

根據環境變數的值替換path中包含的"$name"和"$"

os.path.getatime(path)

返回最近訪問時間(浮點型秒數)

os.path.getmtime(path)

返回最近檔案修改時間

os.path.getctime(path)

返回檔案 path 建立時間

os.path.getsize(path)

返回檔案大小,如果檔案不存在就返回錯誤

os.path.isabs(path)

判斷是否為絕對路徑

os.path.isfile(path)

判斷路徑是否為檔案

os.path.isdir(path)

判斷路徑是否為目錄

os.path.islink(path)

判斷路徑是否為鏈結

os.path.ismount(path)

判斷路徑是否為掛載點

os.path.join(path1[, path2[, ...]])

把目錄和檔名合成乙個路徑

os.path.normcase(path)

轉換path的大小寫和斜槓

os.path.normpath(path)

規範path字串形式

os.path.realpath(path)

返回path的真實路徑

os.path.relpath(path[, start])

從start開始計算相對路徑

os.path.samefile(path1, path2)

判斷目錄或檔案是否相同

os.path.sameopenfile(fp1, fp2)

判斷fp1和fp2是否指向同一檔案

os.path.samestat(stat1, stat2)

判斷stat tuple stat1和stat2是否指向同乙個檔案

os.path.split(path)

把路徑分割成 dirname 和 basename,返回乙個元組

os.path.splitdrive(path)

一般用在 windows 下,返回驅動器名和路徑組成的元組

os.path.splitext(path)

分割路徑,返回路徑名和副檔名的元組

os.path.splitunc(path)

把路徑分割為載入點與檔案

os.path.walk(path, visit, arg)

遍歷path,進入每個目錄都呼叫visit函式,visit函式必須有3個引數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有檔名,args則為walk的第三個引數

os.path.supports_unicode_filenames

設定是否支援unicode路徑名

例項

#!/usr/bin/python

# -*- coding: utf-8 -*-

import os

print( os.path.basename('/root/runoob.txt') ) # 返回檔名

print( os.path.dirname('/root/runoob.txt') ) # 返回目錄路徑

print( os.path.split('/root/runoob.txt') ) # 分割檔名與路徑

print( os.path.join('root','test','runoob.txt') ) # 將目錄和檔名合成乙個路徑

執行以上程式輸出結果為:

runoob.txt

/root

('/root', 'runoob.txt')

root/test/runoob.txt

#!/usr/bin/python

# -*- coding: utf-8 -*-

import os

import time

file='/root/runoob.txt' # 檔案路徑

print( os.path.getatime(file) ) # 輸出最近訪問時間

print( os.path.getctime(file) ) # 輸出檔案建立時間

print( os.path.getmtime(file) ) # 輸出最近修改時間

print( time.gmtime(os.path.getmtime(file)) ) # 以struct_time形式輸出最近修改時間

print( os.path.getsize(file) ) # 輸出檔案大小(位元組為單位)

print( os.path.abspath(file) ) # 輸出絕對路徑

print( os.path.normpath(file) ) # 規範path字串形式

執行以上程式輸出結果為:

1539052805.5735736

1539052805.5775735

1539052805.5735736

time.struct_time(tm_year=2018, tm_mon=10, tm_mday=9, tm_hour=2, tm_min=40, tm_sec=5, tm_wday=1, tm_yday=282, tm_isdst=0)

7/root/runoob.txt

/root/runoob.txt

Python模組簡介 os模組

一 模組簡介 python os模組包含普遍的作業系統功能,讓你的程式和平台分開。通常用於返回和開啟指定目錄下的所有檔案和目錄名。二 常用函式 1 os.listdir path 返回指定目錄下的所有檔案和目錄名 folder rt html for movie html in os.listdir...

Python中os模組的簡介

import os 匯入os模組,以下所有功能都在os模組中.os.getcwd 功能 獲取當前目錄的絕對路徑 絕對路徑 window 以碟符開頭,或者以 開頭 linux 以 開頭或者以 開頭 相對路徑 window 以檔案開頭,以.開頭 或者.開頭 linux 與window相同 os.path...

python模組 OS模組

bin env python coding utf 8 import os print os.name 輸出主機平台 print os.getcwd 輸出當前目錄 print os.listdir os.getcwd 輸出當前目錄的檔案 橫向 for i in os.listdir os.getcw...