對文件內容操作:
file= open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
file.read([size]) #size爲讀取的長度,以byte爲單位
file.readline([size]) #讀一行,如果定義了size,有可能返回的只是一行的一部分
file.readlines([size]) #把文件每一行作爲一個list的一個成員,並返回這個list。其實它的內部是通過循環調用readline()來實現的。如果提供size參數,size是表示讀取內容的總長,也就是說可能只讀到文件的一部分。
file.tell() #返回文件操作標記的當前位置,以文件的開頭爲原點
file.next() #返回下一行,並將文件操作標記位移到下一行。
file.seek(offset[,whence]) #將文件打操作標記移到offset的位置。這個offset一般是相對於文件的開頭來計算的,一般爲正數。但如果提供了whence參數就不一定了。whence可以爲0,表示從頭開始計算;可以爲1表示,以當前位置爲原點計算;可以爲2,表示以文件末尾爲原點進行計算。需要注意,如果文件以a或a+的模式打開,每次進行寫操作時,文件操作標記會自動返回到文件末尾。
file.write(str) #把str寫到文件中,write()並不會在str後加任何東西
file.writelines(seq) # 一次性寫一個list,不會在每個item後面加任何東西
file.close() #關閉文件。python會在一個文件不用後自動關閉文件,不過這一功能沒有保證,最好還是養成自己關閉的習慣。 如果一個文件在關閉後還對其進行操作會產生ValueError
file.flush() #把緩衝區的內容寫入硬盤
file.fileno() #返回一個長整型的”文件標籤“
file.isatty() #文件是否是一個終端設備文件(unix系統中的)
時,就是調用next()函數來實現遍歷的。
對目錄操作:
#創建文件夾:
os.mkdir("file")
#複製文件:
shutil.copyfile("oldfile","newfile") #oldfile和newfile都只能是文件
#複製文件夾:
shutil.copytree("olddir","newdir") #olddir和newdir都只能是目錄,且newdir必須不存在
#重命名文件
os.rename("oldname","newname") #文件或目錄都是使用這條命令
#移動文件
shutil.move("file","dir")
#刪除文件
os.remove("file")
#刪除目錄
os.rmdir("dir") #只能刪除空目錄
shutil.rmtree("dir") #空目錄、有內容的目錄都可以刪
#轉換目錄
os.chdir("path") #修改當前路徑
os模塊中的文件操作:
os.path.isdir(name) #判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile(name) #判斷name是不是一個文件,不存在name也返回false
os.path.exists(name) #判斷是否存在文件或目錄name
os.path.getsize(name) #獲得文件大小,單位字節,如果name是目錄返回0
os.path.abspath(name) #獲得絕對路徑
os.path.split(name) #分割文件名與目錄(僅僅是把路徑中最後一個/的後面部分分離開而已)
os.path.splitext() #分離文件名與擴展名(僅僅是把路徑中最後一個.的後面部分分離開而已)
os.path.join(path,name) # 連接目錄與文件名或目錄
os.path.basename(path) # 返回文件名(僅僅是返回路徑中最後一個/的後面部分而已)
os.path.dirname(path) # 返回文件路徑(僅僅是返回路徑中最後一個/的前面部分而已)
#列出目錄下的文件:
os.listdir(path) # 僅僅是一層深度,不會遞歸子文件夾
#獲取當前工作目錄:
os.getcwd()
#創建多級目錄:
os.makedirs(r"c:\python\test") # 如果以/開頭,則指的是當前磁盤的根目錄
#刪除多個目錄:
os.removedirs(r"hahah/xixixi/mmm") # 遞歸刪除空文件夾。先嚐試刪除mmm文件夾,然後嘗試刪除xixixi文件夾,最後刪除hahah文件夾
#刪除單個空目錄:
os.rmdir("test")
#獲取文件屬性:
os.stat(file)
參考:
https://www.cnblogs.com/claudia/p/9988624.html
https://www.cnblogs.com/wkjava/p/12640426.html