#文件、文件夾的移動(dòng)、復(fù)制、刪除、重命名
#導(dǎo)入shutil模塊和os模塊
import shutil,os
#復(fù)制單個(gè)文件
shutil.copy("C:\\a\\1.txt","C:\\b")
#復(fù)制并重命名新文件
shutil.copy("C:\\a\\2.txt","C:\\b\\121.txt")
#復(fù)制整個(gè)目錄(備份)
shutil.copytree("C:\\a","C:\\b\\new_a")
#刪除文件
os.unlink("C:\\b\\1.txt")
os.unlink("C:\\b\\121.txt")
#刪除空文件夾
try:
os.rmdir("C:\\b\\new_a")
except Exception as ex:
print("錯(cuò)誤信息:"+str(ex))#提示:錯(cuò)誤信息,目錄不是空的
#刪除文件夾及內(nèi)容
shutil.rmtree("C:\\b\\new_a")
#移動(dòng)文件
shutil.move("C:\\a\\1.txt","C:\\b")
#移動(dòng)文件夾
shutil.move("C:\\a\\c","C:\\b")
#重命名文件
shutil.move("C:\\a\\2.txt","C:\\a\\new2.txt")
#重命名文件夾
shutil.move("C:\\a\\d","C:\\a\\new_d")
os.getcwd() —— 獲取當(dāng)前活動(dòng)目錄,當(dāng)前路徑
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先做網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有華池免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
os.chdir(path) —— 活動(dòng)目錄切換到path
os.getcwd() # 獲取當(dāng)前活動(dòng)目錄
'C:\Software\Python35'
os.chdir('C://') # 活動(dòng)目錄切換到C:/
os.getcwd() # 獲取當(dāng)前活動(dòng)目錄
'C:\'
os.chdir('C:\Software\Python35') # 切換回活動(dòng)目錄
os.getcwd() —— 查看當(dāng)前所在路徑。
os.listdir(path) —— 列舉目錄下的所有文件與目錄。返回list列表。
os.walk(path) —— 列舉目錄下的所有文件與目錄(包含子文件夾)。返回可迭代對(duì)象。
import os
os.getcwd() # 獲取當(dāng)前目錄路徑
'C:\Software\Python35'
os.listdir('.') # 返回當(dāng)前目錄下目錄與文件
['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', ....]
os.listdir(r'C:\Users\Public\SogouInput\USBDT') # 返回路徑下目錄與文件
['OctopusDownloader.exe', 'SgRose.dll']
for root,dirs,files in os.walk('.'):
print(root) # 當(dāng)前目錄路徑str
print(dirs) # 當(dāng)前路徑下的所有子目錄list
print(files) # 當(dāng)前路徑下的所有非目錄的文件
os.mkdir(path) —— 創(chuàng)建目錄(只能創(chuàng)建一層)
os.makedirs(path) —— 遞歸創(chuàng)建目錄
os.rename(src ,dst) —— 重命名文件或目錄,從 src 到 dst
os.renames(src ,dst) —— 遞歸地對(duì)目錄進(jìn)行更名,也可以對(duì)文件進(jìn)行更名。
os.rmdir(path) —— 刪除path指定的空目錄,如果目錄非空,則拋出一個(gè)OSError異常
os.removedirs(path) 遞歸刪除目錄
os.chdir('C://') # 活動(dòng)目錄切換到C:/盤下
os.getcwd() # 獲取當(dāng)前活動(dòng)目錄
'C:\'
os.mkdir('test') # 在當(dāng)前活動(dòng)目錄創(chuàng)建test目錄
os.path.exists('test') # 確認(rèn)test目錄創(chuàng)建成功
True
os.rename('test','test001') # test重命名為test001
'test' in os.listdir('.') # 確認(rèn)文件或目錄是否存在
False
'test001' in os.listdir('.')
True
os.rmdir('test001') # 刪除test001目錄
'test001' in os.listdir('.')
False
os.remove(path) —— 刪除指定文件
os.rename(src ,dst) —— 重命名文件或目錄,從 src 到 dst
文件新增在打開(kāi)寫入模式時(shí)創(chuàng)建os.open("文件名", os.O_CREAT)或open("文件名",’w’)
fo=os.open("test.txt", os.O_CREAT) # 創(chuàng)建并打開(kāi)文件
'test.txt' in os.listdir('.') # 判斷文件是否存在
True
os.close(fo) # 關(guān)閉打開(kāi)文件
os.rename('test.txt','test001.txt') # 重命名文件
'test.txt' in os.listdir('.')
False
'test001.txt' in os.listdir('.')
True
os.remove('test001.txt') # 刪除文件
'test001.txt' in os.listdir('.')
False
os.path.abspath(path) —— 返回path的絕對(duì)路徑
os.path.isabs(path) —— 是否是絕對(duì)路徑
os.path.abspath('.') # . 表示當(dāng)前目錄
'C:\Software\Python35'
os.path.abspath('..') # .. 表示上級(jí)目錄
'C:\Software'
os.path.isabs('C:\Software\Python35') # 路徑是否為絕對(duì)路徑
True
os.path.isabs('..') # 路徑是否為相對(duì)路徑
False
os.path.basename(path) —— 去掉目錄路徑獲取文件名
os.path.dirname(path) —— 去掉文件名獲取目錄
path='C:\Software\Python35\python.exe'
os.path.basename(path)
'python.exe'
os.path.dirname(path)
'C:\Software\Python35'
os.path.isdir(path) —— 是否是目錄
os.path.isfile(path) —— 是否是文件
當(dāng)文件或者目錄不存在是返回False
os.path.isfile('C:\Software\Python35\python.exe') # 是否為文件
True
os.path.isfile('C:\Software\Python35')
False
os.path.isfile('.\python.exe') # 可以使用相對(duì)路徑
True
os.path.isdir('C:\Software\Python35')
True
os.path.isdir('python.exe')
False
os.path.isdir('.')
True
os.path.exists(path) —— 文件或目錄是否存在,返回True 或 False
os.path.exists('lib')
True
os.path.exists('.\python125.exe')
False
os.path.getmtime(path) —— 文件或文件夾的最后修改時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù)。
os.path.getatime(path) —— 文件或文件夾的最后訪問(wèn)時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù)。
os.path.getctime(path) —— 文件或文件夾的創(chuàng)建時(shí)間,從新紀(jì)元到訪問(wèn)時(shí)的秒數(shù)。
os.path.getsize(path) —— 文件或文件夾的大小,若是文件夾返回0
os.path.split(path) —— 將路徑分解為(文件夾,文件名)的元組
os.path.join(path2,path3,...) —— 將path進(jìn)行組合,若其中有絕對(duì)路徑,則之前的path將被刪除
path='C:\Software\Python35\python.exe'
os.path.split(path) # 拆分路徑
('C:\Software\Python35', 'python.exe')
os.path.split('.')
('', '.')
os.path.split('C:\Software\Python35') # 注意于下一行的區(qū)別
('C:\Software', 'Python35')
os.path.split('C:\Software\Python35\')
('C:\Software\Python35', '')
os.path.join('C:\Software\Python35', 'python.exe')
'C:\Software\Python35\python.exe'
os.path.join('C:\Software\Python35\a\b', 'C:\Software\Python35\c')
'C:\Software\Python35\c'