os模块

os模块的作用:

  os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……

  另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前路径时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,额...我擦,我还真不知道,(甭管怎么着,肯定不是pwd),这时候我们使用python中os模块的os.path.abspath(name)功能,甭管是linux或者Windows都可以获取当前的绝对路径。

os模块的常用功能:

1  os.name      #显示当前使用的平台

  1. >>> os.name
  2. 'nt' #这表示Windows
  3. >>> os.name
  4. 'posix' #这表示Linux

2  os.getcwd()      #显示当前python脚本工作路径

  1. >>> os.getcwd()
  2. 'C:\\Users\\Capital-D\\PycharmProjects\\untitled' #使用pycharm
  3.  
  4. >>> os.getcwd()
  5. '/root' #Linux平台在/root目录直接使用python3命令

3  os.listdir('dirname')        #返回指定目录下的所有文件和目录名

  1. #相对于os.getcwd路径下的文件
  2. >>> os.listdir()
  3. ['.idea', 'test']
  4.  
  5. >>> os.listdir()
  6. ['.bash_logout', 'Python-3.4.4', '.mysql_history', '.tcshrc', 'Python-3.4.4.tar.xz', '.bash_profile', '.lesshst', 'install.log.syslog', '.cshrc', '04.sql', 'anaconda-ks.cfg', 'test', '.viminfo', 'phpMyAdmin-4.4.15-all-languages.tar.bz2', '1test', '.bashrc', 'binlog.sql', 'back.sql', 'install.log', 'binlog4.sql', '.bash_history', 'backup.sql', 'text.py', '.rnd', 'test1']

