本文主要是介绍python随手小练7,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:遍历磁盘
给定一个路径(假设是d:\\),使用python代码实现遍历该路径下的所有文件(区分文件和文件夹)
def scanner_file(url):files = os.listdir(url) # 返回当前目录中所有文件名称,以列表里字符串的形式返回for f in files:# real_path = url + "\\" +f# real_path = url + os.sep + freal_path = path.join(url, f) # 拼接当前目录和下面的所有文件,得到路径名if path.isfile(real_path):print(path.abspath(real_path)) # 如果是文件,直接打印elif path.isdir(real_path): # 如果是文件夹,再次调用scanner_file(real_path)else:print("其他情况")passx = input('请输入你要遍历的磁盘:')
scanner_file(x)结果:
请输入你要遍历的磁盘:d:\\ #部分遍历结果,有些权限不够拒绝访问
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RB9ONBG.xls
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RBQJSXK.xls
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RCWOR2P.xls
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RDQ7M34\eclipse.exe - 快捷方式.lnk
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RDQ7M34\IntelliJ IDEA 2021.1.1 x64.lnk
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RDQ7M34\python.pdf
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RDQ7M34\QQ截图20231020143824.png
d:\$RECYCLE.BIN\S-1-5-21-1479519913-3793095182-2384208623-1001\$RDQ7M34\QQ截图20231020162113.png
。。。。。
Traceback (most recent call last):File "D:\pycharm\10.py", line 20, in <module>scanner_file(x)File "D:\pycharm\10.py", line 13, in scanner_filescanner_file(real_path)File "D:\pycharm\10.py", line 5, in scanner_filefiles = os.listdir(url) # 返回当前目录中所有文件名称,以列表里字符串的形式返回
PermissionError: [WinError 5] 拒绝访问。: 'd://Config.Msi'
部分同学电脑里只有C盘或者D盘权限拒绝访问,那我们可以用异常捕获(跳过报错的)来解决
import os
from os import pathdef scanner_file(url):files = os.listdir(url) # 返回当前目录中所有文件名称,以列表里字符串的形式返回try:for f in files:# real_path = url + "\\" +f# real_path = url + os.sep + freal_path = path.join(url, f) # 拼接当前目录和下面的所有文件,得到路径名if path.isfile(real_path):print(path.abspath(real_path)) # 如果是文件,直接打印elif path.isdir(real_path): # 如果是文件夹,再次调用scanner_file(real_path)else:print("其他情况")passexcept:passx = input('请输入你要遍历的磁盘:')
scanner_file(x)
这篇关于python随手小练7的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!