介绍python的OS模块功能

简介:

 学习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模块的一些介绍,当然还有其他更多的功能,如果感兴趣的话,自己研究去吧,哈哈,今天就到这里。。。。。

本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/482465如需转载请自行联系原作者


world77

相关文章
|
18天前
|
开发框架 数据建模 中间件
Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器是那些静悄悄的幕后英雄。它们不张扬,却能默默地为函数或类增添强大的功能。本文将带你了解装饰器的魅力所在,从基础概念到实际应用,我们一步步揭开装饰器的神秘面纱。准备好了吗?让我们开始这段简洁而富有启发性的旅程吧!
26 6
|
26天前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
42 4
|
6天前
|
Python
Python Internet 模块
Python Internet 模块。
101 74
|
24天前
|
算法 数据安全/隐私保护 开发者
马特赛特旋转算法:Python的随机模块背后的力量
马特赛特旋转算法是Python `random`模块的核心,由松本真和西村拓士于1997年提出。它基于线性反馈移位寄存器,具有超长周期和高维均匀性,适用于模拟、密码学等领域。Python中通过设置种子值初始化状态数组,经状态更新和输出提取生成随机数,代码简单高效。
104 63
|
25天前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
25天前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
20天前
|
测试技术 Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界中,装饰器是那些能够为我们的代码增添魔力的小精灵。它们不仅让代码看起来更加优雅,还能在不改变原有函数定义的情况下,增加额外的功能。本文将通过生动的例子和易于理解的语言,带你领略装饰器的奥秘,从基础概念到实际应用,一起开启Python装饰器的奇妙旅程。
34 11
|
16天前
|
Python
探索Python中的装饰器:简化代码,增强功能
在Python的世界里,装饰器就像是给函数穿上了一件神奇的外套,让它们拥有了超能力。本文将通过浅显易懂的语言和生动的比喻,带你了解装饰器的基本概念、使用方法以及它们如何让你的代码变得更加简洁高效。让我们一起揭开装饰器的神秘面纱,看看它是如何在不改变函数核心逻辑的情况下,为函数增添新功能的吧!
|
25天前
|
设计模式 监控 程序员
Python中的装饰器:功能增强与代码复用的利器####
本文深入探讨了Python中装饰器的工作原理、应用场景及其在提升代码可读性、减少重复劳动方面的优势。不同于传统方法的冗长和复杂,装饰器提供了一种优雅且高效的方式来增强函数或方法的功能。通过具体实例,我们将揭示装饰器如何简化错误处理、日志记录及性能监控等常见任务,使开发者能够专注于核心业务逻辑的实现。 ####
|
26天前
|
机器人 计算机视觉 Python
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
Python作为一种高效、易读且功能强大的编程语言,在教育领域的应用日益广泛
42 5
下一篇
DataWorks