Python:判断FTP服务器目录里是文件夹还是文件的方案!
Python原生的ftplib模块本身并不支持分辨FTP服务器上到底是文件夹还是文件。在这里,我总结了一个办法。
运行环境 Runtime environment
1 | 操作系统 : Windows10 |
背景
Python原生的ftplib模块本身并不支持分辨FTP服务器上到底是文件夹还是文件。
也许会有人认为为啥不用os.path.isdir()和os.path.isfile()方法来分辨,在这里我可以很明确的讲。
对于在FTP服务器进行分辨文件夹还是文件这个需求上,os.path.isdir()和os.path.isfile()几乎没有作用!误判率极高!
代码实例
经过一番思考,我想出了这样的解决思路。
使用ftplib模块的ftp.cwd()方法向目录下所有元素发出打开目录的请求,
然后用try错误抓取错误信息,
最后通过对错误信息进行if判断,来达成分辨FTP服务器某一目录下谁是文件谁是文件夹的目的。
关键代码示例如下:
1 | def checkFileDir(ftp,file_name): |
使用FileZilla客户端查看FTP服务器:
使用示例代码判断的效果图:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 快乐咸鱼のRaXianch窝!
评论
WalineValine