前言
os模塊:是對(duì)操作系統(tǒng)的調(diào)用,模擬對(duì)操作系統(tǒng)的指令
os 模塊提供了一種使用操作系統(tǒng)相關(guān)功能的便攜方式。如果您只想讀取或?qū)懭胛募褂?open() 方法;如果要操作路徑,使用 os.path 模塊;如果要讀取命令行中所有文件中的所有行 ,使用 fileinput 模塊;有關(guān)創(chuàng)建臨時(shí)文件和目錄的信息,使用 tempfile 模塊;有關(guān)高級(jí)文件和目錄的處理,使用 shutil 模塊。
下面對(duì)經(jīng)常使用的功能進(jìn)行介紹;
全解
1. 獲取當(dāng)前路徑及路徑下的文件
os.getcwd():查看當(dāng)前所在路徑。
os.listdir(path): 列舉目錄下的所有文件。返回的是列表類型。
import os
cp = os.getcwd() # 獲取當(dāng)前路徑, 返回絕對(duì)路徑
print(cp) # C:\Users\Desktop\w3cschool\os
fileList = os.listdir(cp) # 獲取路徑下的文件,以及文件夾
print(fileList) # ['os_.py', 'sub', 'test.txt']
2. 獲取路徑的絕對(duì)路徑
os.path.abspath(path): 返回path的絕對(duì)路徑
abspath1 = os.path.abspath(".") # 返回當(dāng)前路徑的絕對(duì)路徑
print(abspath1) # C:\Users\Desktop\w3cschool\os
abspath2 = os.path.abspath("../") # 返回上一層路徑的絕對(duì)路徑
print(abspath2) # C:\Users\Desktop\w3cschool
3. 查看路徑的文件夾部分和文件名部分
os.path.split(path): 將路徑分解為(文件夾,文件名),返回的是元組類型??梢钥闯?,若路徑字符串最后一個(gè)字符是,則只有文件夾部分有值;若路徑字符串中均無(wú),則只有文件名部分有值。若路徑字符串有\(zhòng),且不在最后,則文件夾和文件名均有值。且返回的文件夾的結(jié)果不包含.
os.path.join(path1,path2,…): 將 path 進(jìn)行組合,若其中有絕對(duì)路徑,則之前的 path 將被刪除。
catalogue_and_file1 = os.path.split('D:\pythontest\ostest\Hello.py')
print(catalogue_and_file1) # ('D:\\pythontest\\ostest', 'Hello.py')
catalogue_and_file2 = os.path.split('.')
print(catalogue_and_file2) # ('', '.')
catalogue_and_file3 = os.path.split('D:\pythontest\ostest\\')
print(catalogue_and_file3) # ('D:\\pythontest\\ostest', '')
path_join1 = os.path.join('D:\pythontest', 'ostest')
print(path_join1) # D:\pythontest\ostest
path_join2 = os.path.join('D:\pythontest\ostest', 'hello.py')
print(path_join2) # D:\pythontest\ostest\hello.py
path_join3 = os.path.join('D:\pythontest\\b', 'D:\pythontest\\a')
print(path_join3) # D:\pythontest\a
os.path.dirname(path):返回path中的文件夾部分,結(jié)果不包含’’;
os.path.basename(path):返回path中的文件名。
4.os.path模塊詳解
#獲取
os.path.abspath()#獲取某一個(gè)文件的絕對(duì)路徑
os.path.getatime()#返回path所指的文件或目錄的最后的存取時(shí)間,時(shí)間戳
os.path.getmtime()#返回path所指的文件或目錄的最后的修改時(shí)間,時(shí)間戳
#以下三個(gè)可以不考慮路徑是否存在
os.path.split('C:\a\tes.txt')#返回一個(gè)元組,兩部分,一個(gè)目錄,一個(gè)文件名
os.path.dirname(r'C:\a\tex.txt')#獲取文件的絕對(duì)路徑
os.path.basename(r'C:\a\tes.txt')#獲取最后的值
#判斷是否存在
os.path.exists(r'C:')#判斷路徑是否存在
os.path.isabs(r'C:\a')#判斷是否一個(gè)絕對(duì)路徑
os.path.isfile(r'C:\a\tes.txt')#判斷是否一個(gè)文件
os.path.isdir()#是否是文件夾
#將多個(gè)部分組合成一個(gè)路徑
os.path.join(r'C:’,r‘\b',r'\a.txt')#將多個(gè)路徑組合返回
推薦好課:Python3 入門、Python3 進(jìn)階