第30讲:用户输入文件名以及开始搜索的路径答案,请看看我错哪了
import osdef file_search(file_path,taget_file):
tree=list(os.walk(file_path))
length=len(tree)
#(路径, [包含目录], [包含文件])
for j in range(length+1):
if taget_file in tree:
print(os.path.dirname(taget_file))
file_path=input("请输入待查找的初始目录:")
taget_file=input("请输入需要查找的目标文件:")
file_search(file_path,taget_file)
F:\Anaconda\python.exe F:/小甲鱼0基础python入门/第30讲文件系统:介绍一个高大上的东西/file_search.py
请输入待查找的初始目录:D:\Google
请输入需要查找的目标文件:12月2日不达标网站和11月28日不达标网站对比说明.xlsx
Traceback (most recent call last):
File "F:/小甲鱼0基础python入门/第30讲文件系统:介绍一个高大上的东西/file_search.py", line 11, in <module>
file_search(file_path,taget_file)
File "F:/小甲鱼0基础python入门/第30讲文件系统:介绍一个高大上的东西/file_search.py", line 7, in file_search
if taget_file in tree:
IndexError: list index out of range
Process finished with exit code 1
本帖最后由 悠悠2264 于 2020-4-13 16:29 编辑
for j in range(length):
这一行应该是length。比如他的长度是i,索引就是0到i-1,即range(i)。 for循环写错了不应该是range(length+1)
而应该是for j in range(length)
range(length)就是索引从0到length-1 悠悠2264 发表于 2020-4-13 16:18
这一行应该是length-1。比如他的长度是i,索引就是0到i-1。
你写的不对
range(length)就是索引从0到length-1 sunrise085 发表于 2020-4-13 16:26
你写的不对
range(length)就是索引从0到length-1
好的,感谢
页:
[1]