我只是想将.mp3
网站上的/storage/emulated/0/Download
文件保存在 Android上的文件夹中,但我总是得到Errno 13 Permission denied
.
这是示例代码:
import requests
# full path to mp3 file in website example
target_link = 'https://www.yt-download.org/download/IFtwhMK64H8/mp3/128/1630338605/f2803874069bf196561631cea2b1b11c2b1d2f9555e2baf751eb28b46d484bb5/0.mp3'
r = requests.get(target_link)
# downloading it into download folder on Android
with open('/storage/emulated/0/Download/file.mp3', 'wb') as f:
f.write(r.content)
更新:忘了说我使用 Kivy 作为 GUI 框架。
您肯定需要 WRITE_EXTERNAL_STORAGE 权限。在最新的 Android 版本上,必须明确请求该权限。然后你必须使用这样的东西:
from android.permissions import Permission, request_permissions, check_permission
def check_permissions(perms):
for perm in perms:
if check_permission(perm) != True:
return False
return True
perms = [Permission.WRITE_EXTERNAL_STORAGE, Permission.READ_EXTERNAL_STORAGE]
if check_permissions(perms)!= True:
request_permissions(perms)
这将确保您拥有所有必需的权限,并且用户明确授予它们。请注意,您必须每次都检查它们,因为用户可以在应用程序之外撤销它们。
其余代码看起来没问题,即使我最好使用 primary_external_storage_path(),而不是提供绝对路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句