最近小弟在做一个应用程序,就是仿造360软件管家,获取计算机里已安装软件列表,
现思路如下,根据注册表路径:
针对x86系统,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
针对x64系统,HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
分别获取已安装软件列表,然后按照以下步骤进行处理:
1剔除service项,重复项,已安装补丁,如KB开头的子项(计划中,未能实现)
2合并x86,x64最终得到软件列表数据
列表是一个有序且可更改的集合。在 Python 中,列表用方括号编写。
List是python中的一种数据类型,它由一组有序的元素组成。支持字符、数字、字符串甚至也可以包含列表(列表中有列表,嵌套),元素间用逗号进行分隔。
列表用[]进行标识。
列表的定义:
(1)定义一个空列表:
list_stu1 = []。
list_stu2 = list()。
(2)定义一个有学生信息的列表:
list_stu1 = ['张三',19,'男','长沙',13434343434] #使用一个列表存一个学生的基本信息 。
print(list_stu1) 。
list_stu2 = [['张三',19,'男','长沙',13434343434], #通过列表嵌套存多个学生的信息 。
['李四',18,'男','武汉',13535353535]。
['王五',22,'女','上海',13636363636]] 。
print(list_stu2)。
[‘张三’, 19, ‘男’, ‘长沙’, 13434343434]。
[[‘张三’, 19, ‘男’, ‘长沙’, 13434343434], [‘李四’, 18, ‘男’, ‘武汉’, 13535353535], [‘王五’, 22, ‘女’, ‘上海’, 13636363636]]。
1打开表格
table = xlrdopen("path_to_your_excel", 'rb')
一般时候需要进行判断,防止表格打开错误
try:
table = xlrdopen("path_to_your_excel", 'rb')
except Exception, e
print str(e)
当表格打开错误时,可以捕获异常
2一个表格中可以包含多个工作簿
那么需要用到哪个工作簿
python 提供了三种获取方式
sheet1 = tablesheet()[1] or
sheet1 = tablesheet_by_index() or
sheet1 =tablesheet_by_name("sheetname")
3上一步我们已经获取到具体的sheet(工作簿)
那么根据需求,python提供了获取表格行数列数的方法
获取行数:nrows = sheetnrows
获取列数:ncols = sheetcols
返回值type为int
获取列数或行数可能是为了后续需要进行遍历内部的数据而用,那么下面来说python提供可以获取某一行或者某一列值的方法
4获取某行某列的值
获取某一行的值:
nrow_value = sheetrow_values(number)
获取某一列的值:
ncol_value = sheetcol_values(number)
#上面row_values(number)中的表示想要获取哪一行的索引值,比如获取第一行的值,就是row_values(0)
返回值的type为list
整行整列的数据获取,python给出了直接的方法,那么获取整张表数据呢,就需要用到for循环进行遍历每一个单元格
python实战 批量获取经纬度-高德地图API
在上篇中,已经批量获得了经纬度信息,现在需要根据经纬度来进行路径规划,想知道两点之间的距离和路程、花费等信息。
这时候就需要用到高德地图API中的路径规划功能了。
同上篇,先构造出获得经纬度函数便于调用。
理解了上篇的请求参数,路径规划就很好理解了。文档中也有详细解释, 路径规划 中包括步行、公交、驾车、骑行、货车路径规划以及距离测量。
这里以公交路径规划为例。
根据必填项: 自己申请到的Key,起终点的经纬度以及城市 ,就可以返回相关的字段信息。
根据返回结果参数,可以提取很多关于路径规划的信息,这里以 起终点步行距离,路线出租车费用,路线时间,路线费用,路线距离 为例。
在主函数中设定起点和终点,并调用返回信息函数,就能得到每个起点到每个终点的 步行距离,路线出租车费用,路线时间,路线费用,路线距离 信息了。
结果以列表的形式返回,结果如图。
1、append()
append()对于列表的 *** 作主要实现的是在特定的列表最后添加一个元素,并且只能一次添加一个元素,并且只能在列表最后;
mappend(元素A)
2、extend()
extend()对于列表的 *** 作主要实现的是对于特定列表的扩展和增长,可以一次添加多个元素,不过也只能添加在列表的最后;
mextend([元素A,元素B,……])
3、insert()
insert()对于列表的 *** 作主要是在列表的特定位置添加想要添加的特定元素,比较常用,这里的特定位置是指元素所在列表中的位置索引号,需要注意的是这里的索引号都是从0开始的,不是从1开始的,这个大家需要特别注意。
minsert(A,元素B):表示在列表m里面的第A+1处加入元素B
1、mremove()
mremove的作用是移除掉列表m里面的特定元素;
mremove(元素A)
2、del m[n]
它的作用是删除掉列表里面的索引号位置为n 的元素,这里需要注意的是del是一种 *** 作语句。
del m[n]
3、mpop()
它的作用是将列表m的最后一个元素返回,并且在此基础上进行删除掉
1、Temp=m[n]
获取m列表第n+位置处的元素
1、Temp=m[A:B]
表示将m列表里从索引号位置为A开始的元素到B-1处元素之间的列表获取赋给temp
1、+:它主要实现的是多个列表之间的拼接
常见的列表 *** 作符
2、:主要实现的是列表的复制和添加
3、比较>,<:主要进行数据型列表的元素比较
4、and等:;逻辑运算符,可以进行列表之间的逻辑判断
1、mcount(A):输出元素A在列表m里面出现的次数
2、mindex(A):输出元素A在列表m里面的索引位置号
mindex(A,a,b):对于列表m里面包含多个元素A时,输出在列表m索引号a-b之间的特定索引号
3、mreverse():将列表m进行前后的翻转,前变后,后变前
4、msort():将列表m里面地数据进行从小到大的排列
5、msort(reverse=True):将列表m里面地数据进行从大到小的排列
其实对于列表m里面的元素进行从大到小的排列还可以用以下方法:
N=msort()
Nreverse()
1) 深拷贝:
M=[A,b,a,c]
N=M[:]
2) 浅拷贝:
N=M
你可以使用Python中的内置函数 min() 或 max() 来获取二维列表中最大/小值对应的子列表。
举个例子,如果你有一个二维列表 matrix,并希望获取其中和最大的子列表。
你可以使用以下代码:
max_sublist = max(matrix, key = sum)
这段代码将会使用 sum 函数来计算每个子列表的和,并返回和最大的子列表。
如果您希望获取最小值对应的子列表,只需要把 max() 改成 min()就可以了。
同理,如果你想获取最大/小值对应的子列表并且最大/小值是二维列表中的某个元素。
比如:
matrix = [[1,2,3],[4,5,6],[7,8,9]]
max_sublist = max(matrix, key = lambda x : max(x))
这样就可以获取到二维列表中最大值所在的子列表。
请注意,这只是一种做法,并非唯一做法。您可能需要根据自己的需求来进行调整。
以上就是关于Python怎么获取电脑上所有的软件全部的内容,包括:Python怎么获取电脑上所有的软件、python列表的基本 *** 作、指定从第几行读取列表python等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)