def getAppointFile(path,ls): fileList = os.listdir(path) try: for tmp in fileList: pathTmp = os.path.join(path,tmp) if True==os.path.isdir(pathTmp): getAppointFile(pathTmp,ls) elif pathTmp[pathTmp.rfind('.')+1:].upper()=='PY': ls.append(pathTmp) except PermissionError: pass
时间: 2024-04-19 17:28:55 浏览: 138
这是一个名为`getAppointFile(path, ls)`的函数,它用于获取指定目录下所有符合条件的文件路径,并将其添加到列表`ls`中。
代码逐行解释如下:
1. `fileList = os.listdir(path)`:使用`os.listdir()`函数获取指定目录下的所有文件和文件夹,并将结果保存在`fileList`列表中。
2. `try:`:开始一个异常处理块。
3. `for tmp in fileList:`:遍历`fileList`列表中的每个元素,并将当前元素保存在变量`tmp`中。
4. `pathTmp = os.path.join(path,tmp)`:使用`os.path.join()`函数将目录路径`path`和当前元素`tmp`组合成一个完整的文件路径,并将结果保存在`pathTmp`变量中。
5. `if True==os.path.isdir(pathTmp):`:检查当前路径是否为一个目录。如果是目录,则递归调用`getAppointFile()`函数,传入当前路径和列表`ls`作为参数,以便获取目录下的文件。
6. `elif pathTmp[pathTmp.rfind('.')+1:].upper()=='PY':`:如果当前路径不是目录,则获取文件扩展名,并将其转换为大写字母形式。如果扩展名为"PY",则执行下一步操作。
7. `ls.append(pathTmp)`:将满足条件的文件路径添加到列表`ls`中。
8. `except PermissionError:`:捕获`PermissionError`异常,即权限错误,如果在访问目录时发生权限错误,将会被忽略。
通过调用`getAppointFile(path, ls)`函数,可以获取指定目录下所有扩展名为"PY"的文件路径,并将其添加到列表`ls`中。
阅读全文