python示例apk_Python获取apk文件URL地址实例

工作中经常需要提取apk文件的特定URL地址,如是想到用Python脚本进行自动处理。

需要用到的Python基础知识如下:

os.walk()

函数声明:os.walk(top,topdown=True,οnerrοr=None)

(1)参数top表示需要遍历的顶级目录的路径。

(2)参数topdown的默认值是“True”表示首先返回顶级目录下的文件,然后再遍历子目录中的文件。当topdown的值为"False"时,表示先遍历子目录中的文件,然后再返回顶级目录下的文件。

(3)参数onerror默认值为"None",表示忽略文件遍历时的错误。如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。

返回值:函数返回一个元组,含有三个元素。这三个元素分别是:每次遍历的路径名、路径下子目录列表、目录下文件列表。

os.walk使用实例:删除某个文件夹(当然可以通过os.listdir的递归调用删除)

复制代码 代码如下:

#! /usr/bin/env python

#coding=utf-8

import os

def Remove_dir(top_dir):

if os.path.exists(top_dir)==False:

print "not exists"

return

if os.path.isdir(top_dir)==False:

print "not a dir"

return

for dir_path,subpaths,files in os.walk(top_dir,False):

for file in files:

file_path=os.path.join(dir_path,file)

print "delete file:%s"  %file_path

os.remove(file_path)

print "delete dir:%s" %dir_path

os.rmdir(dir_path)

#调用

Remove_dir(r"C:\Users\Administrator\Desktop\abc")

Python执行系统命令的方法 os.system(),os.popen(),commands.getstatusoutput()

os.system()无法获得到输出和返回值;

通过os.popen() 返回的是 file read 的对象,对其进行读取 read() 的操作可以看到执行的输出,但是得不到返回值。

通过 commands.getstatusoutput() 方法就可以获得到返回值和输出

(status, output) = commands.getstatusoutput('cat /proc/cpuinfo')

3.  Python中operator模块的contains(...) 函数

contains(a, b) -- Same as b in a (note reversed operands). 判断b是否被a包含

基础知识介绍完了,可以上代码了:

复制代码 代码如下:

import os

import operator

import commands

#from signature import *

inputdir = "./tmp"

for path, dir, files in os.walk(inputdir):

for file in files:

if not file.endswith('.apk'):

#print "not apk file."

continue

apkpath = os.path.join(inputdir, file)

cmd = './xxx -d %s' %apkpath

output = os.popen(cmd)

s = set()

#按行查找URL

for line in output:

if operator.contains(line, "http://"):

#print tmp

start = line.index('''http://''')

end = line.index('''"''',start)

url = line[start:end]

s.add(url)

cmd = './yyy -t a.expense.mdk.a.tvd %s' %apkpath

#获取命令执行结果及返回值

status, output = commands.getstatusoutput(cmd)

#    print output

if output.startswith('find'):

print output

for url in s:

if url.find('imei')!=-1:

print 'url is %s' %url.strip()

#print '========================='

s = ''

本文标题: Python获取apk文件URL地址实例

本文地址: http://www.cppcns.com/jiaoben/python/100954.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573700.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用静态工厂方法而不是构造器

注意:静态工厂方法不是设计模式中的工厂方法。 一个类向客户端提供静态工厂方法有如下好处: 有名称,不用根据参数类型和顺序区分重载方法,让代码更易读 是否每次调用都需要新对象是可控制的,对于不可修改的对象可以采取…

极光推送指定用户推送_App用户都睡着了?是时候用推送和活动唤醒一波了!

想要运营好一款App,引流、留存、促活三大环节必不可少。引流解决了用户来的问题,留存解决了用户留下来的问题,而促活解决的是让一部分新注册用户以及许久没有动静的老用户,在平台中再次活跃起来。今天,我们就来聊聊关于…

扫描sdcard文件(递归)

private void saoMiaoSdCard() {// TODO Auto-generated method stub// 判断是否挂载if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {// 获取sdcardFile sdcard Environment.getExternalStorageDirectory();// 创建集合对象list_file new A…

oracle awr报告生成_分享AWR报告的生成和简单分析方法

生成AWR报告方法:第一步:数据库压力测试卡开始时:生成第一个快照:Sql>exec dbms_workload_repository.create_snapshot();第二步:数据库压力测试结束时:生成第二个快照Sql>exec dbms_workload_reposi…

java date.from_java datefromat

DateFormat 中的格式一致 即可) java.text.SimpleDateFormat sdf new java.text.SimpleDateFormat("M/dd/yyyy hh:mm:ss a",java); java.......SimpleDateFormat常用法_计算机软件及应用_IT/计算机_专业资料。有关javaSInpleDateFormat类的常用操作 1. SimpleDateFo…

selenium打开Firefox、IE、Chrome浏览器【python】

