编写程序,用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件,如果存在就输出这些文件的路径
时间: 2024-12-11 16:40:00 浏览: 28
在Python中,你可以使用`os`和`glob`模块来实现这个功能。`os`模块用于操作系统相关的交互,而`glob`模块则可以帮助我们查找符合特定模式(如文件名)的文件。下面是一个简单的程序示例:
```python
import os
import glob
def search_file(directory, filename):
# 构建完整的文件路径
file_path = os.path.join(directory, filename)
# 使用os.path.exists()检查文件是否存在
if os.path.exists(file_path):
print(f"文件 '{filename}' 存在于目录 '{directory}' 中,路径为:{file_path}")
else:
# 如果不是直接在指定目录,递归搜索子目录
for root, dirs, files in os.walk(directory):
for file in files:
if file == filename:
print(f"文件 '{filename}' 在子目录'{root}' 中,路径为:{os.path.join(root, filename)}")
break
# 用户输入的目录和文件名
directory = input("请输入要搜索的目录:")
filename = input("请输入要寻找的文件名:")
# 调用函数开始搜索
search_file(directory, filename)
```
当用户输入一个目录和文件名后,程序会首先检查指定目录下的文件是否存在,如果不存在,则会遍历子目录进行查找。如果找到文件,它会打印出文件的完整路径。
阅读全文