python中os和os.path模块解析

其它函数

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 os
import 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')

相关文章

在前一篇博客中我们介绍了加侧旋的乒乓球弧圈技术的模拟,本...
在近期conda的版本更新中,有可能会删除路径下的_sysconfigd...
本文主要展示了一些lambda表达式的使用示例,通过这些示例,...
本文通过对比Jax和Numpy计算Normalized Hamming Distance的过...
我们知道GPU加速在可并行化程度比较高的算法中,能够发挥出比...
Numpy这个库在Python编程中非常的常用,不仅在性能上补足了P...