修改python運行路徑
1
2
3
4
|
import os os.chdir( 'C:/Users/86177/Desktop' ) os.chdir(r 'C:\Users\86177\Desktop' ) os.chdir( 'C:\\Users\\86177\\Desktop' ) |
路徑加載連接的三種方式:'/'、 ‘\' 、 r''
獲得當前python程序運行路徑
1
2
|
import os print (os.getced()) |
輸出結果為:‘C:\Users\86177\Desktop'(當前程序在的路徑)
python自動路徑連接
1
2
|
import os os.path.join( 'Myprojects' , 'AI' ) |
輸出結果為:‘Myprojects\AI'(windows系統下)
絕對路徑和相對路徑
1
2
|
'C:\\Users\\86177\\Desktop' #絕對路徑 './practice' #相對路徑 |
建議在進行項目時候新創建一個文件夾,將所有的.py文件放在一起,使用相對路徑讀取數據
列出當前程序文件夾下所有內容
1
2
|
import os os.listdir() |
默認返回的全部內容的一個列表,類似于全局的方法dir(),可以查看全部的內容
判斷文件還是文件夾
1
2
3
4
|
import os files = os.listdir() for file in files: print ( file , os.path.isdir( file )) |
結果輸出:文件夾名稱,False(不是文件夾) True(是文件夾)
推薦的使用方式
1
2
3
|
import os for file in os.scandir(): print ( file .name, file .path, file .is_dir()) |
結果輸出的是:文件夾名稱,路徑和是否是文件夾的判斷
綜合應用
編寫一個python程序,示例文件夾內容如下,要求:
(1)找出當前目錄下所有非文件夾的文件
(2)統計其中包含‘python'單詞的文件數量
(3)不區分大小寫,即大寫和小寫都包括在內
(4)輸出文件數量
參考代碼如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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單詞的文件數量有{}個,\n文件分別為{}' . format ( len (ls_python),ls_python)) |
輸出結果如下:
擴展延伸(選讀)
如果對于'Python'不區分大小寫這句話的理解為:可以有任意的大小寫字母組成python這個單詞就可以,比如Python,輸入法轉換錯誤寫成了pYTHON,或者PYthon,這個后再進行文件的數量篩選。
這里將示例的文件夾內容增加幾個含有python的文件,如下:
如果還使用上面的方式就顯得笨重,推薦使用re庫(正則表達式庫,專門處理字符串數據),下面代碼是基于以上代碼,如下:
1
2
3
4
5
6
7
8
9
10
|
import re ls_name = [] for name in ls_file: pat = '.*python.*' match = re.match(pat,name,re.I) #re.I代表不區分大小寫 try : ls_name.append(match.group()) except : pass |
print('含有python單詞的文件數量有{}個,\n文件分別為{}'.format(len(ls_name),ls_name))
如果對于re庫感興趣可以自學,這里只做拋磚引玉,結果輸出如下:
總結
以上所述是小編給大家介紹的python系統指定文件的查找只輸出目錄下所有文件及文件夾,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
原文鏈接:https://blog.csdn.net/lys_828/article/details/104032723