如何获取用户输入以在Python中搜索文件?

时间:2013-07-09 13:30:10

标签: 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:")

3 个答案:

答案 0 :(得分:2)

怎么样?
depthsearch(raw_input())  # or 'input()' for Python 3

要检查给定字符串是否代表有效目录,可以使用os.path.isdir()。因此,您可以在while循环中将您的调用包装到depthsearch(),该循环不断询问用户输入,直到它们提供有效的目录。

答案 1 :(得分:1)

您可以使用以下方式获取输入:

Python 2.X's raw_input function:

s = raw_input()

Python 3.X's input function:

s = input()

答案 2 :(得分: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")

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

相关问题