Python Kivy 将文件写入/读取到 SD 卡

Num*_*uis 5 python android sd-card ios kivy

通过使用 Python 和 Kivy,我想将文件写入用户手机的(虚拟)SD 卡,并在不同的函数中再次读取该文件。由于 Android、IOS 和 Windows Phone 可能具有不同的 SD 卡路径,因此使用“plyer”似乎是一个好主意。如何读/写一个文件到的/ SD卡

Num*_*uis 5

SD卡路径

from jnius import autoclass  # SDcard Android

# Get path to SD card Android
try:
    Environment = autoclass('android.os.Environment')
    sdpath = Environment.getExternalStorageDirectory()

# Not on Android
except:
    sdpath = App.get_running_app().user_data_dir
Run Code Online (Sandbox Code Playgroud)

user_data_dir 也适用于 Android,但它依赖于已过时的 /sdcard 符号链接。我不知道 IOS 或 Windows Phone 虽然。

复制到 SD 卡

import shutil

sdpathfile = os.path.join(sdpath, 'filename')
shutil.copyfile(os.path.join('folder', 'filename2'), sdpathfile)
Run Code Online (Sandbox Code Playgroud)