python系統(tǒng)指定文件的查找只輸出目錄下所有文件及文件夾
修改python運(yùn)行路徑
import os os.chdir('C:/Users/86177/Desktop') os.chdir(r'C:\Users\86177\Desktop') os.chdir('C:\\Users\\86177\\Desktop')
路徑加載連接的三種方式:'/'、 ‘\' 、 r''
獲得當(dāng)前python程序運(yùn)行路徑
import os print(os.getced())
輸出結(jié)果為:‘C:\Users\86177\Desktop'(當(dāng)前程序在的路徑)
python自動(dòng)路徑連接
import os os.path.join('Myprojects', 'AI')
輸出結(jié)果為:‘Myprojects\AI'(windows系統(tǒng)下)
絕對(duì)路徑和相對(duì)路徑
'C:\\Users\\86177\\Desktop' #絕對(duì)路徑 './practice' #相對(duì)路徑
建議在進(jìn)行項(xiàng)目時(shí)候新創(chuàng)建一個(gè)文件夾,將所有的.py文件放在一起,使用相對(duì)路徑讀取數(shù)據(jù)
列出當(dāng)前程序文件夾下所有內(nèi)容
import os os.listdir()
默認(rèn)返回的全部?jī)?nèi)容的一個(gè)列表,類(lèi)似于全局的方法dir(),可以查看全部的內(nèi)容
判斷文件還是文件夾
import os files = os.listdir() for file in files: print(file, os.path.isdir(file))
結(jié)果輸出:文件夾名稱(chēng),F(xiàn)alse(不是文件夾) True(是文件夾)
推薦的使用方式
import os for file in os.scandir(): print(file.name, file.path, file.is_dir())
結(jié)果輸出的是:文件夾名稱(chēng),路徑和是否是文件夾的判斷
綜合應(yīng)用
編寫(xiě)一個(gè)python程序,示例文件夾內(nèi)容如下,要求:
(1)找出當(dāng)前目錄下所有非文件夾的文件
(2)統(tǒng)計(jì)其中包含‘python'單詞的文件數(shù)量
(3)不區(qū)分大小寫(xiě),即大寫(xiě)和小寫(xiě)都包括在內(nèi)
(4)輸出文件數(shù)量
參考代碼如下:
import os os.chdir(r'D:\python_major\auto_office1') ls_file = [] ls_dir = [] for file in os.scandir(): if file.is_dir(): ls_dir.append(file.name) else: ls_file.append(file.name) print("文件夾的總量是{},\n文件為別為{}".format(len(ls_dir),ls_dir)) print('\n{}\n'.format('-'*30)) print("非文件夾的文件總量是{},\n文件為別為{}".format(len(ls_file),ls_file)) print('\n{}\n'.format('-'*30)) ls_python = [] for name in ls_file: if ('python' in name) or('Python'in name): ls_python.append(name) print('含有python單詞的文件數(shù)量有{}個(gè),\n文件分別為{}'.format(len(ls_python),ls_python))
輸出結(jié)果如下:
擴(kuò)展延伸(選讀)
如果對(duì)于'Python'不區(qū)分大小寫(xiě)這句話(huà)的理解為:可以有任意的大小寫(xiě)字母組成python這個(gè)單詞就可以,比如Python,輸入法轉(zhuǎn)換錯(cuò)誤寫(xiě)成了pYTHON,或者PYthon,這個(gè)后再進(jìn)行文件的數(shù)量篩選。
這里將示例的文件夾內(nèi)容增加幾個(gè)含有python的文件,如下:
如果還使用上面的方式就顯得笨重,推薦使用re庫(kù)(正則表達(dá)式庫(kù),專(zhuān)門(mén)處理字符串?dāng)?shù)據(jù)),下面代碼是基于以上代碼,如下:
import re ls_name = [] for name in ls_file: pat = '.*python.*' match = re.match(pat,name,re.I) #re.I代表不區(qū)分大小寫(xiě) try: ls_name.append(match.group()) except: pass
print('含有python單詞的文件數(shù)量有{}個(gè),\n文件分別為{}'.format(len(ls_name),ls_name))
如果對(duì)于re庫(kù)感興趣可以自學(xué),這里只做拋磚引玉,結(jié)果輸出如下:
總結(jié)
以上所述是小編給大家介紹的python系統(tǒng)指定文件的查找只輸出目錄下所有文件及文件夾,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
- python游戲開(kāi)發(fā)之視頻轉(zhuǎn)彩色字符動(dòng)畫(huà)
- Python 控制終端輸出文字的實(shí)例
- Python輸出指定字符串的方法
- Python 格式化輸出_String Formatting_控制小數(shù)點(diǎn)位數(shù)的實(shí)例詳解
- 關(guān)于python pycharm中輸出的內(nèi)容不全的解決辦法
- python Popen 獲取輸出,等待運(yùn)行完成示例
- 基于Python執(zhí)行dos命令并獲取輸出的結(jié)果
- python實(shí)現(xiàn)異常信息堆棧輸出到日志文件
- Python 使用 prettytable 庫(kù)打印表格美化輸出功能
- python 串口讀取+存儲(chǔ)+輸出處理實(shí)例
- python 輸出列表元素實(shí)例(以空格/逗號(hào)為分隔符)
- Python Print實(shí)現(xiàn)在輸出中插入變量的例子
- 使用Python實(shí)現(xiàn)分別輸出每個(gè)數(shù)組
- python輸出數(shù)組中指定元素的所有索引示例
- Python操作多維數(shù)組輸出和矩陣運(yùn)算示例
- python3中利用filter函數(shù)輸出小于某個(gè)數(shù)的所有回文數(shù)實(shí)例
- python循環(huán)輸出三角形圖案的例子
- Python字符串格式化輸出代碼實(shí)例
- python將鄰接矩陣輸出成圖的實(shí)現(xiàn)
- Python終端輸出彩色字符方法詳解
相關(guān)文章
Python常用隨機(jī)數(shù)與隨機(jī)字符串方法實(shí)例
這篇文章主要介紹了Python常用隨機(jī)數(shù)與隨機(jī)字符串方法實(shí)例,本文講解了隨機(jī)整數(shù)、隨機(jī)選取0到100間的偶數(shù)、隨機(jī)浮點(diǎn)數(shù)、隨機(jī)字符串等常用隨機(jī)方法,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)統(tǒng)計(jì)mp4/avi視頻的時(shí)長(zhǎng)
moviepy是一個(gè)用于處理視頻和音頻的Python庫(kù),它提供了一組功能豐富的工具,所以本文將利用它實(shí)現(xiàn)統(tǒng)計(jì)mp4/avi視頻的時(shí)長(zhǎng),希望對(duì)大家有所幫助2023-07-07python中的try except與R語(yǔ)言中的tryCatch異常解決
這篇文章主要為大家介紹了python中的try except與R語(yǔ)言中的tryCatch異常解決的方式及分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-11-11在VScode中配置Python開(kāi)發(fā)環(huán)境的超詳細(xì)指南
在使用VSCode編寫(xiě)Python代碼前,我們需要先配置Python環(huán)境,這篇文章主要給大家介紹了關(guān)于在VScode中配置Python開(kāi)發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2023-12-12django channels使用和配置及實(shí)現(xiàn)群聊
本文主要介紹了django channels使用和配置及實(shí)現(xiàn)群聊,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05Flask框架運(yùn)用Axios庫(kù)實(shí)現(xiàn)前后端交互詳解
Axios 是一個(gè)基于promise的HTTP庫(kù),該庫(kù)是一個(gè)更好的替代ajax向后端發(fā)送數(shù)據(jù)或請(qǐng)求數(shù)據(jù)的前端組件庫(kù)。本文通過(guò)示例為大家介紹了如何運(yùn)用Axios庫(kù)實(shí)現(xiàn)前后端交互,感興趣的可以了解一下2022-12-12python返回多個(gè)值與賦值多個(gè)值的示例代碼
在Python中函數(shù)經(jīng)常會(huì)返回多個(gè)值,下面這篇文章主要給大家介紹了關(guān)于python返回多個(gè)值與賦值多個(gè)值的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11終端能到import模塊 解決jupyter notebook無(wú)法導(dǎo)入的問(wèn)題
這篇文章主要介紹了在終端能到import模塊 而在jupyter notebook無(wú)法導(dǎo)入的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03關(guān)于Python不換行輸出和不換行輸出end=““不顯示的問(wèn)題(親測(cè)已解決)
這篇文章主要介紹了關(guān)于Python不換行輸出和不換行輸出end=““不顯示的問(wèn)題(親測(cè)已解決),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10