如何从内部存储中获取所有文件夹名称并将其显示在文本字段中?

How to get all the folder name from internal storage and show it in the text-field?

我想做的是从特定位置查看文本字段中的所有文件夹名称。例如,给定的数据路径是 -

android/data/

在这里,在数据路径中,我们有一些文件夹,如 com.facebook.katanacom.android.browsercom.android.calendar 等。现在我要做的是在文本域。有什么办法吗?

您可以使用 python 中的 os.path 模块:

import os

path = 'android/data/com.something'

os.path.split(path)[-1]

returns 路径结构的最后一个元素:

'com.something'

编辑: 如果您需要数据路径的多个部分,请将其拆分为 /

此 returns 所有路径元素的列表。如果要查找具有共享模式的多个元素,可以使用 Regex 来查找这些元素。在您的示例中:

import re

path = 'android/data/com.something/com.facebook/com.skype'

split_path = path.split('/')

elements = [element for element in split_path if re.match(\A['com.'], element)]

输出:

['com.something', 'com.facebook', 'com.skype']

这里的re.match 取所有以com. 开头的元素。当然你可以根据需要修改正则表达式。

尝试这样做, 如果您使用的是相对路径,则需要使用第二行。否则跳过它 File file = new File(filename); file = new File(file.getAbsolutePath()); String directory = file.getParent(); File dirAsFile = file.getParentFile();

像这样:

import os
p = "android/data/com.something"
file = os.path.basename(p)

文件现在包含:'com.something' 然后将文件分配给文本字段变量。例如:

在您的 python 代码中:

self.my-text-field.text = file

并在您的 kv 文件中:

my-text-field:my-text-field
TextInput:
    id: my-text-field