python处理文件夹_python文件及文件夹操作
1.open()各模式詳情
'r' ? ? ? ?以只讀模式打開,沒有write()方法,默認打開方式
'w' ? ? ? 以只寫模式打開,文件不存在時會自動創建文件,文件已存在時會清除文件內容并重建文件。這種模式打開的文件沒有read()方法。
'a' ? ? ? ?以追加模式打開,有write()方法,文件不存在時會自動創建文件,寫入時只能寫到文件末尾,打開的文件沒有read()方法
'r+' 'w+' 'a+'是讀寫模式,其他類似'r' 'w' 'a'
2. 常見文件操作函數/方法
txt.read([size])??????#size為讀取的長度,以byte為單位;若省略,默認全部讀取
txt.readline([size])?????#讀取一行。如果定義了size,則size表示讀取內容的總長度;size大小超過該行長度,讀取一行
txt.readlines([size])????#把文件每一行作為一個list的一個成員,并返回這個list。如果提供size,則size表示讀取內容的總長度,可能只讀取文件的一部分。
txt.write("Something?you?want?to?type?in.")????#把一個字符串寫到文件中。字符串不會自動加換行符
txt.close()????#關閉文件,文件使用完畢后要記得及時關閉
txt.tell()????#返回文件操作標記的當前位置,以文件開頭為原點
txt.next()????#返回下一行,并將文件操作標記移至下一行
txt.seek(offset[,whence])????#將文件操作標記移到offset處。未提供whence參數時,offset一般相對于文件開頭來計算,為正數。如果提供了whence參數的話,whence為0則從頭開始計算;whence為1表示以當前位置為原點開始計算;whence為2表示以文件末尾為原點開始計算
3.文件和文件夾操作
Python中對文件、文件夾的操作需涉及到os模塊和shutil模塊
(1)刪除一個文件:os.remove("file")
os.remove("test.txt")????????#刪除當前目錄下test.txt文件
(2)重命名:os.rename(old,new),文件或目錄均使用此命令
os.rename(r'e:\pythoncoding\test\test.txt',r'e:\pythoncoding\test\test1.txt')????????#將e:\pythoncoding\test\test.txt文件重命名為test1.txt
os.rename(r'e:\pythoncoding\test',r'e:\pythoncoding\test1')??????#將test文件夾重命名為test1
(3)返回指定目錄下的所有文件和目錄名:os.listdir()
for?i?in?os.listdir(os.getcwd()):
print?i????????????????#?打印出當前工作目錄所有文件和文件夾名
(4)得到當前工作目錄,即當前Python腳本工作的目錄路徑: os.getcwd()
(5)創建多級目錄:os.makedirs(r"c:\python\test")
創建單個目錄:os.mkdir("test")
os.makedirs(r"e:\test\test")????????#創建test文件夾,若其父目錄不存在則自動創建
os.mkdir(r"e:\test\test")???????#創建test文件夾,若其父目錄不存在則拋出異常
(6)刪除目錄: os.rmdir()
刪除多級目錄:os.removedirs(r"c:\test\test")
os.removedirs(r"c:\test\test")
#刪除目錄及父目錄。先刪除C:\test\test目錄,然后刪除C:\test和c:目錄。如果有非空子目錄不能刪除,會拋出異常
(7)①去掉目錄路徑,返回文件名:os.path.basename()
②去掉文件名,返回目錄:os.path.dirname()
③os.path.join():將路徑名和文件名組合起來
④os.path.split():返回目錄路徑和文件名組成的元組
⑤os.path.splitdrive():返回驅動器目錄和剩余的路徑名組成的元組
⑥os.path.splitext():返回文件名和文件擴展名組成的元組
(8)獲得信息相關函數
os.path.getatime():返回最近訪問時間
os.path.getctime():返回文件創建時間
os.path.getmtime():返回文件最近修改時間
os.path.getsize():返回文件大小(字節單位)
(9)邏輯判斷相關函數
os.path.exists():判斷文件或目錄是否存在,存在返回True,否則返回False
os.path.isabs():判斷路徑是否為絕對路徑,是則返回為True,否則返回False
os.path.isdir():判斷指定路徑是否存在且為目錄,若是則返回True,否則返回False
os.path.isfile():判斷指定路徑是否存在且為文件,若是則返回True,否則返回False
os.path.islink():判斷指定路徑是否存在且為一個符號鏈接,若是則返回True,否則返回False
os.path.ismount():判斷指定路徑是否存在且為一個掛載點,若是則返回True,否則返回False
(10)指示你正在使用的平臺:os.name ? 對于Windows,它是'nt',而對于Linux/Unix用戶,它是'posix'
>>>?os.name
'nt'
(11)復制文件:
①shutil.copyfile("oldfile","newfile"):兩個參數都只能是文件,相當于把oldfile復制到newfile
>>>?import?shutil
>>>?shutil.copyfile(r"E:\Code\CPP\test1.txt",r"E:\Code\CPP\test2.txt")
②shutil.copy("oldfile","newfile"):oldfile只能是文件,newfile可以是文件,也可以是目標目錄。newfile為文件時,和copyfile()作用相同;為目錄時,則把oldfile復制到新目錄
>>>?shutil.copy(r"E:\Code\CPP\test1.txt",r"E:\Code\CPP\test2.txt")
>>>?shutil.copy(r"E:\Code\CPP\test1.txt",r"E:\Code\CPP\test")
(12)復制文件夾:
shutil.copytree("olddir","newdir"):olddir和newdir都只能是目錄,且newdir必須不存在。此命令把olddir中的文件全部復制到newdir中。
>>>?shutil.copytree(r"E:\Code\CPP\test1",r"E:\Code\CPP\test2")
(13)移動文件(目錄)
shutil.move("oldpos","newpos"):移動文件或目錄。第一個參數可以為文件或目錄。第一個參數為目錄時,第二個參數必須為目錄;第一個參數為文件時,第二個參數為目錄、文件均可。
>>>?#?兩個參數均為文件,將文件1的內容剪切到文件2,然后刪除文件1
...
>>>?shutil.move(r"E:\Code\CPP\test1.txt",r"E:\Code\CPP\test2.txt")
>>>
>>>?#?第一個參數為文件,第二個參數為目錄,則將文件1剪切到目錄2
...
>>>?shutil.move(r"E:\Code\CPP\test1.txt",r"E:\Code\CPP\test1")
>>>
>>>?#?兩個參數均為目錄,則將第一個目錄的所有文件剪切到第二個目錄,并刪除目錄1
...
>>>?shutil.move(r"E:\Code\CPP\test1",r"E:\Code\CPP\test2")
shutil.rmtree("dir"):刪除目錄,空目錄、非空目錄均可刪除
總結
以上是生活随笔為你收集整理的python处理文件夹_python文件及文件夹操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python函数被调用才能执行吗_pyt
- 下一篇: php发表图片文章代码,最新PHP图片上