问题描述
我正在编写一个 Python 脚本来从 Azure 文件共享下载文件。文件共享的结构如下:
/analytics/Part1/file1.txt
/analytics/Part1/file2.txt
/analytics/mainfile.txt
/analytics/Part1/Part1_1/file11.txt
我尝试在脚本中使用以下几行,但它仅在根目录级别查找文件和目录。
fileshareclient = ShareClient(
account_url=args.get('AccountURL'),credential=args.get('SASKey'),share_name=args.get('FileShare')
)
fileLst = list(
fileshareclient.list_directories_and_files('analytics')
)
输出为:
/analytics/mainfile.txt --> File
/analytics/Part1 --> Dir
但是,我正在 Python 中寻找类似 os.walk()
的函数,以实现这种递归目录遍历。不知道 Azure 文件服务 Python API 是否提供此类功能?
解决方法
built-in list_directories_and_files()
method 的 Azure Storage File Share client library for Python azure-storage-file-share
只列出根目录和文件。如果你想要像 productViewControllerDidFinish:
这样的东西,你应该自己编写方法。
这里,我写了一个可以递归列出所有文件/目录的函数,它工作正常(如果它不符合您的需要,请随时修改它):
os.walk()