其它函数:
os.path.isabs() 指定路径是否为绝对路径os.path.isdir() 指定路径是否存在且为一个目录
os.path.isfile() 指定路径是否存在且为一个文件
os.path.islink() 指定路径是否存在且为一个符号链接
os.path.ismount() 指定路径是否存在且为一个挂载点 ???
os.path.samefile() 两个路径名是否指向同一个文件
os.path.exists() 检验路径是否真实存在
文件处理:
os.listdir() 列出目录下的所有文件和文件夹,返回一个列表os.mkdir(‘test’) 创建单个目录(如果目录已存在,会产生OSError错误)
os.makedirs(r’c:\python\test’) 创建多级目录
os.remove() 删除文件,如果文件不存在,或者没有权限,则会产生错误
os.rmdir() 删除目录(如果目录中有文件会产生OSError错误,删除非空目录使用shutil.rmtree(”))
os.removedirs() 删除多个目录
os.rename(old, new) 重命名
os.name 指示你正在使用的平台,Windows,它是’nt’,而对于Linux/Unix用户,它是’posix’
os.chdir() 改变工作目录
os.getenv() 与os.putenv() 设置和读取环境变量
os.exit() 退出当前进程
文件信息:
import osimport time
os.path.basename() #获取文件名
os.path.dirname() #获取路径名
os.path.getsize(file) #获取文件大小(字节为单位)
os.path.getatime(file) #获取最近访问时间1318921018.0 ( 浮点型秒数)
os.path.getctime(file) #获取文件创建时间
os.path.getmtime(file) #获取最近修改时间
time.gmtime(os.path.getmtime(file)) #以struct_time形式输出最近修改时间
os.path.abspath(file) #获取绝对路径’/Volumes/Leopard/Users/Caroline/Desktop/1.mp4′
os.path.normpath(file) #获取’/Volumes/Leopard/Users/Caroline/Desktop/1.mp4′
一些实际的用法:
# 来自jb51.cc
#创建文件:
os.mknod("test.txt") 创建空文件
fp = open("test.txt",w) 直接打开一个文件,如果文件不存在则创建文件
#获取扩展名:
>>> os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4')[1:]
('.mp4',)
>>> os.path.splitext('/Volumes/Leopard/Users/Caroline/Desktop/1.mp4')[1]
'.mp4'
#获取文件名:
>>> print os.path.basename(r'/root/hahaha/123.txt')
123.txt
>>> print os.path.dirname(r'/root/hahaha/123.txt')
/root/hahaha
#判断目录或文件的存在:
>>> os.path.exists('/root/1.py')
True
>>> os.path.exists('/root/')
True
>>> os.path.exists('/root')
True
>>> os.path.isdir('/root')
True
#改变工作目录:
>>> os.chdir('/home')
>>> os.getcwd()
'/home'
#字符串分割:
>>> '/usr/bin/env'.split('/')
['','usr','bin','env']
#获取文件夹大小(Python2.x):
import os
from os.path import join,getsize
def getdirsize(dir):
size = 0L
for root,dirs,files in os.walk(dir):
size += sum([getsize(join(root,name)) for name in files])
return size
if __name__ == '__main__':
filesize = getdirsize('/tmp')
print 'There are %.3f' % (filesize/1024/1024),'Mbytes in /tmp'
#获取文件夹大小(Python3.x):
import os
from os.path import join,getsize
def getdirsize(dir):
size = 0
for root,name)) for name in files])
return size
if __name__ == '__main__':
filesize = getdirsize('/tmp')
print ('There are ' + str(filesize/1024/1024) + 'Mbytes in /tmp')