python 用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件。(获取用户的文件路径,用 os,walk 函数搜索)
时间: 2024-05-05 10:18:34 浏览: 209
可以直接使用以下 Python 代码实现:
```python
import os
def search_file(directory, file_name):
for root, dirs, files in os.walk(directory):
if file_name in files:
return os.path.join(root, file_name)
return "File not found."
user_directory = input("Please input a directory: ")
user_file = input("Please input a file name: ")
result = search_file(user_directory, user_file)
print(result)
```
用户需要输入一个目录和一个文件名,程序会在该目录及其子目录中搜索该文件名,若找到则返回该文件的路径,否则返回 "File not found."。
相关问题
python编写程序,用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件,如果存在,就输出这些文件的路径
可以使用os模块中的walk函数来遍历目录和子目录,然后判断每个文件是否匹配用户输入的文件名。下面是代码示例:
```python
import os
def search_file(dir_path, file_name):
for root, dirs, files in os.walk(dir_path):
for name in files:
if name == file_name:
file_path = os.path.join(root, name)
print(file_path)
dir_path = input("请输入目录路径:")
file_name = input("请输入文件名:")
search_file(dir_path, file_name)
```
在这个示例中,首先定义了一个名为 `search_file` 的函数,它接受两个参数:目录路径和文件名。函数使用 `os.walk` 函数遍历目录和子目录,然后判断每个文件是否匹配用户输入的文件名,如果匹配则输出对应的文件路径。
最后,通过输入函数来获取用户输入的目录路径和文件名,然后调用 `search_file` 函数进行搜索并输出结果。
编写Python程序,用户输入一个目录和一个文件名,搜索该目录及其子目录中是否存在该文件
可以使用 `os` 模块来实现搜索目录中的文件。以下是一个简单的 Python 程序,可以实现该功能:
```python
import os
def search_file(directory, filename):
"""
在指定目录及其子目录中搜索指定文件名的文件
"""
# 遍历目录及其子目录中的所有文件
for root, dirs, files in os.walk(directory):
# 检查每个文件是否匹配指定的文件名
for file in files:
if file == filename:
# 如果匹配,则返回文件的完整路径
return os.path.join(root, file)
# 如果未找到匹配的文件,则返回空字符串
return ""
# 示例使用
directory = input("请输入目录路径:")
filename = input("请输入文件名:")
result = search_file(directory, filename)
if result:
print("文件已找到:", result)
else:
print("未找到指定的文件。")
```
该程序首先定义了一个 `search_file` 函数,用于搜索指定目录及其子目录中是否存在指定文件名的文件。该函数使用 `os.walk` 函数遍历目录及其子目录中的所有文件,然后逐一检查每个文件是否匹配指定的文件名。如果找到匹配的文件,则返回文件的完整路径;否则返回空字符串。
在示例中,程序首先提示用户输入目录路径和文件名,然后调用 `search_file` 函数进行搜索。如果找到匹配的文件,则输出文件的完整路径;否则输出未找到指定的文件的提示信息。
阅读全文