介绍python的OS模块功能

发布时间:2019-08-30 08:26:48编辑:auto阅读(1463)

         学习python一直是断断续续的,今天我们来介绍的是python的一个非常强大的模块---OS,我们来事例的时候不是用的标准的python,而是用的python的同胞兄弟Ipython,ipython 是一个 python 的交互式 shell,比默认的 python shell 好用得多,支持变量自动补全,自动缩近,支持 bash shell 命令,内置了许多很有用的功能和函数。

           Ipython是需要单独安装的,安装起来非常简单,如下:

    1. wget http://ipython.scipy.org/dist/0.10.1/ipython-0.10.1.zip 
    2. unzip ipython-0.10.1.zip  
    3. cd ipython-0.10.1 
    4. ls 
    5. python setup.py install 
    6. 支持Ipython安装完毕。 

        IPython与标准Python的最大区别在于,Ipython会对命令提示符的每一行进行编号。下面我们来用ipython来学习下OS的功能:

     

    1. [root@localhost ~]# ipython 
    2. Python 2.6 (r26:66714, Dec 17 201011:17:00)  
    3. Type "copyright""credits" or "license" for more information. 
    4.  
    5. IPython 0.10.1 -- An enhanced Interactive Python. 
    6. ?         -> Introduction and overview of IPython's features. 
    7. %quickref -> Quick reference. 
    8. help      -> Python's own help system. 
    9. object?   -> Details about 'object'. ?object also works, ?? prints more. 
    10.  
    11. In [1]: import os 
    12. 导入OS模块 
    13. In [2]: os.getcw 
    14. os.getcwd   os.getcwdu   
    15. 按了一下TAB键,自动为你对齐和列举。这个是懒人最喜欢的 
    16. In [2]: os.getcwd()               得到当前的路径 
    17. Out[2]: '/root' 
    18.  
    19. In [3]: os.chdir("/et")            更换目录和路径 
    20. Display all 244 possibilities? (y or n)    自动列举 
    21.  
    22. In [3]: os.chdir("/etc/init.")     习惯性的手按了TAB,哈哈。。。这里都能帮我们自动对齐,强大吧 
    23. /etc/init.d/NetworkManager      /etc/init.d/mysqld 
    24. /etc/init.d/acpid               /etc/init.d/nagios 
    25. /etc/init.d/anacron             /etc/init.d/netconsole 
    26. /etc/init.d/apmd                /etc/init.d/netfs 
    27. 。。。 
    28. --More-- 
    29.  
    30. In [3]: os.chdir("/etc/init.d/")        更换路径到/etc/init.d下 
    31.  
    32. In [4]: os.getcwd()                    我们来看看当前的路径 
    33. Out[4]: '/etc/rc.d/init.d'             输出显示是我们切换的路径 
    34.  
    35. In [5]: os.ctermid()                  返回文件名对应名对应的进程的控制终端 
    36. Out[5]: '/dev/tty' 
    37.  
    38. In [6]: os.getegid()                  得到当前进程的ID 
    39. Out[6]: 0 
    40.  
    41. In [7]: os.getg                       Tab键自动对齐 
    42. os.getgid     os.getgroups   
    43.  
    44. In [7]: os.getgid()                 得到当前进程的ID 
    45. Out[7]: 0 
    46.  
    47. In [8]: os.getgroups()              得到补充组列表的ID和当前进程 
    48. Out[8]: [01234610
    49.  
    50. In [9]: os.getlogin()              得到当前控制终端的登录用户名 
    51. Out[9]: 'root' 
    52.  
    53. In [10]: os.getpgrp()              得到当前进程组ID 
    54. Out[10]: 5484 
    55.  
    56. In [11]: os.getp 
    57. os.getpgid  os.getpgrp  os.getpid   os.getppid   
    58.  
    59. In [11]: os.getpid()             得到当前进程ID 
    60. Out[11]: 5484 
    61.  
    62. In [12]: os.getppid()             得到父进程ID 
    63. Out[12]: 5456 
    64.  
    65. In [13]: os.getuid()              得到当前的用户ID 
    66. Out[13]: 0 
    67.  
    68. In [14]: os.uname()               得到当前运行的版本详细信息 
    69. Out[14]:  
    70. ('Linux'
    71.  'localhost.localdomain'
    72.  '2.6.18-194.26.1.el5'
    73.  '#1 SMP Tue Nov 9 12:54:40 EST 2010'
    74.  'i686'
    75.  
    76. In [15]: os.name() 
    77. --------------------------------------------------------------------------- 
    78. TypeError                                 Traceback (most recent call last) 
    79.  
    80. /etc/rc.d/init.d/<ipython console> in <module>() 
    81.  
    82. TypeError: 'str' object is not callable 
    83.  
    84. In [16]: os.name                    得到操作系统,如果是window下的话,得到的返回值应该是"NT" 
    85. Out[16]: 'posix' 

            嘿嘿,上面是一些常用的OS模块的一些介绍,当然还有其他更多的功能,如果感兴趣的话,自己研究去吧,哈哈,今天就到这里。。。。。

关键字