要从某个工程文件路径下提取apk的名称:
def __getAppname():
base_dir = os.path.dirname(os.path.dirname(__file__)) //取当前文件上上一级目录
app_path = os.path.join(base_dir, 'app', 'T') //拼接新的文件路径
for files in os.walk(app_path):
app_list = files
//取出当前路径中的非目录文件名,返回列表
if app_list[2]: //如果存在文件,则返回该文件名(字符串)
return ''.join(app_list[2])"""
一开始用的是str()转换,用str()会把前后的 '[' ']'也放进字符串里,所以用join
"""
else:
logging.warning("No app package in App path")
return ''
-----------------------------------------------------------------------
os.walk的函数声明为:
walk(top, topdown=True, οnerrοr=None, followlinks=False)
参数
top 是你所要便利的目录的地址
topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)
onerror 需要一个 callable 对象,当walk需要异常时,会调用
followlinks 如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)
os.walk 的返回值是一个生成器(generator),也就是说我们需要不断的遍历它,来获得所有的内容。
每次遍历的对象都是返回的是一个三元组(root,dirs,files)
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
如果topdown 参数为真,walk 会遍历top文件夹,与top文件夹中每一个子目录。