python類庫31[文件和目錄os+os.path+shutil]


一 常用函數

os模塊

os.sep 表示默認的文件路徑分隔符,windows為\, linux為/
os.walk(spath): 用來遍歷目錄下的文件和子目錄
os.listdir(dirname):列出dirname下的目錄和文件
os.mkdir() : 創建目錄
os.makedirs(): 創建目錄,包含中間級目錄
os.remove():刪除文件,不能是目錄
os.rmdir():刪除空目錄
os.removedirs(path):刪除目錄及其子目錄
os.rename(src, dst) :修改文件名
os.renames(old, new) :修改文件或目錄名,包含中間級

os.chdir("/tmp") : 更改當前目錄
os.chmod( "c:\\test\\buildid.txt", stat.S_IWRITE ) : 去除文件的只讀屬性

os.path模塊

os.path.pathsep 表示默認的路徑間的分隔符,windows為; Linux為:
os.path.isdir(name):判斷name是不是一個目錄,name不是目錄就返回false
os.path.isfile(name):判斷name是不是一個文件,不存在name也返回false
os.path.exists(name):判斷是否存在文件或目錄name
os.path.getsize(name):獲得文件大小,如果name是目錄返回0L
os.path.getctime(name):獲得文件的創建時間

os.path.getmtime(name):獲得文件的修改時間

os.path.getatime(name):獲得文件的最后訪問時間

?

os.path.isabs(name):測試是否是絕對路徑
os.path.abspath(name):獲得絕對路徑
os.path.normpath(path):規范path字符串形式

os.path.relpath(path, start='.'):返回路徑的相對版本

os.path.split(name):分割文件名與目錄(事實上,如果你完全使用目錄,它也會將最后一個目錄作為文件名而分離,同時它不會判斷文件或目錄是否存在)
os.path.splitext():分離文件名與擴展名
os.path.splitdrive():分離驅動名或unc名字
os.path.join(path,name):連接目錄與文件名或目錄

os.path.basename(path):返回文件名
os.path.dirname(path):返回文件路徑

os.path.expanduser("~"):用來獲得user的home路徑。


shutil模塊
shutil.copyfile(src, dst): 拷貝文件
shutil.copytree(srcDir, dstDir) : 拷貝目錄

?

shutil.rmtree('dir') : 刪除非空文件夾

shutil.move('old','new') :修改文件和目錄名稱

?

glob模塊

匹配文件:glob.glob(r”c:\linuxany\*.py”)
?

二 實例 (os.walk的遍歷過程如下)



import?os

#?tree?c:\test?/f
#
C:\TEST
#
│??test.log
#

#
├─test2
#
│??????test2.log
#

#
└─test3

tree?
=?os.walk('C:/test')
for?directoryItem?in?tree:
????directory
=directoryItem[0]
????subDirectories
=directoryItem[1]
????filesInDirectory
=directoryItem[2]????
????
print('-----------------')
????
print('the?directory?is?:',?directory)
????
print('the?sub?directories?are?:?',?subDirectories)
????
print('the?files?are?:',?filesInDirectory)

#-----------------
#
the?directory?is?:?C:/test
#
the?sub?directories?are?:??['test2',?'test3']
#
the?files?are?:?['test.log']
#
-----------------
#
the?directory?is?:?C:/test\test2
#
the?sub?directories?are?:??[]
#
the?files?are?:?['test2.log']
#
-----------------
#
the?directory?is?:?C:/test\test3
#
the?sub?directories?are?:??[]
#
the?files?are?:?[]


完!

?

轉載于:https://www.cnblogs.com/itech/archive/2009/12/16/1625636.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276265.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276265.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276265.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

上一輪中獎信息公布

大家好,我是若川,抽獎活動其實挺耗時耗力的,尤其是留言和在看抽獎。比如我這篇文章寫完就已經23:50了。特別想說的是:有126人點擊了在看,但我的好友展示只有93人在看。說明還有30多人點擊了在看,但忘記加我…

