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