2013-07-09 213 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") 

这允许您搜索目录中的文件。它只是测试名称是否相同。

相关问题