Как мне использовать путь в chaquopy python? - PullRequest
1 голос
/ 27 июня 2019

Итак, из документов я выяснил, как «жестко закодировать» файлы в андроид студию (в основном в каталоге androidstudioprojects) и как можно успешно получить к ним доступ из моего скрипта на python. (используя

join(dirname(test.__file__), filename)

) и т. Д.

Но мне нужно, чтобы пользователи могли что-то загружать в приложение, приложение создает собственный каталог на внешнем хранилище телефона, помещает туда загруженные файлы, и я хочу, чтобы его можно было передать в один из этих файлов. пути в мой скрипт на Python, и он может успешно их получить. Я хочу передать что-то вроде:

/data/user/0/com.myapp.blah/mycustomdir/myfilename.xlsx

И мой скрипт на python сможет извлечь этот файл и работать над ним. Как мне это сделать?

Редактировать: Похоже, у меня это есть, но мне нужно убедиться, что я все сделал правильно. Я оставлю это, потому что при поиске тега chaquopy я не смог найти никого другого, задающего этот тип вопроса, так что, возможно, он поможет другим. Для меня это выглядит так же просто, как взять указанный выше путь к файлу и вставить его следующим образом:

"/data/user/0/com.myapp.blah/mycustomdir/" + filename

Полагаю, вы могли бы передать весь путь к файлу в свой скрипт, но для себя я решил передать только имя файла, поэтому я сделал это, и, похоже, это сработало, без необходимости использования функций join или dirname.

1 Ответ

1 голос
/ 28 июня 2019

Если вы уже знаете путь в Java-части своего приложения, вы можете просто передать его в Python в качестве строкового параметра: ничего особенного не требуется.

Или, если вы хотите создать один из этихпути в Python-части вашего приложения, тогда лучше всего сделать что-то вроде этого:

from com.chaquo.python import Python
context = Python.getPlatform().getApplication()

Затем вы можете вызвать любой из Context методов, таких как getFilesDir, getExternalFilesDir и т. Д.

...