import os //os模塊基本實現了linux系統中所有的命令
os.system('終端命令'):在終端執行命令
os.getcwd():獲取當前的工作路徑
os.chdir():修改工作路徑
os.chmod():修改權限
os.chown():修改屬主屬組
os.mkdir():創建單個目錄,當目錄存在時報異常,相當linux中的mkdir
os.makedirs():遞歸創建目錄,當目錄存在時報異常,相當於linux中的mkdir -p
exist_ok=True:當目錄存在時不報異常
mode=0o777 :創建目錄時同時設置權限,0o表示八進制,0x表示十六進制
os.rmdir():刪除單個空目錄,此目錄下不能有任何文件
os.removedirs():遞歸刪除空目錄,當目錄中有文件時刪除會報錯
os.remove():刪除單個文件
os.listdir():列出當前目錄下的所有文件及目錄,以列表的形式返回;不會進行遞歸
os.scandir():返回一個生成器,可以通過迭代的方式顯示
例:aa=os.scandir()
aa.is_dir():判斷返回是否爲目錄
aa.name:獲取返回文件或目錄的名字
aa.path:獲取文件或目錄的路徑
os.walk():以迭代的方式返回當前目錄或者指定目錄下的所有文件和目錄;返回3個參數
for root,dirs,files in os.walk('/tmp/liuwei'):
print(root)
print(files)
print(files)
root:讀取到的目錄
dirs:表示當前目錄下有哪些目錄
files:表示當前目錄下有哪些文件
路徑相關的操作:
os.path.basename:返回文件名
os.path.dirname:返回路徑
os.path.join:把所有的路徑進行拼接,可以接收多個參數
os.path.split:把dirname和basename分開,返回一個二元組
os.path.splitext:分離文件的擴展名,返回一個二元組;例test.txt,返回的爲(‘test’,’.txt’) os.path.abspath:給出相對路徑時,返回絕對路徑
os.path.isdir:是否是目錄
os.path.isfile:是否是文件
import shutil
shutil.move('src','dest'):對目錄進行重命名或者移動,移動到當前目錄下是重命名,到其它爲移動
shutil.copyfile:僅複製數據
shutil.copymode:僅複製權限
shutil.copystat:複製stat info(atime,ctime,mtime)
shutil.copy():複製數據與權限
shutil.copy2():複製數據與stat info(包括權限,atime,ctime,mtime,flags等)
shutil.copytree():遞歸複製目錄,相當於linux中的copy -r
當複製的文件爲鏈接文件時,會找到源文件進行復制,複製過去不是符號連接
symlinks=True:當有鏈接文件時,複製過去也爲鏈接文件