一、os模块概述
Python os模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。(一语中的)
二、常用方法
1、os.name
输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。
2、os.getcwd()
函数得到当前工作目录,即当前Python脚本工作的目录路径。
3、os.listdir()
返回指定目录下的所有文件和目录名。
>>> os.listdir(os.getcwd()) ['Django', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'MySQL-python-wininst.log', 'NEWS.txt', 'PIL-wininst.log', 'python.exe', 'pythonw.exe', 'README.txt', 'RemoveMySQL-python.exe', 'RemovePIL.exe', 'Removesetuptools.exe', 'Scripts', 'setuptools-wininst.log', 'tcl', 'Tools', 'w9xpopen.exe'] >>>
4、os.remove()
删除一个文件。
5、os.system()
运行shell命令。
>>> os.system('dir') 0 >>> os.system('cmd') #启动dos
6、os.sep 可以取代操作系统特定的路径分割符。
7、os.linesep字符串给出当前平台使用的行终止符
>>> os.linesep '\r\n' #Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'。 >>> os.sep '\\' #Windows >>>
8、os.path.split()
函数返回一个路径的目录名和文件名
>>> os.path.split('C:\\Python25\\abc.txt') ('C:\\Python25', 'abc.txt')
9、os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
>>> os.path.isdir(os.getcwd()) True >>> os.path.isfile('a.txt') False
10、os.path.exists()函数用来检验给出的路径是否真地存在
>>> os.path.exists('C:\\Python25\\abc.txt') False >>> os.path.exists('C:\\Python25') True >>>
11、os.path.abspath(name):获得绝对路径
12、os.path.normpath(path):规范path字符串形式
13、os.path.getsize(name):获得文件大小,如果name是目录返回0L
14、os.path.splitext():分离文件名与扩展名
>>> os.path.splitext('a.txt') ('a', '.txt')
15、os.path.join(path,name):连接目录与文件名或目录
>>> os.path.join('c:\\Python','a.txt') 'c:\\Python\\a.txt' >>> os.path.join('c:\\Python','f1') 'c:\\Python\\f1' >>>
16、os.path.basename(path):返回文件名
>>> os.path.basename('a.txt') 'a.txt' >>> os.path.basename('c:\\Python\\a.txt') 'a.txt' >>>
17、os.path.dirname(path):返回文件路径
>>> os.path.dirname('c:\\Python\\a.txt') 'c:\\Python'
II
os.error
内建OSError exception的别名。
os.name
导入依赖操作系统模块的名字。下面是目前被注册的名字:'posix', 'nt', 'mac', 'os2', 'ce', 'java', 'riscos'.
下面的function和data项是和当前的进程和用户有关
>>> os.path.dirname('c:\\Python\\a.txt') 'c:\\Python'
os.environ
一个mapping对象表示环境。例如,environ['HOME'] ,表示的你自己home文件夹的路径(某些平台支持,windows不支持)
,它与C中的getenv("HOME")一致。
这个mapping对象在os模块第一次导入时被创建,一般在python启动时,作为site.py处理过程的一部分。在这一次之后改变environment不
影响os.environ,除非直接修改os.environ.
注:putenv()不会直接改变os.environ,所以最好是修改os.environ
注:在一些平台上,包括FreeBSD和Mac OS X,修改environ会导致内存泄露。参考 putenv()的系统文档。
如果没有提供putenv(),mapping的修改版本传递给合适的创建过程函数,将导致子过程使用一个修改的environment。
如果这个平台支持unsetenv()函数,你可以删除mapping中的项目。当从os.environ使用pop()或clear()删除一个项目时,unsetenv()会自动被调用(版本2.6)。
os.chdir(path)
os.fchdir(fd)
os.getcwd()
这些函数在 Files和 Directories中。
os.ctermid()
返回进程控制终端的文件名。在unix中有效,请查看相关文档.。
os.getegid()
返回当前进程有效的group的id。对应于当前进程的可执行文件的"set id "的bit位。在unix中有效,请查看相关文档.。
os.geteuid()
返回当前进程有效的user的id。在unix中有效,请查看相关文档.。
os.getgid()
返回当前进程当前group的id。在unix中有效,请查看相关文档.。
os.getgroups()
返回当前进程支持的groups的id列表。在unix中有效,请查看相关文档.。
os.getlogin()
返回进程控制终端登陆用户的名字。在大多情况下它比使用environment变量LOGNAME来得到用户名,或使用pwd.getpwuid(os.getuid())[0] 得到当前有效用户id的登陆名更为有效。在unix中有效,请查看相关文档.。
os.getpgid(pid)
返回pid进程的group id.如果pid为0,返回当前进程的group id。在unix中有效,请查看相关文档.。
os.getpgrp()
返回当前进程组的id.在unix中有效,请查看相关文档.。
os.getpid()
返回当前进程的id.在unix,Windows中有效。
os.getppid()
返回当前父进程的id.在unix中有效,请查看相关文档.。
os.getuid()
返回当前当前进程用户的id.在unix中有效,请查看相关文档.。
os.getenv(varname[, value])
返回environment变量varname的值,如果value不存在,默认为None.在大多版本的unix,Windows中有效。
os.pipe()
创建一个管道. 返回一对文件描述符(r, w) 分别为读和写. 在unix,Windows中有效。
os.read(fd, n)
从文件描述符 fd中读取最多n个字节. 返回包含读取字节的string. 文件描述符 fd对应文件已达到结尾, 返回一个空string. 在unix,Windows中有效。
转载于:https://blog.csdn.net/lygzscnt12/article/details/52470017