Python Kivy writes / read the file on the SD card

时间:2023-03-09 18:33:51
Python Kivy writes / read the file on the SD card

Path to SD card

from jnius import autoclass  # SDcard Android

# Get path to SD card Android
try:
Environment = autoclass('android.os.Environment')
sdpath = Environment.get_running_app().getExternalStorageDirectory() # Not on Android
except:
sdpath = App.get_running_app().user_data_dir

user_data_dir also works on Android, but it relies on a /sdcard symlink which is becoming outdated. I don't know for IOS or Windows Phone though.

Copy to SD card

import shutil

sdpathfile = os.path.join(sdpath, 'filename')
shutil.copyfile(os.path.join('folder', 'filename2'), sdpathfile)
=====================
FileChooserListView:
id: filechooser
path: "/your/path"
=====================

To find a directory on your system with python, you can do something like this:

import os

for root, dirs, files in os.walk("/"):
for name in dirs:
if name == "DCIM":
print(root, name)

Just be aware that it might find two or more directories named DCIM, on your sdcard and internal storage.