os模塊是python標准庫中的一個用於訪問操作系統功能的模塊,下面簡要介紹一下常用的命令
1、os.name(). 判斷現在正在使用的平台,windows返回’nt’,Linux返回‘posix’
2、os.getcwd() 得到當前工作的目錄
3、os.listdir(). 指定所在目錄下民所有的文件和目錄名
4、os.remove(). 刪除指定文件
5、os.rmdir(). 刪除置頂目錄
6、os.mkdir(). 創建目錄
7、os.system(). 執行shell命令
8、os.chdir(). 改變目錄到指定目錄
9、os.getenv()與os.putenv() 讀取和設置環境變量
10 、os.linesep 給出當前平台使用的行終止符, windows使用’\r\n’,linux使用’\n’,而Mac使用’\r’
11、os.rename(old,new) 重命名
12、os.makedirs(r”c:\python\test”) 創建多級目錄
13、os.stat(file) 獲取文件屬性
14、os.chmod(file) 修改文件權限和時間戳
15、os.exit() 終止當前進程
文件操作方法大全:
16、os.mknod(“text.txt”) 創建空文件
17、fp = open(“text.txt”,w) 直接打開一個文件,如果文件不存在就創建文件
18、關於open模式
W:以寫方式打開
A:以追加模式打開(從EOF開始,必要時創建新文件)
r+:以讀寫模式打開
w+:以讀寫模式打開
a+: 以讀寫模式打開
rb:以二進制讀模式打開
wb :以二進制寫模式打開
ab:以二進制追加模式打開
rb+:以二進制讀寫模式打開
wb+:以二進制讀寫模式打開
ab+:以二進制讀寫模式打開
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+的模式打開,每次進行寫操作時,文件操作標記會自動返回到文件末尾
19、轉換目錄
Os.chdir(“path”). 換路徑
os.path的相關用法
1、os.path.isfile(). 判斷指定對象是否為文件,是就返回True,否就返回False
2、os.path.isdir(). 判斷指定對象是否是目錄。是True,否則False
3、os.path.exists(). 檢驗指定的對象是否存在。是就返回True,否就返回False
4、os.path.split(). 返回路徑的目錄和文件名
5、os.path.getsize(). 獲得文件的大小,如果為目錄,返回0
6、os.path.abspath(). 獲取絕對路徑
7、os.path.join(path,name). 連接目錄和文件名
8、os.path.basename(path). 返回文件名
9、 os.path.dirname(path). 返回文件路徑
10、os.path.normpath(path). 規范path字符串形式
11、os.path.splittext(). 分離文件名與擴展名
12、 os.path.isabs(path) . 如果path 是絕對路徑,就返回True
13、os.path.getatime(path) 返回path所指向的文件或者目錄的最后存取時間
14、os.path.getmtime(path) 返回path所指向的文件或者目錄的最后修改時間
15、os.path.realpath()。 獲取程序所在的實際目錄
shutil的功能介紹
shutil.copyfile(src, dst)從源src復制到dst中去。當然前提是目標地址是具備可寫權限。拋出的異常信息為IOException。如果當前的dst已存在的話就會被覆蓋掉
shutil.move(src, dst). 移動文件或重命名
shutil.copymode(src,dst). 只是會復制其權限,其他的東西是不會被復制的
shutil.copystat(src,dst). 復制權限、最后訪問時間、最后修改時間
shutil.copy(src, dst). 復制一個文件到另一個文件或者一個目錄
shutil.copy2(src,dst). 在copy的基礎上再復制文件最后訪問時間與修改時間也復制過來了,類似於cp -p的東西
如果兩個位置的文件系統是一樣的話相當於rename操作,只是改名;如果是不在相同的文件系統的話就是move操作
shutil.copytree(older,newdir,True/False)把olddir拷貝一份newdir,如果第三個參數是True,則復制目錄時將保持文件夾下的符號鏈接,如果第三個參數是False,則將在復制的目錄下生成物理副本來替代符號連接
Shutil.mtree(src). 遞歸刪除一個目錄以及目錄內的所有內容
