1. 程式人生 > >Python中os和shutil模塊實用方法集錦

Python中os和shutil模塊實用方法集錦

重命名 信息 env putenv six ner 文件夾 rem move

# os 模塊

os.sep 可以取代操作系統特定的路徑分隔符。windows下為 ‘\\‘
os.name 字符串指示你正在使用的平臺。比如對於Windows,它是‘nt‘,而對於Linux/Unix用戶,它是 ‘posix‘
os.getcwd() 函數得到當前工作目錄,即當前Python腳本工作的目錄路徑
os.getenv() 獲取一個環境變量,如果沒有返回none
os.putenv(key, value) 設置一個環境變量值
os.listdir(path) 返回指定目錄下的所有文件和目錄名
os.remove(path) 函數用來刪除一個文件
os.system(command) 函數用來運行shell命令
os.linesep 字符串給出當前平臺使用的行終止符。例如,Windows使用 ‘\r\n‘,Linux使用 ‘\n‘ 而Mac使用 ‘\r‘
os.path.split(path) 函數返回一個路徑的目錄名和文件名
os.path.isfile() 和os.path.isdir()函數分別檢驗給出的路徑是一個文件還是目錄
os.path.exists() 函數用來檢驗給出的路徑是否真地存在
os.curdir 返回當前目錄 (‘.‘)
os.mkdir(path) 創建一個目錄
os.makedirs(path) 遞歸的創建目錄
os.chdir(dirname) 改變工作目錄到dirname
os.path.getsize(name) 獲得文件大小,如果name是目錄返回0L
os.path.abspath(name) 獲得絕對路徑
os.path.normpath(path) 規範path字符串形式
os.path.splitext() 分離文件名與擴展名
os.path.join(path,name) 連接目錄與文件名或目錄
os.path.basename(path) 返回文件名
os.path.dirname(path) 返回文件路徑
os.walk(top,topdown=True,onerror=None) 遍歷叠代目錄
os.rename(src, dst) 重命名file或者directory src到dst 如果dst是一個存在的directory, 將拋出OSError. 在Unix, 如果dst在存且是一個file, 如果用戶有權限的話,它將被安靜的替換. 操作將會失敗在某些Unix 中如果src和dst在不同的文件系統中. 如果成功, 這命名操作將會是一個原子操作 (這是POSIX 需要). 在 Windows上, 如果dst已經存在, 將拋出OSError,即使它是一個文件. 在unix,Windows中有效。
os.renames(old, new) 遞歸重命名文件夾或者文件。像rename()

# 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的東西
shutil.copy2( src, dst) 如果兩個位置的文件系統是一樣的話相當於是rename操作,只是改名;如果是不在相同的文件系統的話就是做move操作
shutil.copytree( olddir, newdir, True/Flase)
把olddir拷貝一份newdir,如果第3個參數是True,則復制目錄時將保持文件夾下的符號連接,如果第3個參數是False,則將在復制的目錄下生成物理副本來替代符號連接
shutil.rmtree( src ) 遞歸刪除一個目錄以及目錄內的所有內容

Python中os和shutil模塊實用方法集錦