os模块

os模块的作用:

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

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

os模块的常用功能:

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

>>> os.name
'nt' #这表示Windows
>>> os.name
'posix' #这表示Linux

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

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

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

#相对于os.getcwd路径下的文件
>>> os.listdir()
['.idea', 'test'] >>> os.listdir()
['.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')       #删除一个文件

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

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

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

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

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

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

>>> os.getcwd()
'/root/hahaha'
>>> os.listdir()
['test']
>>> os.rename('test','test_new')
>>> os.listdir()
['test_new']

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

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

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

>>> os.sep
'/' #linux >>> os.sep
'\\' #windows

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

>>> os.linesep
'\n' #linux >>> os.linesep
'\r\n' #windows

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

os.environ
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)    #显示当前绝对路径

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

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

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

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

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

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

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

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

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

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

>>> os.stat('test')
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分割成路径名和文件名。(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

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

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

>>> os.path.join('/root/haha','test')
'/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. HTML5自学笔记[ 17 ]canvas绘图基础4

    绘制图像: drawImage(oImg,x,y),oImg是一个Image对象,(x,y)为绘制起点,绘制的图像大小和源图大小一样. drawImage(oImg,x,y,w,h),后两个参数设置绘 ...

  2. static与C#中的static

    Static 1.静态方法与非静态方法 a.静态方法的调用类.静态方法名([参数列表]) 非静态方法的调用类 对象 = new 类的构造函数([参数列表])对象.非静态方法名([参数列表]) 静态方法 ...

  3. SAP销售订单状态修改(审核) 计划行自动产生需求,产生MD04需求

    不知道业务怎么配置的,创建销售单时,一堆计划行类别,什么CN,DN...都有,但是审核后需要计划行变更为CP,这样在MD04才能看到需求. 原有逻辑是弄个后台程序,审核后调一下,更新一下计划行,这样是 ...

  4. [转]C#取得内网IP、外网IP、客户端IP方法

    前言 在 Windows Form Application 里对于取得 IP Address 有内网.外网两种 IP Address ,如果只需要取得内网 IP Address ,可以透过使用 IPH ...

  5. 如何使用JCONSOLE 监控eclipse的tomcat

    在默认情况下,使用jconsole 监控本地tomcat 是不需要任何配置的,直接连接就可以监控tomcat.   但是在eclipse 下启动是监控不了.   解决方法:   设置jvm参数:   ...

  6. CSS最常用和实用的技巧

    1.重置浏览器的字体大小重置浏览器的默认值 ,然后重设浏览器的字体大小你可以使用雅虎的用户界面重置的CSS方案 ,如果你不想下载9MB的文件,代码如下: body,div,dl,dt,dd,ul,ol ...

  7. Box2d引擎之元素

    主要包括: 简单形状的物体,如矩形.圆.多边形 复杂的由多个形状组成的物体 结合点,如连接多个物体的旋转结合点 接触监听器 一.简单形状的物体 矩形 function createRectangula ...

  8. autoLyout纯代码适配

    前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时 ...

  9. bzoj 2326: [HNOI2011]数学作业

    #include<cstdio> #include<iostream> #include<cstring> #include<cmath> #defin ...

  10. POJ 1503 Integer Inquiry 大数 难度:0

    题目链接:http://poj.org/problem?id=1503 import java.io.*; import java.math.BigInteger; import java.util. ...