我要做的是从特定位置查看文本字段中的所有文件夹名称。例如,给定的数据路径是-
android/data/
在这里,在数据路径中,我们有一些文件夹,例如com.facebook.katana
,com.android.browser
,com.android.calendar
等。现在我要做的是在文本中显示所有文件夹名称,领域。有什么办法吗?
答案 0 :(得分:2)
类似这样的东西:
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
答案 1 :(得分:1)
您可以使用python中的os.path模块:
import os
path = 'android/data/com.something'
os.path.split(path)[-1]
返回路径结构的最后一个元素:
'com.something'
编辑:
如果您需要数据路径的多个部分,请在/
处进行拆分。
这将返回所有路径元素的列表。如果要查找具有共享模式的多个元素,则可以使用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.
开头的每个元素。当然,您可以根据需要修改正则表达式。
答案 2 :(得分:0)
尝试这样做
如果使用相对路径,则需要使用第二行。否则跳过它
File file = new File(filename);
file = new File(file.getAbsolutePath());
String directory = file.getParent();
File dirAsFile = file.getParentFile();