叶祖辉

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、python中执行系统命令常见的几种方法

1、os.system(command)仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 

import os
ret  = os.system("command")

 2、os.popen('command')  在终端运行系统命令,并获取命令执行后的返回信息

import os
output = os.popen('ipconfig')
ret = output.read()
print(ret)

 3、subprocess.check_output("command")   在终端运行系统命令,并获取命令执行后的返回信息(返回信息为字节)

import subprocess
retcode = subprocess.check_output("ipconfig")
print(str(retcode,encoding = "gbk"))

 ********4、subprocess.getoutput("command") 在终端运行系统命令,并获取命令执行后的返回信息********   以后使用这个

import subprocess
ret1 = subprocess.getoutput("ipconfig")
print(ret1)

 二、列表中 append 和 extend 的区别   字典中updata,元祖中__add__(必须是元祖)

  append 表示整体添加

a = [1,2,3]
a.append(7)
print(a)

[1, 2, 3, 7]

  extend 后跟可迭代的对象,表示批量添加,会把后面跟的对象循环并 一个一个的添加进去

a=[1,2,3,4]
a.extend([5,6,7,8])
print(a)

[1, 2, 3, 4, 5, 6, 7, 8]

   updata 更新,相当于列表中的extend

a ={1:"1",2:"2",3:"3"}
b={7:"7"}
a.update(b)
print(a)

{1: '1', 2: '2', 3: '3', 7: '7'}

  __add__()添加    括号里面必须是元祖

a = (1,2,3,4)
b = a.__add__((5,6,7))
print(b)


(1, 2, 3, 4, 5, 6, 7)

 ===================总结============================

如果想俩个相同的类型合并的话                            

列表    :extend                                   

字典  :updata                                    

元祖    :__add__                                

==================================================

三、reverse 和reversed的区别

 1、reversed 表示反转  生成一个对象为生成器  可以通过.__next__()方法获取元素

a =[1,2,3,4]
b = reversed(a)
print(b.__next__())
print(b.__next__())
print(b.__next__())
print(b.__next__())

4
3
2
1

 2、reverse 表示反转  是列表里面的方法

a =[1,2,3,4]
a.reverse()
print(a)

[4, 3, 2, 1]

 

posted on 2017-05-14 18:42  叶祖辉  阅读(166)  评论(0编辑  收藏  举报
友情链接:回力鞋官网 | 中老年女装 | 新航道托福 | 十月英文 | 电影推荐