os模塊
# 輸出平臺名稱,windows是“nt”,Unix是“posix”。
1. os.name
# 路徑分隔符,如windows的'\\\\',linux的'/'
2. os.sep
# 分隔路徑的分隔符,如windows的';',linux的':'
3. os.pathsep
# 行分隔符,如windows的'\\r\\n',linux的'\\n'
4. os.linesep
# 對環境變量進行映射,如os.environ["PYTHONPATH"]
5. os.environ
# 在windows更好的應該使用os.startfile(),否則會有空格問題。windows中啟動了外部程序之後,Python程序仍然會繼續運行,Unix中,會等待os.system()命令完成。
6. os.system(cmd)
# 獲取當前Python腳本所在的目錄。
7. os.getcwd()
# 輸出當前路徑,即“.”
8. os.curdir
# 重命名文件或目錄,如果new是文件夾,那麼拋出OSError,在Unix中,如果new是文件並且存在,那麼會被覆蓋,在windows中,如果new是文件並且存在,那麼會拋出OSError。
9. os.rename(old, new)
# 重命名文件,如果中間路徑的文件夾不存在,則會創建該文件夾
10. os.renames(old, new)
# 獲取dirpath目錄下的所有文件名和目錄名(除了.和..)
11. os.listdir(dirpath)
# 將當前工作目錄改變為指定的dirpath路徑
12. os.chdir(dirpath)
# 創建目錄dirpath
13. os.mkdir(dirpath)
# 創建多級目錄dirpath
14. os.makedirs(dirpath)
# 將filepath表示的文件刪除,若是目錄會拋出OSError,與os.unlink()作用一樣
15. os.remove(filepath)
# 刪除空dirpath目錄,其中,dirpath目錄必須是空的,否則拋出OSError,刪除非空目錄使用shutil.rmtree()
16. os.rmdir(dirpath)
# 遞歸刪除dirpath目錄,dirpath必須是空的,作用與os.makedirs(dirpath)類似
17. os.removedirs(dirpath)
# 創建鏈接到source的軟鏈接link_name。
18. os.symlink(source, link_name)
os.path模塊
# 分隔目錄名和文件名,返回目錄名和文件名組成的元組。os.path.split("C:\\\\Python27\\\\file.txt")返回("C:\\\\Python27", "file.txt")
1. os.path.split(path)
# 校驗路徑是否為文件。路徑不存在時一定會返回False
2. os.path.isfile(filepath)
# 判斷路徑是否為目錄
3. os.path.isdir(dirpath)
# 判斷路徑是否為鏈接
4. os.path.islink(path)
# 判斷路徑是否為絕對路徑
5. os.path.isabs(path)
# 判斷路徑是否為掛載點
6. os.path.ismount(path)
# 校驗給出的路徑是否存在
7. os.path.exists(path)
# 獲取給定路徑的絕對路徑
8. os.path.abspath(path)
# 規範路徑path的字符串形式
9. os.path.normpath(path)
# 獲取文件大小,字節數,目錄則返回0L,文件不存在會出錯
10. os.path.getsize(filepath)
# 分割文件名與擴展名,os.path.splitext(r"F:\\迅雷下載\\14228.mp4")返回("F:\\\\迅雷下載\\\\14228", ".mp4"),如果沒有擴展名則第二個返回值為''
11. os.path.splitext(filepath)
# 連接路徑path1和path2,返回連接後的路徑。
12. os.path.join(path1, path2)
# 返回filepath中的文件名,不關心文件是否存在,也就是返回最後一個層級的名字。
13. os.path.basename(filepath)
# 返回目錄名,不關心path是否存在,也就是返回除去最後一個層級後的路徑
14. os.path.dirname(path)
# 返回list中所有路徑的最長公共的路徑
15. os.path.commonprefix(list)
# 返回最後一次進入路徑path的時間
16. os.path.getatime(path)
# 返回路徑path下的最後一次修改時間
17. os.path.getmtime(path)
# 返回路徑path的創建時間
18. os.path.getctime(path)
# 返回路徑path的真實路徑,符號鏈接會被轉化成真實路徑
19. os.path.realpath(path)
# 如果不傳start參數,則從當前目錄開始計算,返回相對於path的路徑;傳入start參數,表示從start開始計算,返回相對於path的路徑,如:假設當前工作目錄為/Users/racing/Downloads:,os.path.relpath("/Users/racing/Downloads") # 返回"Downloads",os.path.relpath("/Users/racing/Downloads", "../../") # 返回"Users/racing/Downloads"
20. os.path.relpath(path[, start])
# 判斷目錄或者文件是否相同,只能用在Unix中
21. os.path.samefile(path1, path2)
# 判斷文件描述符fp1與fp2是否指向同意文件,只能用在Unix中
22. os.path.sameopenfile(fp1, fp2)
shutil模塊
# 移動文件/目錄
1. shutil.move(old, new)
# 複製文件(只能是文件),new必須是新的文件名,不能是文件夾。如果old和new一樣,會報錯。如果new文件存在,會被替換。
2. shutil.copyfile(old, new)
# 複製目錄(只能是目錄),且new必須不存在
3. shutil.copytree(old, new)
# old只能是文件,new可以是文件和目錄(創建或替換)
4. shutil.copy(old, new)
# 空目錄、有內容的目錄都可以刪
5. shutil.rmtree(dir)
閱讀更多 程序猿架構 的文章