如何用 Python 模糊搜索文件


一、我的文件在哪里?

  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'

    參考020100_01——絕對路徑與相對路徑

  (3)沒有在本地運行代碼。

  (4)使用相對路徑沒有把 .py 文件放到要處理的文件夾內。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM