日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python 内置模块之 os

發布時間:2023/12/20 python 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python 内置模块之 os 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

os.walk

os.walk() 方法是一個簡單易用的文件、目錄遍歷器,可以幫助我們高效的處理文件、目錄方面的事情。簡單來說,就是挨個遍歷指定路徑下的目錄(文件夾)和文件。用于通過在目錄樹中游走輸出在目錄中的目錄名,文件名在Unix,Windows中有效。

要使用os.walk,首先要載入該函數,可以使用以下兩種方法

  • import os
  • from os import walk

語法

os.walk(top[, topdown=True[, οnerrοr=None[, followlinks=False]]])

參數

  • top:? 是你所要遍歷的目錄的地址
  • topdown:? 可選,為 True,則優先遍歷 top 目錄,否則優先遍歷 top 的子目錄(默認為開啟)。如果 topdown 參數為 True,walk 會遍歷top文件夾,與top 文件夾中每一個子目錄。
  • onerror:? 可選, 需要一個 callable 對象,當 walk 需要異常時,會調用。
  • followlinks:? 可選, 如果為 True,則會遍歷目錄下的快捷方式(linux 下是 symbolic link)實際所指的目錄(默認關閉)。

返回值

os.walk 的返回值是一個生成器(generator),也就是說我們需要遍歷它,來獲得所有的內容。每次遍歷的對象都是返回的是一個三元組(root,dirs,files)

  • root 所指的是當前正在遍歷的這個文件夾的本身的地址
  • dirs 是一個list,內容是該文件夾中所有的目錄的名字(不包括子目錄)
  • files 同樣是list,內容是該文件夾中所有的文件(不包括子目錄)如果topdown 參數為真,walk 會遍歷top文件夾,與top文件夾中每一個子目錄。

實例

#!/usr/bin/python # -*- coding: UTF-8 -*- import os for root, dirs, files in os.walk(".", topdown=False):print(dirs)print(files)# 第二次,第三次循環的是當前目錄下的dirs1,dirs2文件夾,執行以上程序輸出結果為: ['dirs1', 'dirs2'] ['f1', 'f2', 'f3'] [] ['dirs1_f1',dirs1_2] [] ['dirs2_f1',dirs2_2]

os.path

官方文檔:http://docs.python.org/library/os.path.html

下列所列文件路徑為’/home/flp/abc.txt’

os.path.abspath(path)返回絕對路徑(‘/home/flp/abc.txt’)
os.path.basename(path)返回文件名(‘abc.txt’)
os.path.commonprefix(list)返回list(多個路徑)中,所有path共有的最長的路徑
os.path.dirname(path)返回文件路徑(‘/home/flp’)
os.path.exists(path)如果路徑 path 存在,返回 True;如果路徑 path 不存在,返回 False。
os.path.lexists路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path)把path中包含的”~”和”~user”轉換成用戶目錄
os.path.expandvars(path)根據環境變量的值替換path中包含的”$name”和”${name}”
os.path.getatime(path)返回最近訪問時間(浮點型秒數)
os.path.getmtime(path)返回最近文件修改時間
os.path.getctime(path)返回文件 path 創建時間
os.path.getsize(path)返回文件大小,如果文件不存在就返回錯誤
os.path.isabs(path)判斷是否為絕對路徑
os.path.isfile(path)判斷路徑是否為文件
os.path.isdir(path)判斷路徑是否為目錄
os.path.islink(path)判斷路徑是否為鏈接
os.path.ismount(path)判斷路徑是否為掛載點
os.path.join(path1[, path2[, …]])把目錄和文件名合成一個路徑,如os.path.join(‘/home/flp’,’abc.txt’)
os.path.normcase(path)轉換path的大小寫和斜杠
os.path.normpath(path)規范path字符串形式
os.path.realpath(path)返回path的真實路徑
os.path.relpath(path[, start])從start開始計算相對路徑
os.path.samefile(path1, path2)判斷目錄或文件是否相同
os.path.sameopenfile(fp1, fp2)判斷fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2)判斷stat tuple stat1和stat2是否指向同一個文件
os.path.split(path)把路徑分割成 dirname 和 basename,返回一個元組,如(‘/home/flp’,’abc.txt’)
os.path.splitdrive(path)一般用在 windows 下,返回驅動器名和路徑組成的元組
os.path.splitext(path)分割路徑,返回路徑名和文件擴展名的元組(‘/home/flp/abc’,’txt’)
os.path.splitunc(path)把路徑分割為加載點與文件
os.path.walk(path, visit, arg)遍歷path,進入每個目錄都調用visit函數,visit函數必須有3個參數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有文件名,args則為walk的第三個參數
os.path.supports_unicode_filenames設置是否支持unicode路徑名

os.stat

os.stat(‘path/filename’)

獲取文件/目錄信息?的結構說明

print(os.stat(c:abc)) # os.stat_result(st_mode=16895, st_ino=11821949022186825, st_dev=3303659261, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1547435238, st_mtime=1547435238, st_ctime=1543997539)stat 結構:st_mode: inode 保護模式st_ino: inode 節點號。st_dev: inode 駐留的設備。st_nlink: inode 的鏈接數。st_uid: 所有者的用戶ID。st_gid: 所有者的組ID。st_size: 普通文件以字節為單位的大小;包含等待某些特殊文件的數據。st_atime: 上次訪問的時間。st_mtime: 最后一次修改的時間。st_ctime: 由操作系統報告的"ctime"。在某些系統上(如Unix)是最新的元數據更改的時間,在其它系統上(如Windows)是創建時間(詳細信息參見平臺的文檔)。

os屬性

os.sep # 輸出操作系統特定的路徑分隔符,win下為"\\",Linux下為"/" os.linesep # 輸出當前平臺使用的行終止符,win下為"\r\n",Linux下為"\n" os.pathsep # 輸出用于分割文件路徑的字符串 win下為;,Linux下為: os.name # 輸出字符串指示當前使用平臺。win->'nt'; Linux->'posix'

os其他

os.makedirs('dirname1/dirname2') # 可生成多層遞歸目錄 os.removedirs('dirname1') # 若目錄為空,則刪除,并遞歸到上一級目錄,如若也為空,則刪除,依此類推 os.mkdir('dirname') # 生成單級目錄;相當于shell中mkdir dirname os.rmdir('dirname') # 刪除單級空目錄,若目錄不為空則無法刪除,報錯;相當于shell中rmdir dirname os.listdir('dirname') # 列出指定目錄下的所有文件和子目錄,包括隱藏文件,并以列表方式打印 os.remove() # 刪除一個文件 os.rename("oldname","newname") # 重命名文件/目錄 os.stat('path/filename') # 獲取文件/目錄信息os.system("bash command") # 運行shell命令,直接顯示,或運行cmd命令,無返回值 os.popen("bash command).read() # 運行shell命令,返回執行結果 os.getcwd() # 獲取當前工作目錄,即當前python腳本工作的目錄路徑 os.chdir("dirname") # 改變當前腳本工作目錄;相當于shell下cd

?

總結

以上是生活随笔為你收集整理的Python 内置模块之 os的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。