如何从内部存储中获取所有文件夹名称并将其显示在文本字段中?
How to get all the folder name from internal storage and show it in the text-field?
我想做的是从特定位置查看文本字段中的所有文件夹名称。例如,给定的数据路径是 -
android/data/
在这里,在数据路径中,我们有一些文件夹,如 com.facebook.katana
、com.android.browser
、com.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
我想做的是从特定位置查看文本字段中的所有文件夹名称。例如,给定的数据路径是 -
android/data/
在这里,在数据路径中,我们有一些文件夹,如 com.facebook.katana
、com.android.browser
、com.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