1. 程式人生 > >python文件操作

python文件操作

設置 targe move ren san ica color 函數 獲取文件

一、python中對文件、目錄操作時經經常使用到的os模塊和shutil模塊經常用法。
1.得到當前工作文件夾,即當前Python腳本工作的文件夾路徑: os.getcwd()
2.返回指定文件夾下的全部文件和文件夾名:os.listdir()
3.函數用來刪除一個文件:os.remove()
4.刪除多個文件夾:os.removedirs(r“c:\python”)
5.檢驗給出的路徑是否是一個文件:os.path.isfile()
6.檢驗給出的路徑是否是一個文件夾:os.path.isdir()
7.推斷是否是絕對路徑:os.path.isabs()
8.檢驗給出的路徑是否真地存:os.path.exists()
9.返回一個路徑的文件夾名和文件名稱:os.path.split() eg os.path.split(‘/home/swaroop/byte/code/poem.txt‘) 結果:(‘/home/swaroop/byte/code‘, ‘poem.txt‘)
10.分離擴展名:os.path.splitext()
11.獲取路徑名:os.path.dirname()
12.獲取文件名稱:os.path.basename()
13.執行shell命令: os.system()
14.讀取和環境變量設置:os.getenv() 與os.putenv()
15.給出當前平臺使用的行終止符:os.linesep Windows使用‘\r\n‘,Linux使用‘\n‘而Mac使用‘\r‘
16.指示你正在使用的平臺:os.name 對於Windows,它是‘nt‘,而對於Linux/Unix用戶。它是‘posix‘
17.重命名:os.rename(old。 new)
18.創建多級文件夾:os.makedirs(r“c:\python\test”)
19.創建單個文件夾:os.mkdir(“test”)
20.獲取文件屬性:os.stat(file)
21.改動文件權限與時間戳:os.chmod(file)
22.終止當前進程:os.exit()
23.獲取文件大小:os.path.getsize(filename)
二、文件操作方法大全:

1.os.mknod("test.txt") #創建空文件
2.fp = open("test.txt",w) #直接打開一個文件,假設文件不存在則創建文件
3.關於open 模式:

復制代碼代碼例如以下: w:以寫方式打開,
a:以追加模式打開 (從 EOF 開始, 必要時創建新文件)
r+:以讀寫模式打開
w+:以讀寫模式打開 (參見 w )
a+:以讀寫模式打開 (參見 a )
rb:以二進制讀模式打開
wb:以二進制寫模式打開 (參見 w )
ab:以二進制追加模式打開 (參見 a )
rb+:以二進制讀寫模式打開 (參見 r+ )
wb+:以二進制讀寫模式打開 (參見 w+ )
ab+:以二進制讀寫模式打開 (參見 a+ )

fp.read([size]) #size為讀取的長度。以byte為單位
fp.readline([size]) #讀一行,假設定義了size,有可能返回的僅僅是一行的一部分
fp.readlines([size]) #把文件每一行作為一個list的一個成員。並返回這個list。事實上它的內部是通過循環調用readline()來實現的。假設提供size參數。size是表示讀取內容的總長,也就是說可能僅僅讀到文件的一部分。
fp.write(str) #把str寫到文件裏,write()並不會在str後加上一個換行符
fp.writelines(seq) #把seq的內容所有寫到文件裏(多行一次性寫入)。這個函數也僅僅是忠實地寫入,不會在每行後面加上不論什麽東西。


fp.close() #關閉文件。python會在一個文件不用後自己主動關閉文件。只是這一功能沒有保證。不妨養成自己關閉的習慣。 假設一個文件在關閉後還對其進行操作會產生ValueError
fp.flush() #把緩沖區的內容寫入硬盤
fp.fileno() #返回一個長整型的”文件標簽“
fp.isatty() #文件是否是一個終端設備文件(unix系統中的)
fp.tell() #返回文件操作標記的當前位置。以文件的開頭為原點
fp.next() #返回下一行。並將文件操作標記位移到下一行。把一個file用於for … in file這種語句時。就是調用next()函數來實現遍歷的。
fp.seek(offset[,whence]) #將文件打操作標記移到offset的位置。

這個offset通常是相對於文件的開頭來計算的。一般為正數。但假設提供了whence參數就不一定了,whence能夠為0表示從頭開始計算。1表示以當前位置為原點計算。2表示以文件末尾為原點進行計算。須要註意,假設文件以a或a+的模式打開。每次進行寫操作時。文件操作標記會自己主動返回到文件末尾。
fp.truncate([size]) #把文件裁成規定的大小。默認的是裁到當前文件操作標記的位置。假設size比文件的大小還要大,根據系統的不同可能是不改變文件,也可能是用0把文件補到對應的大小,也可能是以一些隨機的內容加上去。
三、文件夾操作方法大全
1.創建文件夾
os.mkdir("file")
2.拷貝文件:
shutil.copyfile("oldfile","newfile") #oldfile和newfile都僅僅能是文件
shutil.copy("oldfile","newfile") #oldfile僅僅能是文件夾。newfile能夠是文件。也能夠是目標文件夾
3.復制目錄:
4.shutil.copytree("olddir","newdir") #olddir和newdir都僅僅能是文件夾,且newdir必須不存在
5.重命名文件(文件夾)
os.rename("oldname","newname") #文件或文件夾都是使用這條命令
6.移動文件(文件夾)
shutil.move("oldpos","newpos")
7.刪除文件
os.remove("file")
8.刪除文件夾
os.rmdir("dir") #僅僅能刪除空文件夾
shutil.rmtree("dir") #空文件夾、有內容的文件夾都能夠刪
9.轉換文件夾
os.chdir("path") #換路徑

python文件操作