android - 如何在 chaquopy python 中使用路径名?

标签 android android-studio chaquopy

因此,从文档中我想出了如何将文件“硬编码”到 android studio(基本上在 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 函数。

最佳答案

如果您已经知道应用程序的 Java 部分中的路径,那么您可以将它作为字符串参数传递给 Python:不需要任何特殊的东西。

或者,如果您想在应用的 Python 部分构建这些路径之一,那么最好的方法是执行如下操作:

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

然后您可以调用任何 Context getFilesDirgetExternalFilesDir 等方法

关于android - 如何在 chaquopy python 中使用路径名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56798350/

相关文章:

android - 是否可以指定 TableRow 高度?

java - java 枚举的所有实例的模拟方法

java - Android使用 Intent 打开外部目录

java - 如何使用LatLng从Google Place API查找最近的地方

android - Gradle 仍然在 android studio 中构建我删除的模块

android - Bitmap 类的 createBitmap 方法返回错误

连接设备时出现 Android Studio 错误

android - gradle 构建时无法应用插件 [id 'com.chaquo.python']

android - 使用 Chaquopy 将 Python 中的 PyObject 转换为 Android 中的二维数组

android - 使用 Chaquopy 插件后 Gradle Sync 无法工作