【Python學習筆記Day30】5.6 文件系統

【Python學習筆記Day30】 文件系統

1.模塊

是一個可用代碼塊的打包,在上一講中,我們可以定義很多已經寫好的函數包等

模塊是一個包含所有你定義的而函數和變量的文件,其後綴名是py.模塊可以被別的程序引用,以使用該函數模塊功能
例如使用random的堆積函數時,如果直接使用

secret = random.randint(1,10)

則會報錯,必須在使用前調用random模塊

import random

2.OS模塊

Operating System
有了OS模塊,我們不需要關心什麼操作系統下使用什麼模塊,OS模塊會幫我們使用正確的模塊並調用
我們第一節課就講過了,Python是跨平臺的語言,也即是說同樣的源代碼在不同的操作系統不需要修改就可以同樣實現。
因此Python的作者就倒騰了OS模塊這麼一個玩意兒出來,有了OS模塊,我們不需要關心什麼操作系統下使用什麼模塊,OS模塊會幫你選擇正確的模塊並調用。

3.os模塊中關於文件/目錄常用的函數使用方法

在使用os模塊前,必須先

import os

1) getcwd() 返回當前工作目錄

path = os.getcwd()
print(path) #打印該程序代碼存放的文件路徑

2) chdir(path) 改變工作目錄

os.chdir('D:\\')
print(os.getcwd())      #顯示當前的工作目錄處於D盤下面

3) listdir(path=’.’)

列舉指定目錄中的文件名(’.‘表示當前目錄,’…'表示上一級目錄)

print(os.listdir('D:\\'))   #會打印所有的D盤下的文件及文件夾,還包括隱藏文件等,作爲一個列表

4)mkdir(path)

創建單層目錄,如該目錄已存在拋出異常

5)makedirs(path)

遞歸創建多層目錄,如該目錄已存在拋出異常,注意:'E:\a\b’和’E:\a\c’並不會衝突

6)remove(path)

刪除文件,刪除的文件夾,下級不能包含子文件

7)rmdir(path)

刪除單層目錄,如該目錄非空則拋出異常

8)removedirs(path)

遞歸刪除目錄,從子目錄到父目錄逐層嘗試刪除,遇到目錄非空則拋出異常

9)rename(old, new)

將文件old重命名爲new

10)system(command) 運行系統的shell命令

os.system('cmd') 打開系統的cmd命令窗口
os.system('calc')   打開計算器

11)walk(top)

遍歷top路徑以下所有的子目錄,返回一個三元組:(路徑, [包含目錄], [包含文件])

以下是支持路徑操作中常用到的一些定義,支持所有平臺
1)os.curdir 指代當前目錄(’.’)
2)os.pardir 指代上一級目錄(’…’)
3)os.sep 輸出操作系統特定的路徑分隔符(Win下爲’\’,Linux下爲’/’)
4)os.linesep 當前平臺使用的行終止符(Win下爲’\r\n’,Linux下爲’\n’)
5)os.name 指代當前使用的操作系統(包括:‘posix’, ‘nt’, ‘mac’, ‘os2’, ‘ce’, ‘java’)
6)
print(os.name) #打印nt

4. os.path

模塊中關於路徑常用的函數使用方法

1)basename(path)

去掉目錄路徑,單獨返回文件名
print(os.path.basename(‘E:\abs\adad\das\adc.txt’))

2)dirname(path)

去掉文件名,單獨返回目錄路徑
print(os.path.dirname(‘E:\abs\adad\das\adc.txt’))

3)join(path1[, path2[, …]])

將path1, path2各部分組合成一個路徑名
print(os.path.join(‘A’,‘B’,‘C’,‘D’))

4)split(path)

分割文件名與路徑,返回(f_path, f_name)元組。如果完全使用目錄,它也會將最後一個目錄作爲文件名分離,且不會判斷文件或者目錄是否存在

5)splitext(path)

分離文件名與擴展名,返回(f_name, f_extension)元組

6)getsize(file)

返回指定文件的尺寸,單位是字節

7)getatime(file)

返回指定文件最近的訪問時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)

8)getctime(file)

返回指定文件的創建時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)

9)getmtime(file)

返回指定文件最新的修改時間(浮點型秒數,可用time模塊的gmtime()或localtime()函數換算)

time1 = os.path.getatime('D:\\Project\\python\\1st.py')
print(time1)      #得到的是一個浮點數
#使用time模塊可以將其轉化爲標準時間
import time
time2 = time.localtime(time1)
print(time2)

5.以下爲函數返回 True 或 False

1)exists(path) 判斷指定路徑(目錄或文件)是否存在
2)isabs(path) 判斷指定路徑是否爲絕對路徑
3)isdir(path) 判斷指定路徑是否存在且是一個目錄
4)isfile(path) 判斷指定路徑是否存在且是一個文件
5)islink(path) 判斷指定路徑是否存在且是一個符號鏈接
6)ismount(path) 判斷指定路徑是否存在且是一個掛載點
7)samefile(path1, paht2) 判斷path1和path2兩個路徑是否指向同一個文件

歡迎關注下面公衆號,每週精選一篇原創文章!!!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章