我有这个代码搜索给定目录中的所有文件,但是我想更改它以便它可以从用户输入中搜索文件?然后再问一下是否找不到该文件?我的以下代码是:
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:")
答案 0 :(得分:2)
怎么样?
depthsearch(raw_input()) # or 'input()' for Python 3
要检查给定字符串是否代表有效目录,可以使用os.path.isdir()
。因此,您可以在while循环中将您的调用包装到depthsearch()
,该循环不断询问用户输入,直到它们提供有效的目录。
答案 1 :(得分:1)
答案 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")
这允许您搜索目录中的文件。它只测试名称是否相同。