2013-07-09 204 views
0

我有這個代碼從給定的目錄中搜索所有的文件,但我想改變它,以便它可以從用戶輸入中搜索文件?然後再詢問文件是否找不到?下面的代碼我已經是:如何獲取用戶輸入以在Python中搜索文件?

import os 
import sys 
from stat import * 


def depthsearch(directory): 
    for files in os.listdir(directory): 
     fileItem = os.path.join(directory, files) 
     fileItemStatInfo = os.stat(fileItem) 
     if S_ISDIR(fileItemStatInfo.st_mode): 
      depthsearch(fileItem) 
     elif S_ISREG(fileItemStatInfo.st_mode): 
      print("Found File:", fileItem) 

depthsearch("C:") 

回答

2

什麼

depthsearch(raw_input()) # or 'input()' for Python 3 

要檢查是否給定的字符串表示一個有效的目錄,你可以使用os.path.isdir()。所以你可以在一個while循環中打電話給depthsearch(),這個循環會一直詢問用戶輸入,直到他們提供一個有效的目錄。

+0

您好,林相當新的Python編程,你能不能告訴我的這個請的例子嗎?提前致謝 – user2337629

0
def depthsearch(directory, fileName): 
    for files in os.listdir(directory): 
     fileItem = os.path.join(directory, files) 
     fileItemStatInfo = os.stat(fileItem) 
     if S_ISDIR(fileItemStatInfo.st_mode): 
      depthsearch(fileItem,filename) 
     elif S_ISREG(fileItemStatInfo.st_mode or (files==filename): 
      print("Found File:", fileItem) 

depthsearch("C:", "python.exe") 

這允許您搜索目錄中的文件。它只是測試名稱是否相同。

相關問題