python中的os模块
os模块
os模块的作用:
os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小……
另外,os模块不受平台限制,也就是说:当我们要在linux中显示当前路径时就要用到pwd命令,而Windows中cmd命令行下就要用到这个,额...我擦,我还真不知道,(甭管怎么着,肯定不是pwd),这时候我们使用python中os模块的os.path.abspath(name)功能,甭管是linux或者Windows都可以获取当前的绝对路径。
os模块的常用功能:
1 os.name #显示当前使用的平台
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.name 'nt' #这表示Windows >>> os.name 'posix' #这表示Linux
View Code
2 os.getcwd() #显示当前python脚本工作路径
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.getcwd() 'C:\\Users\\Capital-D\\PycharmProjects\\untitled' #使用pycharm>>> os.getcwd() '/root' #Linux平台在/root目录直接使用python3命令
View Code
3 os.listdir('dirname') #返回指定目录下的所有文件和目录名
![](/assets/blank.gif)
![](/assets/blank.gif)
#相对于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']
View Code
4 os.remove('filename') #删除一个文件
![](/assets/blank.gif)
![](/assets/blank.gif)
[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已被删
View Code
5 os.makedirs('dirname/dirname') #可生成多层递规目录
![](/assets/blank.gif)
![](/assets/blank.gif)
[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 ~]#
View Code
6 os.rmdir('dirname') #删除单级目录
![](/assets/blank.gif)
![](/assets/blank.gif)
[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 ~]#
View Code
7 os.rename("oldname","newname") #重命名文件
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.getcwd() '/root/hahaha' >>> os.listdir() ['test'] >>> os.rename('test','test_new') >>> os.listdir() ['test_new']
View Code
8 os.system() #运行shell命令,注意:这里是打开一个新的shell,运行命令,当命令结束后,关闭shell
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.system('pwd') /root/hahaha 0
View Code
9 os.sep #显示当前平台下路径分隔符
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.sep '/' #linux>>> os.sep '\\' #windows
View Code
10 os.linesep #给出当前平台使用的行终止符
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.linesep '\n' #linux>>> os.linesep '\r\n' #windows
View Code
11 os.environ #获取系统环境变量
![](/assets/blank.gif)
![](/assets/blank.gif)
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': '4', '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': '1', 'LOCALAPPDATA': 'C:\\Users\\Capital-D\\AppData\\Local', 'PYTHONUNBUFFERED': '1', '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': '1', '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': '6'})
View Code
12 os.path.abspath(path) #显示当前绝对路径
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.path.abspath('test') 'C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test'
View Code
13 os.path.dirname(path) #返回该路径的父目录
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.path.abspath('test') 'C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test' >>> os.path.dirname(os.path.abspath('test')) 'C:\\Users\\Capital-D\\PycharmProjects\\untitled'
View Code
14 os.path.basename(path) #返回该路径的最后一个目录或者文件,如果path以/或\结尾,那么就会返回空值。
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.path.dirname(os.path.abspath('test')) 'C:\\Users\\Capital-D\\PycharmProjects\\untitled' >>> os.path.basename(os.path.dirname(os.path.abspath('test'))) 'untitled'
View Code
15 os.path.isfile(path) #如果path是一个文件,则返回True
![](/assets/blank.gif)
![](/assets/blank.gif)
[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
View Code
16 os.path.isdir(path) #如果path是一个目录,则返回True
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.path.isdir('hahaha') True
View Code
17 os.stat() #获取文件或者目录信息
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> 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)
View Code
18 os.path.split(path) #将path分割成路径名和文件名。(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.path.split('/root/test') ('/root', 'test')
View Code
19 os.path.join(path,name) #连接目录与文件名或目录 结果为path/name
![](/assets/blank.gif)
![](/assets/blank.gif)
>>> os.path.join('/root/haha','test') '/root/haha/test'
View Code
转载于:https://www.cnblogs.com/MnCu8261/p/5483657.html
python中的os模块相关推荐
- python os模块安装_二十七、深入浅出Python中的 os模块
「@Author: Runsen」 当初学Python的时候,把一些标准库和第三方开源库学的七零八落,不成系统,正好趁这个机会来系统的整理一下,先从Python常用的标准库os开始吧. os OS模块 ...
- python 中的os模块
python os模块 Python os 模块提供了一个统一的操作系统接口函数 一.对于系统的操作 1.os.name 当前使用平台 其中 'nt' 是 windows,'posix' 是linux ...
- python根须系统斜杠_深入浅出Python中的os模块
「@Author:Runsen」 当初学Python的时候,把一些标准库和第三方开源库学的七零八落,不成系统,正好趁这个机会来系统的整理一下,先从Python常用的标准库os开始吧. os OS模块简 ...
- 二十七、深入浅出Python中的 os模块
@Author: Runsen 当初学Python的时候,把一些标准库和第三方开源库学的七零八落,不成系统,正好趁这个机会来系统的整理一下,先从Python常用的标准库os开始吧. 文章目录 os 获 ...
- Python 中的 os 模块常见方法
os.remove()删除文件 os.rename()重命名文件 os.walk()生成目录树下的所有文件名 os.chdir()改变目录 os.path.split()返回(dirname(),ba ...
- Python 中的 os 模块常见方法?
1 os.remove() 删除文件 2 os.rename() 重命名文件 3 os.walk() 生成目录树下的所有文件名 4 os.chdir() 改变目录 5 os.mkdir/makedir ...
- python找不到os模块_Python中的OS模块:您需要知道的一切
Python是当今业界最强大的编程语言之一.由于Python具有许多特性和强大的通用性,许多复杂的编程目标可以很容易地在Python中实现.在本文中,我们将按照以下顺序讨论Pyt Python是当今业 ...
- python中的os abort_Python os.abort()用法及代码示例
Python中的OS模块提供了与操作系统进行交互的功能.操作系统属于Python的标准实用程序模块.该模块提供了使用依赖于操作系统的功能的便携式方法. os.abort()Python中的方法用于生成 ...
- python中的os.listdir()方法
Python中的os模块用于和系统进行交互, 其中os.listdir()用于返回一个由文件名和目录名组成的列表, 需要注意的是它接收的参数需要是一个绝对的路径 例如: 已知路径path = /hom ...
最新文章
- 求求你别再用 System.out.println 了!!
- linux关于文件夹的知识,Ubuntu 7.10 系统文件夹相关知识
- spark算子大全glom_2小时入门Spark之RDD编程
- Java微服务(四)【idea配置本地maven】【中文idea版本】(手把手编写,超级详细)
- Java集合(四):Map映射
- vs2015web项目无法加载64位c++的dll,提示试图加载不正确的格式
- 不改代码也能全面 Serverless 化,阿里中间件如何破解这一难题?
- java调用js查询mongo_MongoDB增删查改操作示例【基于JavaScript Shell】
- 工具解析:杀毒引擎惨遭打脸,黑帽大会爆惊天免杀工具
- API RSA签名颁发证书
- 魔域私服怎么老服务器中断,魔域私服技术文章-服务器端比较正确的数据库解释文件...
- paip.命令行执行js
- 从AppCompat切换到MaterialComponents一些主题属性介绍
- 一位共阴数码管0至F数码显示
- 机房环动监控系统作用
- 【SaaS播客】onboard4. 连线硅谷顶尖Product-Led Growth公司产品经理,聊聊如何打造一流PLG产品
- easyui datagrid 多列排序,该如何处理[多列同时order,只针对某一列order]
- 虚拟创业云|宝妈和大学生兼职和手机网赚兼职的任务平台大全
- c++ bitset类用法
- (Excel / WPS表格)常用公式、技巧