我們在前面模組中所匯總的函數裡,有的支援對檔案目錄的高階操作,我們在這一節介紹一下這些函數的使用方式。
我們在使用檔案或目錄的時候,總是離不開重命名操作的,有的時候我們可以選擇直接建立覆蓋,但是當我們已存在的檔案儲存大量資訊的時候我們就需要重命名操作,我們使用os模組中的os.rename()方法,使用Pycharm的同學可以發現在Pyacharm中手動為檔案重新命名的名字也是rename,程式中重新命名的格式為:
os.rename(src,dst)
src為更改的檔案或目錄名,dst為新的名字。
看下面的例子:
先建立一個資料夾:
importosprint(os.getcwd())#如果不知道目前的目錄,先輸出找到目前的目錄。 os.mkdir(r'C:Users輕煙PycharmProjectsuntitled1teachnew')#注意這個r,如果存在t,n這種內容,在前面加r。
然後我們進行重命名操作:
importosos.rename(r'C:Users輕煙PycharmProjectsuntitled1teachnew',r'C:Users輕煙PycharmProjectsuntitled1teachnewname')
我們在重命名的時候都使用了絕對路徑,這種方式更為嚴謹一點,在前面加個'r'更好一點,'r'在前面學習過在這裡就不作過多的介紹,重命名文件和目錄的方式一樣,就是注意一下字尾即可。
刪除檔案的時候我們使用os模組中的os.remove()函數,它的語法格式為:
os.remove(path)
path為我們要刪除檔案的路徑,可以使用相對路徑或絕對路徑,嚴謹的使用方式是使用絕對路徑,因為當需要刪除的檔案不在目前的工作目錄下,那麼將會拋出例外。
看下面程式碼:
運行過後:
我們採用了絕對路徑和相對路徑刪除了當前目錄下的兩個文件,如果我們使用相對路徑去刪除非當前目錄下的文件是什麼情況。
程式碼如下:
importosos.remove('tst.py')
運行結果:
Traceback(mostrecentcalllast):FileC:/Users/輕煙/PycharmProjects/untitled1/teach/test.py,line2,in<module>os.remove('tst.py')FileNotFoundError:[WinError2]系統找不到指定的文件。 :'tst.py'
因此我們在刪除檔案的時候最好使用絕對路徑:
importosos.remove(r'C:Users輕煙PycharmProjectsuntitled1venvtst.py')
很多時候我們要透過程式去獲得當前文件的一些信息,例如它的最後一次更改時間或文件大小等。
我們使用os模組中的os.stat()方法來取得相關資訊。
我們直接透過例子來學習使用這種方法:
importosfile=os.stat('test.py')print(os.path.abspath('test.py'))#先存取路徑print(file.st_dev)#裝置號print(file.st_size)#檔案大小print (file.st_atime)#最後一次存取print(file.st_mtime)#最後一次修改時間
輸出結果為:
C:Users輕煙PycharmProjectsuntitled1teachtest.py10109555972391580789484.6353131580789484.635313
關於文件和目錄的相關操作到這裡就講完了,無論我們在使用C或者C++又或者是Java語言,項目開發的時候都離不開文件和目錄的管理,在實際開發的時候涉及到的內容會更多,掌握好這些基礎操作,對未來的學習有很大的幫助。