问题描述
我需要一个列出我存储中所有目录的程序。我在Android上将代码作为kivy apk运行,因此我无法更改代码的权限。 我已经尝试过:
dir = [x[0] for x in os.walk("/storage/")]
但是每次我尝试列出目录时,我的apk都具有android权限WRITE_EXTERNAL_STORAGE和READ_EXTERNAL_STORAGE,但我不允许阅读它只是停止并且不列出其他目录。
编辑: 我现在用
file_dir = [os.path.join(root,file) for root,dir,files in os.walk("/storage/") for file in files if os.path.splitext(file)[1].lower() in ('.jpg','.jpeg','.mp4')]
跳过所有我无法访问的文件夹,但是很显然我的存储中的文件夹损坏了。有没有办法跳过我无法读取的文件夹?
解决方法
以下代码跳过了您无法访问的文件
abs_file_paths=[os.path.join(root,file) for root,dir,files in os.walk(dir_to_extract) for file in files]
,
您可以使用listdir:
malloc()