python系统管理第1章,python中执行命令,python函数,面向对像编程,通过import语句实现代码复用

1、Python中执行命令

例子1:

[[email protected] opt]# cat pyls.py 
#!/usr/bin/env python
#python wrapper for the ls command
import subprocess    
subprocess.call(["ls","-l"])

例子2:

[[email protected] opt]# cat pysysinfo.py 
#!/usr/bin/env python
import subprocess 
#Command 1
uname="uname"
uname_arg="-a"
print "Gathering System information with %s command:\n" % uname 
subprocess.call([uname,uname_arg])
#Command 2
diskspace="df"
diskspace_arg="-h"
print "Gathering diskspace information with %s command:\n" % diskspace
subprocess.call([diskspace,diskspace_arg])

2、Python函数

[[email protected] opt]# cat pysysinfo_func.py 
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
import subprocess
#Command 1
def uname_func():         #函数体下面要有缩进,缩进要对齐,属于同一个级别
        uname="uname"
        uname_arg="-a"
        print "Gathering System information with %s command:\n" % uname 
        subprocess.call([uname,uname_arg])
#Command 2
def disk_func():  
        diskspace="df"
        diskspace_arg="-h"
        print "Gathering diskspace information with %s command:\n" % diskspace
        subprocess.call([diskspace,diskspace_arg])
def main():
        uname_func()  #调用函数
        disk_func()
main()  #调用主函数

3、面向对像编程 

[[email protected] opt]# vim pyServerClass.py    
#!/usr/bin/env python
#_*_ coding:utf-8 _*_
class Server(object):   #class关健字,Server类的名称,断承object类,object类的名称,也就是object是父类
        def __init__(self,ip,hostname):    #定义构造器
                self.ip=ip
                self.hostname=hostname
        def set_user(self,user):
                self.test=user
        def ping(self,ip_addr):
                print "Pinging %s from  %s (%s) user is %s" % (ip_addr,self.ip,self.hostname,self.test)
#__name__意思就是如果这个py文件以顶层执行就会等于__main__
if __name__==‘__main__‘:   #__name__属于模块内置属性,写的一个py文件就属于一个模块,存储他名称
        server=Server(‘192.168.1.20‘,‘bumbly‘)
        server.set_user(‘wsyht‘)
        server.ping(‘192.168.1.15‘)

4、通过import语句实现代码复用

[[email protected] opt]# cat pynewsysinfo.py 
#!/usr/bin/env python
import subprocess
from pysysinfo_func import disk_func
def tmp_spack():
        tmp_usage="du"
        tmp_arg="-h"
        path="/opt"
        print "Space used in /opt directory"
        subprocess.call([tmp_usage,tmp_arg,path])
def main():
        disk_func
        tmp_spack()
if __name__==‘__main__‘:
        main()
时间: 2024-10-15 23:58:59

python系统管理第1章,python中执行命令,python函数,面向对像编程,通过import语句实现代码复用的相关文章

(转载)Python IDLE reload(sys)后无法正常执行命令的原因

通常大多数人执行reload(sys)这条语句其实仅仅是为了能够修改Python的默认字符集,也就是能够调用sys.setdefaultencoding().但是如果在IDLE中执行reload(sys),就会导致接下来无法正常执行任何命令. 起初遇到这个问题也是束手无策,后来无意间在stackoverflow上看到有人说到了这个问题.原来是因为IDLE作为一个GUI Shell环境,在启动初始化过程中,会设置特定的标准输入.标准输出和标准错误输出,使得输入和输出都在IDLE的GUI Shell

linux中执行命令权限不够怎样处理

在linux中执行命令权限不够就要增加权限,先看遇到的情况 查看权限情况 那就赋予权限 执行命令

Gnome Terminal,Xshell等终端模拟器中执行命令出现乱码问题解决

一.前言 Xshell跟Gnome Terminal相比,两者都是终端模拟器(在Xshell中也可以执行简单的内置命令,如"cd","ls"等),地位相同. 二.原理分析 涉及到乱码,那么需要了解编码解码过程.在终端模拟器中执行命令,通信过程示意图如图1所示. 图1 在以上通信过程中,在"命令执行单元"处发生了一系列的编码解码过程,在"终端模拟器"处也发生了一系列的编码解码过程,此外,我们常常创建SSH连接,从而建立一个远端S

Python IDLE reload(sys)后无法正常执行命令的原因

通常大多数人执行reload(sys)这条语句其实仅仅是为了能够修改Python的默认字符集,也就是能够调用sys.setdefaultencoding().但是如果在IDLE中执行reload(sys),就会导致接下来无法正常执行任何命令. 起初遇到这个问题也是束手无策,后来无意间在stackoverflow上看到有人说到了这个问题.原来是因为IDLE作为一个GUI Shell环境,在启动初始化过程中,会设置特定的标准输入.标准输出和标准错误输出,使得输入和输出都在IDLE的GUI Shell

Python自学之旅 #新手#MacBook #《“笨办法”学Python》#第六章:常用的简易Python命令、符号、代码、格式化字符串

第六章:常用的简易Python命令.符号.代码.字符串 <“笨办法”学Python>这本书中,确实用了较多篇幅来介绍Python的一些常用简单的命令.符号.代码和字符串等,对于像我这样的自学新手,真的是非常棒,因为它们可以帮我建立接着学下去的信心和兴趣.但我在这个系列的博客当中,不打算写的这么精细,首先因为这不符合我写博的初衷和习惯,其次因为我不打算靠这写书来挣钱,最后因为我确实没有那个实力去挖掘简单东西中更深奥复杂的应用.所以,我写的这个博客,只适合像我这样的自学新手,如果想要成为大神,还是

第67天python学习基于tcp实例化实现远程执行命令

使用管道实现2个程序之间通信:例如:QQ  和微信通信 服务端: from socket import *import subprocess #管道模块,不同程序之间通信ip_port="127.0.0.1",8080back_log=5buffer_size=1024 tcp_server=socket(AF_INET,SOCK_STREAM)tcp_server.bind(ip_port)tcp_server.listen(5)while True: conn,addr=tcp_s

Java中执行存储过程和函数(web基础学习笔记十四)

一.概述 如果想要执行存储过程,我们应该使用 CallableStatement 接口. CallableStatement 接口继承自PreparedStatement 接口.所以CallableStatement 接口包含有Statement 接口和PreparedStatement 接口定义的全部方法,但是并不是所有的方法我们都要使用,主要使用的方法有这样几个: CallableStatement 常用方法: 返回类型 方法签名 说明 boolean execute() 执行 SQL 语句

Android 在Android代码中执行命令行

1.路径最好不要是自己拼写的路径/mnt/shell/emulated/0/wifidog.conf 最好是通过方法获取的路径,不然可能导致命令无效  (挂载点的原因) public static final String SDCARD_ROOT=Environment.getExternalStorageDirectory().getAbsolutePath(); public static final String AAA_PATH=SDCARD_ROOT+"/wifidog.conf&qu

cmd中执行命令提示需要提升权限

win7做的这个安全机制有点2B,哎!安全性到了,但是可用性就差了. 这里给同学们分享一个冷知识,如果你打开cmd,在里面执行命令,提示权限不足时,关闭cmd窗口,打开运行窗口,输入cmd console,回车,这样打开的cmd窗口是用超级管理员打开的,这样再运行一些命令的时候,就不会提示权限不足了. 不太明白的同学看这里: 1:win+r 2:cmd console 这里再分享一个小窍门,如果飞秋feiQ无法显示表情图片,可以在feiQ程序上面右键点击用管理员身份运行,这样feiQ就能显示图片