檔案操作(常用的os模組和shutil模組)

2021-09-08 09:18:01 字數 2606 閱讀 2359

得到當前工作目錄,既當前python指令碼工作的目錄路徑:os.getcwd()

返回指定目錄下的所有檔案和目錄名:os.listdir()

函式用來刪除乙個檔案:os.remove()

刪除多個目錄:os.removedirs(r』c:\python』)

檢驗給出的乙個路徑是否是乙個檔案:os.path.isfile()

檢驗給出的路徑是否是乙個路徑:os.path.isdir()

判斷是否是絕對路徑:os.path.isabs()

檢查是否快捷方式:os.path.islink(filename)

檢驗給出的路徑是否真實存在:os.path.exists()

返回乙個路徑的目錄名和檔名:os.path.split()

分離副檔名:os.path.splitext()

獲取路徑名:os.path.dirname()

獲取檔名:os.path.basename()

執行shell命令:os.system()

讀取和設定環境變數:os.getenv()與os.putenv()

給出當前平台使用的行終止符:os.linesep windows使用『\r\n』,linux使用『\n』,而max使用』\r』

指示你正在使用的平台:os.name 對於windows,它是』nt』,而對於linux/unix使用者,它是』posix』

重新命名:os.rename(old, new)

建立多級目錄:os.makedirs(r』c:\python\test』)

建立單個目錄:os.mkdir(『test』)

獲取檔案屬性:os.stat(file)

修改檔案許可權與時間戳:os.chmod(file)

終止當前程序:os.exit()

獲取檔案大小:os.path.getsize(filename)

os.mknod(『test.txt』):建立空檔案。

fp = open(『test.txt』, w):直接開啟乙個檔案,如果檔案不存在則建立檔案。

關於open模式:

w:以寫的方式開啟

w+:以讀寫模式開啟(檔案不存在會建立)

r:以讀的形式開啟

r+:以讀寫模式開啟––

a:以追加模式開啟

a+:以讀寫模式開啟(這裡的寫是以追加形式)––

rb:以二進位制讀模式開啟

rb+: 以二進位制讀寫模式開啟 (參見 r+ )––

wb:以二進位制寫模式開啟 (參見 w )

wb+:以二進位制讀寫模式開啟 (參見 w+ )––

ab:以二進位制追加模式開啟 (參見 a )

ab+:以二進位制讀寫模式開啟 (參見 a+ )

fp.read([size]):size為讀取的長度,以byte為單位。

fp.readline([size]):讀一行,如果定義size,有可能返回的只是一行的一部分。

fp.readlines([size]):把檔案每一行作為乙個list的乙個成員,並返回這個list。其實它的內部是通過迴圈呼叫readline()來實現的。如果提供size引數,size是表示讀取內容的總長,也就是說可能唯讀到檔案的一部分。

fp.writelines(seq):把seq的內容全部寫到檔案中(多行一次性寫入)。這個函式也只是忠實的寫入,不會在每行後面加上任何東西。

fp.close():關閉檔案。python會在乙個檔案使用完畢後自動關閉檔案,不過這一功能沒***,最好還是養成自己關閉的習慣。如果乙個檔案再關閉後還對其進行操作會產生valueerrot。

fp.flush():把緩衝區的內容寫入硬碟。

fp.fileno():返回乙個長整形 「檔案標籤「。

fp.isatty():檔案是否是乙個終端裝置檔案(unix系統中的)。

fp.tell():返回檔案操作標記的當前位置,以檔案的開頭為原點。

fp.seek(offset[,whence]):將檔案操作標記移動到offset位置。這個offset一般是相對於檔案的開頭來計算的。一般為整數。但如果提供了whence引數就不一定了,whence可以為0表示重頭開始計算,1表示當前位置為原點計算,2表示檔案末尾為原點進行計算。需要注意,如果檔案以a或a+模式開啟,每次進行寫操作時,檔案操作標記會自動返回到檔案末尾。

建立目錄:os.mkdir(『file』)

複製檔案:shutil.copyfile(『oldfile』, 『newfile』) #這裡oldfile和newfile只能是檔案 shutil.copy(『oldfile』, 『newfile』) #oldfile只能是資料夾,newfile可以是檔案,也可以是目標目錄

複製資料夾:shutil.copytree(『olddir』, 『newdir』) #olddir和newdir都只能是目錄,且newdir必須不存在

重新命名檔案(目錄):os.rename(『oldname』, 『newname』) #檔案或目錄都是使用這條命令

移動檔案:shutil.move(『oldpos』, 『newpos』)

刪除檔案:os.remove(『file』)

刪除目錄:os,rmdir(『dir』) #只能刪除空目錄 shutil.rmtree(『dir』) #空目錄,有內容的目錄都可以刪除

轉換目錄:os.chdir(『path』) #換路徑

參考至

python 檔案操作 os模組 常用函式

python程式設計時,經常和檔案 目錄打交道,這是就離不了os模組。os模組包含普遍的作業系統功能,與具體的平台無關。以下列舉常用的命令 1.os.name 判斷現在正在實用的平台,windows 返回 nt linux 返回 posix 用python idle測試,可以直接返回結果,如果用其他...

Python 檔案操作之os模組

在我看來,python最大的吸引之處在於簡便,同時有很多很多的庫,無論內部還是外部,我們可以很方便的使用它,這就避免了重複造輪子的繁瑣。下面,我們主要介紹一下os模組,主要是用於操作檔案目錄的乙個模組 閒話不多說,直入正題 1.環境 1 獲取所有的環境變數值,返回乙個字典 os.environ 2 ...

Python之檔案操作 os模組

python os 模組提供了乙個統一的作業系統介面函式一 對於系統的操作1 os.name 當前使用平台 其中 nt 是 windows,posix 是linux 或者 unix 2 os.sep 輸出作業系統的特定的路徑分隔符。win下為 linux下為 3 os.pathsep 輸出分格符 輸...