|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Python第30讲课后作业
2. 编写一个程序,用户输入文件名以及开始搜索的路径,搜索该文件是否存在。如遇到文件夹,则进入文件夹继续搜索,程序实现如图:
我用的Pathlib,为什么它执行完input之后死活打不出来
- from pathlib import Path
- f1 = Path(input("请输入待查找的初始目录:"))
- if not f1.exists():
- print("路径不存在!")
- else:
- f2 = input("请输入需要查找的目标文件:")
- for each in list(f1.glob('**/*.txt')):
- if f2 == each:
- print(each)
- else:
- print("NONE")
复制代码
each 是文件的绝对路径,而你 f2 只有文件名,导致 if 不可能成立,我们可以
将 rsplit 切割一次,取最后一个元素进行比较即可,参考代码:
- from pathlib import Path
- f1 = Path(input("请输入待查找的初始目录:"))
- if not f1.exists():
- print("路径不存在!")
- else:
- f2 = input("请输入需要查找的目标文件:")
- for each in list(f1.glob('**/*.txt')):
- if f2 == str(each).rsplit("\\", 1)[-1]:
- print(each)
- else:
- print("NONE")
复制代码
|
|