仕事上、apk ファイルの特定の URL アドレスを抽出する必要があることがよくあります。その場合、Python スクリプトを使用して自動処理したいと考えています。
必要な Python の基本知識は次のとおりです:
os.walk()
関数宣言: os.walk(top,topdown=True,onerror=None)
(1) パラメーター top は次のことを示します必要性 トラバースする最上位ディレクトリへのパス。
(2) パラメータ topdown のデフォルト値は「True」です。これは、最初に最上位ディレクトリ内のファイルが返され、次にサブディレクトリ内のファイルが走査されることを意味します。 topdown の値が「False」の場合、最初にサブディレクトリ内のファイルが走査され、次にトップ ディレクトリ内のファイルが返されることを意味します。
(3) パラメータ onerror のデフォルト値は「None」です。これは、ファイル トラバーサル中のエラーが無視されることを意味します。空でない場合は、エラー メッセージを表示した後にトラバースを継続するカスタム関数を提供するか、例外をスローしてトラバースを中止します。
戻り値: この関数は 3 つの要素を含むタプルを返します。これら 3 つの要素は、各トラバーサルのパス名、パスの下のサブディレクトリのリスト、およびディレクトリの下のファイルのリストです。
os.walkの使用例: フォルダを削除する(もちろんos.listdirの再帰呼び出しで削除可能)
def Remove_dir(top_dir):
if os.path.exists(top_dir)==False:
print "ありません"
return
if os.path.isdir(top_dir)= =False:
print "not a dir"
return
for dir_path,subpaths,files in os.walk(top_dir,False):
ファイル内のファイル:
file_path=os。 path.join(dir_path,file)
dir_path)
#Call
Remove_dir(r"C:UsersAdministratorDesktopabc")
Python 実行システムのコマンド メソッド os.system()、os.popen()、commands.getstatusoutput()
os.system() は出力と戻り値を取得できません;
ファイル内のファイルの場合:
file.endswith('.apk') でない場合: #print "apk ファイルではありません。 "
続行
apkpath = os.path.join(inputdir, file)
cmd = './xxx -d %s' %apkpath
出力 = os.popen(cmd)
s = set()
#行で URL を検索 line.index(''http://'')
行 add(url)
cmd = './yyy -t a. Expense.mdk.a.tvd %s' %apkpath
#コマンドの実行結果と戻り値を取得します
status、output = Commands.getstatusoutput (cmd)
# 出力を出力します
if Output .startswith( 'find'):
印刷output
for url in s:
if url.find( 'imei')!= -1:
===== '
s = ''