程式語言對檔案系統的操作是一項必不可少的功能,各種程式語言基本上都有對檔案系統的操作,最簡潔的莫過於linux裡面shell的操作了,其次,則是python,ruby等動態語言的操作,那麼,今天散仙來看下,在python裡面如何使用一些常用的操作檔案功能。
主要包括:
1,建立乙個檔案
2,刪除乙個檔案
3,建立乙個目錄
4,刪除乙個目錄
5,拷貝,重新命名,檢視檔案大小
6,列出某個目錄下檔案的數量
7,遞迴列印某個目錄下的所有檔案和目錄
8,讀寫檔案操作
1,建立檔案方法:
f=open("d:",mode="w",encoding="utf-8")
f.close()
2,刪除乙個檔案
import os
os.remove("d:")
os.close()
3,建立乙個目錄或多個目錄
os.mkdir("e://bb")
os.makedirs("d:\\a\\b")
4,刪除依舊用remove方法或多級刪除
os.removedirs(path)
os.remove()
5,拷貝,重新命名,檢視檔案大小,開啟檔案
import os
import shutil
#第乙個引數是原始檔,第二個拷貝檔案
shutil.copyfile("d:","d:")
os.rename("d:","d:")
os.stat("d:").st_size
os.startfile("d:")
6,檢視某個目錄下檔案數量:
def countdirs(dp):
tt=tuple(os.walk(dp))
print("資料夾"+dp+"的資訊:")
print("資料夾的個數: ",len(tt[0][1]),"檔案的個數: ",len(tt[0][2]))
d1="d:\\tomcat7\\bin"
countdirs(d1)
結果如下:
資料夾d:\tomcat7\bin的資訊:
資料夾的個數: 0 檔案的個數: 28
process finished with exit code 0
7,遞迴列印資料夾的方法:
def showalldirs(dp):
tt=os.walk(dp);
for l in tt:
for lf in l[1]:
print("目錄的路徑是:",l[0]+"\\"+lf)
遞迴列印檔案的方法:
def showalldirsfiles(dirpath):
tt=os.walk(dirpath);
for l in tt:
for ll in l[2]:
print("檔案的路徑是:",l[0]+"\\"+ll)
8,讀取檔案的方法:
def readfile():
f=open(r"d:/",encoding="utf-8")
for line in f:
#去除多餘的換行符
print(line.strip())
f.close();
批量載入讀取:
def readfile1():
f=open(r"d:/",encoding="utf-8")
while 1:
#print("j")
lines=f.readlines(10000);
if not lines:
#print("end")
break;
for line in lines:
print(line.strip())
f.close()
寫入檔案例子:
def writefile():
a=list();
#a追加模式w覆蓋模式
f=open("d:",mode='a',encoding="utf-8")
print("檔案大小:",f)
for c in a:
f.write(c+"\n")
f.close()
print("寫入成功!")
最後需要注意一點,注意路徑的寫法需要使用\\兩個符號加轉義實現,如果只寫乙個,可能會導致問題!
Python操作檔案和目錄
對檔案和目錄進行操作是在我們開發過程中必不可少的一環,下面是我整理的一些常用的對檔案和目錄進行操作的語句,希望能幫到你 首先是導包,匯入包os import os 1 獲取當前python指令碼工作的檔案目錄 os.getcwd 2 返回指定目錄下的所有檔名和目錄 os.listdir 3 刪除乙個...
python 操作檔案和目錄
python的 os 模組 import osos.name 作業系統型別 如果是 posix 說明系統是linux unix或mac os x,如果是 nt 就是windows系統。os.uname 作業系統詳情uname 函式在windows上不提供,也就是說,os 模組的某些函式是跟作業系統相...
python, 操作檔案和目錄
作業系統提供的命令只是簡單地呼叫了作業系統提供的介面函式,python內建的os模組也可以直接呼叫作業系統提供的介面函式 importos 作業系統型別 os.name posix linux unix或mac os x,nt windows系統 要獲取詳細的系統資訊,windows上不提供 os....