selenium打开不同浏览器的脚本。 1.Firefox from selenium import webdriverdriverwebdriver.Firefox() driver.get("http://www.baidu.com") 这里要注意打开的域名一定要加前http:// 否则会报错:selenium.common.exceptions.WebDriverException: Messag…

安卓开发 登录用户信息缓存_在Linux上使用finger命令查询登录用户信息

请关注本头条号,每天坚持更新原创干货技术文章。如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习1. 前言本文主要讲解finger命令的作用和日常使用案例。finger命令是一个用户信息查询命令,它给出了所有登录用户的详细信息。…

java后端传object给js_【JSON】JSON在前端和后端传递

前后台最最传统的交互方式就是表单交互,然后用request.setAttribute方法设置结果,渲染jsp,然而随着前台界面的复杂程度的提高,或者是使用了某些前端框架(sigmagrid)越来越多的界面会使用异步方式提交数据。那么这个过程大致是什么…

POJ 1065 Wooden Sticks

http://blog.csdn.net/acdreamers/article/details/7626671 学习一下Dilworth定理 推荐一篇写得很好博客 要求最少的覆盖&#xff0c;按照Dilworth定理 最少链划分 最长反链长度 所以最少系统 最长导弹高度上升序列长度。 之前写的LIS模板不对。。。。。。 1 #include<cst…

python 对象_Python小课堂面向对象

Python3 面向对象Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。如果你以前没有接触过面向对象的编程语言&#xff0c;那你可能需要先了解一些面向对象语言…

使用jemalloc优化java_Jemalloc优化MySQL和Nginx

Redis 2.4版本之后&#xff0c;默认使用jemalloc来做内存管理&#xff1b;tengine也整合jemalloc。jemalloc从各方评测的结果可见与google tcmalloc都不相伯仲&#xff0c;皆为内存管理器领域最高水平。如下图&#xff1a;最左边的就是glibc的malloc&#xff0c;最右边的就是je…

二维码的生成

我们目前用的是谷歌的zxing来生成二维码&#xff1b;下面呢我分别为大家介绍一下简单的二维码&#xff0c;中间有log的二维码&#xff0c;和彩色二维码&#xff1b; 需要两个权限&#xff1b; <uses-permission android:name"android.permission.CAMERA"/> <…

python读取python源代码文件_python 读写excel文件操作示例【附源码下载】

本文实例讲述了python 读写excel文件操作。分享给大家供大家参考&#xff0c;具体如下&#xff1a;对excel文件的操作&#xff0c;python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具&#xff0c;可以方便的对excel 进行操作。2. 安装,解…

Java工艺路线和工序_工序分散表现为工序多,工序内容( ),工艺路线长。

【其它】Baby-boomer parents seem to struggle with two things: saying no and letting go. (Para. 9)【填空题】若x5,y10,则x>y&&xy--的逻辑值是____________。【单选题】若a的值为3时,下面程序段被执行后,C的值是() c1 if(a>0) if(a>3) c2; else c3; else…

【代码升级】【iCore3 双核心板】例程二十八:FSMC实验——读写FPGA

实验指导书及代码包下载&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1i6WL51V 密码&#xff1a;1mk4 iCore3 购买链接&#xff1a; https://item.taobao.com/item.htm?id524229438677 转载于:https://www.cnblogs.com/xiaomagee/p/5409024.html

sqlserver连接字符串_【自学C#】|| 笔记 39 SQL server 连接数据库

一、ADO.NET数据库操作 任何一个应用程序都离不开数据的存储&#xff0c;数据可以在内存中存储&#xff0c;但只能在程序运行时存取&#xff0c;无法持久保存。数据还可以在磁盘中以文件的形式存储&#xff0c;但文件的管理和查找又十分烦琐无法胜任大数量的存储。将数据存储…

roll() java_Java Calendar roll()用法及代码示例

Calendar类中的roll(int calndr_field&#xff0c;boolean up_down)方法用于通过上下移动传递的字段单个时间单位来对传递的日历字段进行操作。这涉及在不更改较大字段的情况下对时间字段进行加法或减法。用法:public abstract void roll(int calndr_field, boolean up_down)参…

Android Studio、 补充知识以及主要组件

转载于:https://www.cnblogs.com/arxk/p/5410597.html

python如何全网爬取_如何通过Python爬取互联网

大家用过谷歌&#xff0c;百度吧。这类搜索引擎是怎么对外提供服务的呢&#xff1f;显然&#xff0c;这不是本文要说的事情。但是&#xff0c;任何一个搜索引擎&#xff0c;都缺不了网页收录这个步骤&#xff0c;所以网络爬虫是搜素引擎最重要&#xff0c;也是最基本的组成部分…

using(){},Close(),Dispose()的区别

//用Close(),Dispose()方式关闭连接 string connString "Data Source(local);Initial CatalogLinq;Integrated SecuritySSPI"; SqlConnection conn new SqlConnection(connString); conn.Open(); conn.Close(); conn.Dispose();//用using方式关闭连接 string connS…