os模块简介:
OS模块是Python标准库中的一个用于访问操作系统功能的模块,OS模块提供了一种可移植的方法使用操作系统的功能。使用OS模块中提供的接口,可以实现跨平台访问。但是在OS模块中的接口并不是所有平台都通用,有些接口的实现是依靠特定平台下的接口的。在OS模块中提供了一系列访问操作系统功能的接口,便于编写跨平台的应用。
在使用OS模块的时候,如果需要获取系统的名字,可以使用os.name获取抛入这个模块的系统的名称,如果是在windows平台下,则返回‘nt’,在Linux则返回‘posix’。
OS模块中的异常处理:
在使用OS模块的时候,如果使用过程中出现了异常,OS模块会抛出OSError异常,表明:无效的路径名或文件名,或者给出的路径名或文件名无法访问,或者当前使用的系统不支持。
在OS模块中,你可以使用OS模块定义的os.error这个exception,os.error是OSError的别名
python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令
1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'
2. os.getcwd()——得到当前工作的目录。
3. os.listdir()——指定所有目录下所有的文件和目录名。例:
以列表的形式全部列举出来,其中没有区分目录和文件。
4. os.remove()——删除指定文件
5. os.rmdir()——删除指定目录
6. os.mkdir()——创建目录
注意:这样只能建立一层,要想递归建立可用:os.makedirs()
7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False
8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。例:
9. os.path.exists()——检验指定的对象是否存在。是True,否则False.例:
10. os.path.split()——返回路径的目录和文件名。例:
此处只是把前后两部分分开而已。就是找最后一个'/'。看例子:
11. os.getcwd()——获得当前工作的目录(get current work dir)
12. os.system()——执行shell命令。例:
注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:
var=123os.environ['var']=str(var)//注意此处[]内得是 “字符串”os.system('echo $var')
13. os.chdir()——改变目录到指定目录
14. os.path.getsize()——获得文件的大小,如果为目录,返回0
15. os.path.abspath()——获得绝对路径。例:
16. os.path.join(path, name)——连接目录和文件名。例:
17.os.path.basename(path)——返回文件名
18. os.path.dirname(path)——返回文件路径
os.path模块:
1、os.path.split()
函数返回一个路径的目录名和文件名
os.path.split(‘C:\Python25\abc.txt’)
(‘C:\Python25’, ‘abc.txt’)
2、os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
os.path.isdir(os.getcwd())
True
os.path.isfile(‘a.txt’)
False
3、os.path.exists()函数用来检验给出的路径是否真地存在
os.path.exists(‘C:\Python25\abc.txt’)
False
os.path.exists(‘C:\Python25’)
True
4、os.path.abspath(name):获得绝对路径
5、os.path.normpath(path):规范path字符串形式
6、os.path.getsize(name):获得文件大小,如果name是目录返回0L
7、os.path.splitext():分离文件名与扩展名
os.path.splitext(‘a.txt’)
(‘a’, ‘.txt’)
8、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’
9、os.path.basename(path):返回文件名
os.path.basename(‘a.txt’)
‘a.txt’
os.path.basename(‘c:\Python\a.txt’)
‘a.txt’
10、os.path.dirname(path):返回文件路径
os.path.dirname(‘c:\Python\a.txt’)
‘c:\Python’
os.path.abspath(path)#返回绝对路径
os.path.split(path#将path分割成目录和文件名二元组返回
os.path.dirname(path)#返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path)#返回path最后的文件名
os.path.exists(path)#如果path存在,返回True;如果path不存在,返回False
os.path.isabs(path)#如果path是绝对路径,返回True
os.path.isfile(path)#如果path是一个存在的文件,返回True。否则返回False
os.path.isdir(path)#如果path是一个存在的目录,则返回True。否则返回False
os.path.getatime(path)#返回path所指向的文件或者目录的最后存取时间
os.path.getmtime(path)#返回path所指向的文件或者目录的最后修改时间
s.path.join(path1[, path2[, ...]])#将多个路径组合后返回,第一个绝对路径之前的参数将被忽略。
>>> os.path.join('c:\\', 'csv', 'test.csv')
'c:\\csv\\test.csv'
>>> os.path.join('windows\temp','c:\\', 'csv', 'test.csv')
'c:\\csv\\test.csv'
>>> os.path.join('/home/aa','/home/aa/bb','/home/aa/bb/c')
'/home/aa/bb/c'