4  os.remove('filename')       #删除一个文件

  1. [root@slyoyo ~]# touch hahaha
  2. [root@slyoyo ~]# ls
  3. 04.sql back.sql binlog.sql install.log.syslog Python-3.4.4.tar.xz text.py
  4. 1test backup.sql hahaha phpMyAdmin-4.4.15-all-languages.tar.bz2 test
  5. anaconda-ks.cfg binlog4.sql install.log Python-3.4.4 test1
  6. #hahaha(粉色字体)存在
  7. [root@slyoyo ~]# python3
  8. Python 3.4.4 (default, Apr 5 2016, 04:23:19)
  9. [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
  10. Type "help", "copyright", "credits" or "license" for more information.
  11. >>> import os
  12. >>> os.remove('hahaha')
  13. >>> exit()
  14. [root@slyoyo ~]# ls
  15. 04.sql anaconda-ks.cfg backup.sql binlog.sql install.log.syslog Python-3.4.4 test text.py
  16. 1test back.sql binlog4.sql install.log phpMyAdmin-4.4.15-all-languages.tar.bz2 Python-3.4.4.tar.xz test1
  17. #hahaha已被删

5  os.makedirs('dirname/dirname')     #可生成多层递规目录

  1. [root@slyoyo ~]# ls
  2. 04.sql anaconda-ks.cfg backup.sql binlog.sql install.log.syslog Python-3.4.4 test text.py
  3. 1test back.sql binlog4.sql install.log phpMyAdmin-4.4.15-all-languages.tar.bz2 Python-3.4.4.tar.xz test1
  4. [root@slyoyo ~]# python3
  5. Python 3.4.4 (default, Apr 5 2016, 04:23:19)
  6. [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
  7. Type "help", "copyright", "credits" or "license" for more information.
  8. >>> import os
  9. >>> os.makedirs('hahaha/linghuchong')
  10. >>> exit()
  11. [root@slyoyo ~]# ls
  12. 04.sql back.sql binlog.sql install.log.syslog Python-3.4.4.tar.xz text.py
  13. 1test backup.sql hahaha phpMyAdmin-4.4.15-all-languages.tar.bz2 test
  14. anaconda-ks.cfg binlog4.sql install.log Python-3.4.4 test1
  15. [root@slyoyo ~]# ls hahaha/
  16. linghuchong
  17. [root@slyoyo ~]# ls hahaha/linghuchong/
  18. [root@slyoyo ~]#

6  os.rmdir('dirname')     #删除单级目录

  1. [root@slyoyo ~]# ls
  2. 04.sql back.sql binlog.sql install.log.syslog Python-3.4.4.tar.xz text.py
  3. 1test backup.sql hahaha phpMyAdmin-4.4.15-all-languages.tar.bz2 test
  4. anaconda-ks.cfg binlog4.sql install.log Python-3.4.4 test1
  5. [root@slyoyo ~]# ls hahaha/
  6. linghuchong
  7. [root@slyoyo ~]# ls hahaha/linghuchong/
  8. [root@slyoyo ~]# python3
  9. Python 3.4.4 (default, Apr 5 2016, 04:23:19)
  10. [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
  11. Type "help", "copyright", "credits" or "license" for more information.
  12. >>> import os
  13. >>> os.rmdir('hahaha/linghuchong')
  14. >>> exit()
  15. [root@slyoyo ~]# ls hahaha/
  16. [root@slyoyo ~]#

7  os.rename("oldname","newname")    #重命名文件

  1. >>> os.getcwd()
  2. '/root/hahaha'
  3. >>> os.listdir()
  4. ['test']
  5. >>> os.rename('test','test_new')
  6. >>> os.listdir()
  7. ['test_new']

8  os.system()    #运行shell命令,注意:这里是打开一个新的shell,运行命令,当命令结束后,关闭shell

  1. >>> os.system('pwd')
  2. /root/hahaha
  3. 0

9  os.sep    #显示当前平台下路径分隔符

  1. >>> os.sep
  2. '/' #linux
  3.  
  4. >>> os.sep
  5. '\\' #windows

10  os.linesep    #给出当前平台使用的行终止符

  1. >>> os.linesep
  2. '\n' #linux
  3.  
  4. >>> os.linesep
  5. '\r\n' #windows

11  os.environ    #获取系统环境变量

  1. os.environ
  2. environ({'USERPROFILE': 'C:\\Users\\Capital-D', 'PROCESSOR_ARCHITECTURE': 'x86', 'SESSIONNAME': 'Console', 'UGII_BASE_DIR': 'D:\\Program Files (x86)\\Siemens\\NX 8.0', 'COMMONPROGRAMW6432': 'C:\\Program Files\\Common Files', 'COMMONPROGRAMFILES(X86)': 'C:\\Program Files (x86)\\Common Files', 'MOZ_PLUGIN_PATH': 'C:\\Program Files (x86)\\Foxit Software\\Foxit Reader\\plugins\\', 'ALLUSERSPROFILE': 'C:\\ProgramData', 'PYTHONIOENCODING': 'UTF-8', 'NUMBER_OF_PROCESSORS': '', 'APPDATA': 'C:\\Users\\Capital-D\\AppData\\Roaming', 'TERM': 'emacs', 'TEMP': 'C:\\Users\\CAPITA~1\\AppData\\Local\\Temp', 'PROGRAMDATA': 'C:\\ProgramData', 'COMSPEC': 'C:\\windows\\system32\\cmd.exe', 'WINDIR': 'C:\\windows', 'PROCESSOR_IDENTIFIER': 'Intel64 Family 6 Model 58 Stepping 9, GenuineIntel', 'PATHEXT': '.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY', 'PATH': 'C:\\ProgramData\\Oracle\\Java\\javapath;C:\\Program Files (x86)\\Common Files\\NetSarang;C:\\Program Files (x86)\\NVIDIA Corporation\\PhysX\\Common;C:\\Program Files (x86)\\Intel\\iCLS Client\\;C:\\Program Files\\Intel\\iCLS Client\\;C:\\windows\\system32;C:\\windows;C:\\windows\\System32\\Wbem;C:\\windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files\\Intel\\Intel(R) Management Engine Components\\IPT;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\DAL;C:\\Program Files (x86)\\Intel\\Intel(R) Management Engine Components\\IPT', 'UGII_ROOT_DIR': 'D:\\Program Files (x86)\\Siemens\\NX 8.0\\UGII\\', 'COMPUTERNAME': 'IDEA-PC', 'USERDOMAIN': 'idea-PC', 'TMP': 'C:\\Users\\CAPITA~1\\AppData\\Local\\Temp', 'SYSTEMROOT': 'C:\\windows', 'PROCESSOR_REVISION': '3a09', 'FP_NO_HOST_CHECK': 'NO', 'PROGRAMFILES': 'C:\\Program Files (x86)', 'PYTHONDONTWRITEBYTECODE': '', 'LOCALAPPDATA': 'C:\\Users\\Capital-D\\AppData\\Local', 'PYTHONUNBUFFERED': '', 'LOGONSERVER': '\\\\IDEA-PC', 'UGII_LANG': 'simpl_chinese', 'SYSTEMDRIVE': 'C:', 'PUBLIC': 'C:\\Users\\Public', 'HOMEPATH': '\\Users\\Capital-D', 'PYTHONPATH': 'C:\\Program Files (x86)\\JetBrains\\PyCharm 5.0.2\\helpers\\pydev', 'USERNAME': 'Capital-D', 'UGS_LICENSE_SERVER': '28000@idea-pc', 'USERDOMAIN_ROAMINGPROFILE': 'idea-PC', 'PYCHARM_HOSTED': '', 'OS': 'Windows_NT', 'PROCESSOR_ARCHITEW6432': 'AMD64', 'PROGRAMFILES(X86)': 'C:\\Program Files (x86)', 'PROGRAMW6432': 'C:\\Program Files', 'PSMODULEPATH': 'C:\\windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\', 'COMMONPROGRAMFILES': 'C:\\Program Files (x86)\\Common Files', 'IPYTHONENABLE': 'True', 'HOMEDRIVE': 'C:', 'CONFIGSETROOT': 'C:\\windows\\ConfigSetRoot', 'PROCESSOR_LEVEL': ''})

12  os.path.abspath(path)    #显示当前绝对路径

  1. >>> os.path.abspath('test')
  2. 'C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test'

13  os.path.dirname(path)    #返回该路径的父目录

  1. >>> os.path.abspath('test')
  2. 'C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test'
  3. >>> os.path.dirname(os.path.abspath('test'))
  4. 'C:\\Users\\Capital-D\\PycharmProjects\\untitled'

14  os.path.basename(path)    #返回该路径的最后一个目录或者文件,如果path以/或\结尾,那么就会返回空值。

  1. >>> os.path.dirname(os.path.abspath('test'))
  2. 'C:\\Users\\Capital-D\\PycharmProjects\\untitled'
  3. >>> os.path.basename(os.path.dirname(os.path.abspath('test')))
  4. 'untitled'

15  os.path.isfile(path)     #如果path是一个文件,则返回True

  1. [root@slyoyo ~]# ls
  2. 04.sql back.sql binlog.sql install.log.syslog Python-3.4.4.tar.xz text.py
  3. 1test backup.sql hahaha phpMyAdmin-4.4.15-all-languages.tar.bz2 test
  4. anaconda-ks.cfg binlog4.sql install.log Python-3.4.4 test1
  5. [root@slyoyo ~]# python3
  6. Python 3.4.4 (default, Apr 5 2016, 04:23:19)
  7. [GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux
  8. Type "help", "copyright", "credits" or "license" for more information.
  9. >>> import os
  10. >>> os.path.isfile('test')
  11. True

16  os.path.isdir(path)    #如果path是一个目录,则返回True

  1. >>> os.path.isdir('hahaha')
  2. True

17  os.stat()    #获取文件或者目录信息

  1. >>> os.stat('test')
  2. os.stat_result(st_mode=33188, st_ino=137149, st_dev=2050, st_nlink=1, st_uid=0, st_gid=0, st_size=85, st_atime=1462373193, st_mtime=1462373186, st_ctime=1462373186)

18  os.path.split(path)  #将path分割成路径名和文件名。(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

  1. >>> os.path.split('/root/test')
  2. ('/root', 'test')

19  os.path.join(path,name)   #连接目录与文件名或目录 结果为path/name

  1. >>> os.path.join('/root/haha','test')
  2. '/root/haha/test'

python基础之模块之os模块的更多相关文章

  1. Python基础之time、os模块

    1.时间模块 1)模块 python安装好之后,会有一些默认模块,我们称之为标准库,标准库中的模块python自带,无需安装. 除了标准库,还有一个第三方库,可以通过pip来安装,不同的库有不同的功能 ...

  2. python 常用模块(一): os模块,序列化模块(json模块 pickle模块 )

    1.os模块 2.序列化模块:(1)json模块 和 pickle模块 一.os模块 os.path.abspath: (1)把路径中不符合规范的/改成操作系统默认的格式 import os path ...

  3. Python(七)之OS模块

    文件系统功能:os模块 python编程时,经常和文件.目录打交道,这是就离不了os模块.os模块包含普遍的操作系统功能,与具体的平台无关.以下列举常用的命令: 目录: os.mkdir('/tmp/ ...

  4. Python入门-模块2(random模块、os模块)

    >>> random.randomrange(1,10) #返回1-10之间的一个随机数,不包括10 >>> random.randint(1,10) #返回1-1 ...

  5. Python的路径操作(os模块与pathlib模块)

    Python的路径操作(os模块与pathlib模块) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.os.path模块(Python 3.4版本之前推荐使用该模块) #!/u ...

  6. (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)

    阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...

  7. day5模块学习 -- os模块学习

    python基础之模块之os模块 os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/ ...

  8. 常用模块:os模块,logging模块等

    一    os模块 那么作为一个常用模块,os模块是与操作系统交互的一个模块. 那么os模块中我们常用的一般有以下几种: os.listdir('dirname') 以列表的形式列出指定目录下的所有文 ...

  9. 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操

    目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...

  10. 模块之-os模块

    模块之-os模块 >>> import os >>> os.getcwd() #获取当前工作目录 'C:\\Users\\Administrator' >&g ...

随机推荐

  1. Javascript的"预编译"思考

    今天工作需要,搜索下JS面试题,看到一个题目,大约是这样的 <script> var x = 1, y = z = 0; function add(n) { n = n+1;  } y = ...

  2. java多线程的常用方法(以及注意事项)

    /* * 线程的常用方法 * 1.start(); * 2.run(); * 3.sleep(int millsecond); * 4.isAlive(); -->判断线程是否还在运行 * 5. ...

  3. Valid Palindrome [LeetCode]

    Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignori ...

  4. MVC中处理Json和JS中处理Json对象

    MVC中处理Json和JS中处理Json对象 ASP.NET MVC 很好的封装了Json,本文介绍MVC中处理Json和JS中处理Json对象,并提供详细的示例代码供参考. MVC中已经很好的封装了 ...

  5. Git删除远程分支

    查看 git branch -a 删除远程分支 git branch -r -d origin/branch-name  //只是删除的本地对该远程分支的track git push origin : ...

  6. ios基础篇(六)——UITextView的常用方法及技巧

    上篇说到了UITextField,我们先来说说UITextView和UITextField的不同: UITextView支持多行输入; UITextFiled只支持单行; UITextView没有pl ...

  7. 8月10日 微软MVP巡讲 Windows 开发专题活动

    1.签到 2.准备工作 3.讲师正在准备 4.讲师发言 5.本次活动进行中 合影

  8. 推荐10款非常优秀的 HTML5 开发工具

      HTML5 发展如火如荼,随着各大浏览器对 HTML5 技术支持的不断完善以及 HTML5 技术的不断成熟,未来 HTML5 必将改变我们创建 Web 应用程序的方式.今天这篇文章向大家推荐10款 ...

  9. ORACLE 一致性读原理记录

    什么是一致性读? 一致性读指的是在从查询那一刻起,中间的变化不予理会. 举例说明 比如我有两个帐户A,B. A 有1000块,B有1000快.我查询的时候查询速度比较慢.中间A转500到B账户. 已经 ...

  10. 【vmware vcp 5.1】安装及配置及笔记散记

    ESXi的几个命令技巧: ------------------------------------------------- alt-f1: 进入console alt-f2: 返回DCUI alt- ...