我想知道如何使用Kivy在Android上获取DCIM文件夹的路径。
PyJinus不是一个选项,因为它目前不适用于Python 3.5
到目前为止我尝试的是:
DATA_FOLDER = os.getenv('EXTERNAL_STORAGE') if platform is 'android' else os.path.expanduser("~")
但这只会让我获得用户区。有什么想法吗?
答案 0 :(得分:4)
如果您打算将sdcard用作应用程序的存储空间(使用user_data_dir
变量创建文件夹),请使用user_data_dir
然后向上移动:
from kivy.app import user_data_dir
from os.path import dirname, join
join(dirname(user_data_dir), 'DCIM')
或直接使用code:
DCIM = join('/sdcard', 'DCIM')
我认为/sdcard
只是真实文件夹的符号链接(无论它在哪里),因此使用此路径只会获取访问时的值,例如:到/storage/sdcard0
(符号链接)或者直接到真实路径。
除了这些解决方案之外,android在您所注意到的环境中具有路径:
/storage/emulated/legacy
)再次符号链接到sdcard /storage/extSdCard
),如果您在那里存储照片,则为外部卡/storage/emulated
)基本上是sdcard的父文件夹,其中真正的SD卡(对我而言)在/storage/extSdCard/emulated/0