• 6、Python模块


    最常用的两个模块:

    os    #可以允许python调用执行系统命令,如shell
    sys    #处理与python程序本身的事情
     
    Python自带200多个常用模块
    Python官网收集了2000多个模块,基本可以找到想要的任何功能,包括图形和界面
     
    SYS模块
    >>> import sys        导入模块
    >>> sys.path        列出搜索模块的目录
     
    sys.argv:输出调用脚本时的参数
    1. [root@likun python_scripts]# cat 10sys.py 
      #!/usr/bin/python
      import sys
      print sys.argv
      print sys.argv[1]
      print sys.argv[1:3]
    2. [root@likun python_scripts]# python 10sys.py aaa bbb ccc ddd
      ['10sys.py','aaa','bbb','ccc','ddd']
      aaa
      ['aaa','bbb']
    >>> sys.exit()                    退出当前python程序
     
    OS模块
    >>> import os
    >>> os.system('hostname')                                      执行系统命令
    likun.com
    0                                                                            执行成功则返回0
    >>> os.system('mkdir books')
    0
    >>> os.system('mkdir %s' % col)                            也可以带入变量
    0
    >>> os.system('pwd && hostname')                        执行多条系统命令
    /root/python_scripts
    likun.com
    0
    >>> os.system('pwd ; hostname')
    /root/python_scripts
    likun.com
    0
    >>> os.chdir('/tmp')                                                改变目录。(用os.system(cd /tmp)下一条命令会失效)
    >>> os.listdir('/home')                                            将目录中内容存入列表中
    ['oracle', 'nagios']
    >>> os.listdir('/home')[0]
    'oracle'
     
    TIME模块
    time.sleep(2)
     
    制作模块
     
    1、在当前目录创建一个mod.py文件
    1. #!/usr/bin/python
      name ='My mod'
      version ='2.1'
      askname=raw_input('Please input your name:')
    1. >>>import mod                            --导入模块即执行模块
    2. Please input your name:lk
    3. >>> mod.askname
    4. 'l k'
    5. >>> mod.version
    6. '2.1'
    7. >>> print mod.version
    8. 2.1
    9. >>> mod.name
    10. 'My mod'
     
    如果自定义模块不在当前目录,需要将模块所在目录添加到sys.path环境变量中:
    程序退出则会失效
    >>> import sys
    >>> sys.path.append('/root/python_scripts/')
    >>> import mod
     
     
    2、导入模块时不启用,需将模块内容放入函数中
    1. #!/usr/bin/python
      name ='My mod'
      version ='2.1'
      def askname():
              askname=raw_input('Please input your name:')
              return askname

      >>>import mod

    1. >>> mod.askname()
    2. Please input your name:good
    3. 'good'
     
    小练习:制作一个类似service xxx start 的程序
    vi service.py
    [root@likun support-files]#  python service.py httpd status
     
    小练习:制作一个不规范的service启动脚本:
    1. [root@likun python_scripts]# cat service.py 
    2. #!/usr/bin/python
      
      import sys
      import os
      
      if len(sys.argv)<3:
              print 'usage: mysql {status|start|stop|restart}'
              sys.exit()
      if sys.argv[1]=='mysql':
              action=sys.argv[2]
              os.system('/mysql/support-files/mysql.server %s'%action)
    [root@likun python_scripts]# python service.py mysql restart
    Shutting down MySQL.                                       [  OK  ]
    Starting MySQL..                                           [  OK  ]
     



  • 相关阅读:
    关于16位的OS尝试(2)
    关于16位的OS尝试(2)
    键盘幽灵程序源代码
    socks5协议转http协议源码
    溢出专题(二) widechar的字符串缓冲溢出攻击技术
    超强:bat写的exploit
    键盘幽灵程序源代码
    超强:bat写的exploit
    socks5协议转http协议源码
    高质量C /C编程指南第3章 命名法例
  • 原文地址:https://www.cnblogs.com/kissdb/p/4009583.html
Copyright © 2020-2023  润新知