css判斷不同分辨率顯示不同寬度布局實現自適應寬度

轉載鏈接:http://www.jb51.net/css/151312.html 點評:CSS判斷不同分辨率瀏覽器(顯示屏幕)顯示不同寬度布局CSS3技術支持IE6到IE8。將用到css3 media樣式進行判斷,但IE9以下版本不支持CSS3技術,這里DIVCSS5給…

安卓相機 高幀率_Android MediaCodec和攝像頭:如何實現更高的幀速率從相機獲取幀原始數據?...

攝像機API有兩個不同的參數用于控制幀速率:setPreviewFrameRate,它采用單幀速率值并且不推薦使用,setPreviewFpsRange采用一系列FPS值,是當前推薦的控制.單FPS設置控制不充分的原因是,有時您希望相機在黑暗條件下降低幀速率以使取景器保持明亮(靜態相機取景器就是這…

開發、測試與QA的區別以及其他

覺得這個比喻比較新穎,覺得蠻有意思的,故轉自過來。 最近部門中有同事在問這個問題,我想應該還是有滿多人對這三個角色的定位還不是很清楚,因此就這三個角色談談我個人的認識。 網絡上關于這三種角色的定義已經夠多,在…

CentOS7Jenkins安裝

2019獨角獸企業重金招聘Python工程師標準>>> CentOS7Jenkins安裝 2017年05月07日 20:20:32 申明霜 閱讀數:13945 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/sms15732621690/article/details/713…

2020 全球 JS 現狀調查報告

大家好,我是若川。偷偷告訴你,今天推文的第二條是在我的公眾號回復「網盤」免費領取百度網盤會員,歡迎大家分享轉發。給大家分享一篇好文,往期類似好文:2020 前端技術發展回顧2020年大前端技術趨勢解讀以下是正文&…

ie兼容響應式布局的實現總結 和 針對ie瀏覽器的CSS

參考鏈接:http://zhidao.baidu.com/link?urlbQioDKMnG_eQoE6dCxzd2hPtMyiB7phu6hBdOupn1Pjk1hV-ItXFZS5GDUBoH5qrfi9LXkUoSciXTiGN36G6LK 參考鏈接:http://blog.sina.com.cn/s/blog_601b97ee0101aszo.html ie瀏覽器hack .demo {padding:10px;padding:9…

group by 保留哪一條數據_使用R語言繪制一維數據統計圖總結

加載數據 繪制莖葉圖 繪制直方圖 繪制概率密度曲線 繪制小提琴圖 繪制箱線圖 繪制小提琴圖箱線圖 集中趨勢統計 分散程度 apply的使用加載數據模擬數據下載library(tidyverse) cjb <- read.csv("/home/wy/Downloads/cjb.csv",header TRUE,stringsAsFactors FALS…

npm安裝和Vue運行

一、開始&#xff1a; 下載地址&#xff1a;http://nodejs.cn/download/ 下載安裝&#xff1a; 直到 二、打開CMD,檢查是否正常 在安裝目錄里新增兩個文件夾 然后運行命令&#xff1a;如下圖&#xff1a; npm config set prefix "D:\InstallSoftWare\nodejs\node_global&q…

Scott 32 歲前端年終總結,探尋另一種可能

今年一年都是飛快 這 10 年編程好時光&#xff0c;花費在不經意間&#xff0c;而立的第三年也即將用完&#xff1a;23 到 26 歲&#xff0c;花在了阿里&#xff0c;從入門到職業迷茫&#xff0c;27 到 29 歲&#xff0c;花在了創業&#xff0c;從熱血到倒閉還錢&#xff0c;30 …

跨頁數據傳遞的兩種方式

選擇具有PostBackUrl屬性的三個控件Button、LinkButton、ImageButton。PostBackUrl屬性的值就是投遞的頁面URL。 要在接收頁面按對象的方式接收投遞頁面的表單中的值有兩種方式&#xff1a; 1、PreviousPage.FindControl(“控件變量名”)&#xff0c;這個方法返回的是Control類…

linux批量殺進程_Linux下批量殺JAVA進程

在工作中經常需要停止JAVA進程&#xff0c;停止時間也比較長&#xff0c;那么有時候因為一些情況&#xff0c;需要把 linux 下JAVA所有進程kill 掉&#xff0c;又不能用killall 直接殺掉某一進程名稱包含的所有運行中進程(我們可能只需要殺掉其中的某一類或運行指定參數命令的進…

用jquery1.9版本判斷ie瀏覽器及ie6瀏覽器

參考鏈接&#xff1a;http://www.my0832.com/158182/blog-117887.html jQuery 從 1.9 版開始&#xff0c;移除了 $.browser 和 $.browser.version &#xff0c; 取而代之的是 $.support 。 在更新的 2.0 版本中&#xff0c;將不再支持 IE 6/7/8。 以后&#xff0c;如果用戶需要…

嵌入式操作系統 NuttX 5.0 發布

Nuttx 是一個實時嵌入式操作系統&#xff08;RTOS&#xff09;&#xff0c;它有一個小巧是在微控制器的環境中使用。這是完全可擴展&#xff0c;從小型&#xff08;8位&#xff09;至中型嵌入式&#xff08;32位&#xff09;系統。它的目的還 在于要完全符合標準&#xff0c;完…

Windows下Mysql 的安裝和卸載

2019獨角獸企業重金招聘Python工程師標準>>> 一、安裝 1、下載zip文件 2、解壓&#xff0c;在bin目錄下新建my.ini [mysql] # 設置mysql客戶端默認字符集 default-character-setutf8 [mysqld] # 設置3306端口 port3306 # 設置mysql的安裝目錄 basedirC:\Program Fil…

現在學前端還來得及嗎?總聽人說飽和了

“前端已經飽和了&#xff0c;現在學前端沒有前途了”每次聽到這種論調我都氣不打一處來。自己技藝不精&#xff0c;然后就說市場飽和了。是&#xff0c;現在的確不是那個會切個圖&#xff0c;懂點htmlCSS就能找到工作的年代了。現在對前端的技術要求稍微高了點&#xff0c;但這…

jquery網頁刷新后控件失效_jquery動態增減控件如何才能不刷新頁面

已結貼√問題點數&#xff1a;20 回復次數&#xff1a;9jquery動態增減控件如何才能不刷新頁面用jquery動態管理控件&#xff0c;可是每一次增減控件都會刷新頁面&#xff0c;然后控件里面原來輸入的值就都不在了&#xff0c;可以怎么來實現在動態增減控件時不刷新頁面呢&#…

HTML代碼 網頁設置 QQ空間等分享

轉載鏈接&#xff1a;http://zhidao.baidu.com/link?urlgpehGR7eSSyilECgVIOuZnDycBUjKABR2VubZAUSRD89qQrNhlCBxHuIUq9mQmvGaQy2RUSw1gAx614JlroXFK 右邊&#xff1a; <!-- Baidu Button BEGIN --> <script type"text/javascript" id"bdshare_js&qu…

固定資產減值準備與累計折舊會計核算的關系

轉載http://hi.baidu.com/ddumy/blog/item/d96b361901776e7ddab4bdd6.html固定資產減值準備與累計折舊會計核算的關系【摘 要】 固定資產減值準備與累計折舊是固定資產核算的重要組成部分&#xff0c;又都是“固定資產”的備抵項目&#xff0c;它們共同反映著固定資產的現時價值…

DotNetNuke 5 C#版本解讀之2--HTTP Modules

在前面文章里說明了DNN的架構&#xff0c;下面這個圖應該說是更加能夠全面的讓你去了解它的結構&#xff1a; 如果你是個asp.net新手建議你看看前面這部分&#xff0c;因為它會向你介紹什么是http module,以及其他的一些概念。我想通過你讀這篇文章來明白asp.net的機制&#xf…