要從某個工程文件路徑下提取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 ''
-----------------------------------------------------------------------
python中os.walk的用法詳解
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文件夾中每一個子目錄。