一、我的文件在哪里?
1、告訴計算機文件在哪
使用路徑描述位置
絕對路徑——從根目錄寫到底
內置模塊OS
路徑
目錄
文件
其他系統操作
2、描述文件的特征
用條件判斷來篩選
3、對比后打印文件名
用循環來實現逐個比對,素材鏈接:https://files.cnblogs.com/files/Lamfai/script_project1_files.zip
import os # 路徑(鼠標右鍵查看文件屬性)
path = 'C:/Users/Lamfai/Desktop/files' files = os.listdir(path) # 查找文件名字含有fish且以.png后綴的文件
for f in files: if 'fish' in f and f.endswith('.png'): print('Found it!' + f)
4、使用 Python 從這中篩選出符合這些特征的文件:
(1) 除了 gif 類型之外的其他類型 ;
(2) 名字中包含有關鍵詞 “project30”或者“commercial”。
素材鏈接:https://files.cnblogs.com/files/Lamfai/files.zip
# 使用 Python 從這中篩選出符合這些特征的文件: # 1. 除了 gif 類型之外的其他類型 # 2. 名字中包含有關鍵詞 “project30”或者“commercial”
import os # 路徑(設置 path 變量,存儲路徑)
path = 'C:/Users/Lamfai/Desktop/files'
# 利用 os 模塊中的 listdir 函數,將路徑中的所有文件存儲到一個 list 變量中。
files = os.listdir(path) # 查找文件名字含有關鍵詞 “project30”或者“commercial”且不以gif后綴的文件 # 利用 for 語句瀏覽 list 變量中的所有元素
for f in files: # 利用 if 語句判斷文件名是否符合要求。其中, endswitch 函數用來判斷一個字符串是否包含某個后綴。
# 成員運算符 in 用來判斷一個字符串是否包含某個子串。不同的條件用 and 或者 or 來連接。
if (not f.endswith('.gif')) and ('project30' in f or 'commercial' in f): print('Found it!' + f)
提示:
1、出現報錯 No such file or directory 怎么辦?No such file or directory 的含義是不存在這個文件或路徑,可能是以下幾個原因造成的:
(1)電腦上沒有這個文件夾。文件夾的名字包括大小寫需完全一致。
(2)路徑不對。絕對路徑的寫法有三種:
①正斜線。C:/Users/Lamfai/Desktop/files
②兩個反斜線。C:\\Users\\Lamfai\\Desktop\\files
③在路徑外面加 r 。r'C:\Users\Lamfai\Desktop\files'
(3)沒有在本地運行代碼。
(4)使用相對路徑沒有把 .py 文件放到要處理的文件夾內。
