【2017-11-18】文件与IO(四)

os模块的使用,总结、加深

  • 获取路径及路径属性
    • os.getcwd() 获得当前工作目录
    • os.path.getsize(filename) 返回文件的大小,注意不是文件夹,否则返回为0
    • .os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间戳。
    • os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间戳
    • os.stat(path)获取所有属性,包括创建时间、最后修改时间、最后访问时间、权限模式、文件大小等
    • os.path.dirname() 返回指定路径的目录,相当于os.path.split()第一个元素
    • os.path.basename() 返回指定路径的文件名,相当于os.path.split()第二个元素
    • os.path.abspath() 返回指定文件规范化的绝对路径
    • os.listdir() 返回指定目录下的文件或目录名
>>> import os
>>> os.getcwd()
'D:\\python3.6\\Lib\\idlelib'
>>> path=r"E:\python\page5\first.py"
>>> os.path.getsize(path)
353
>>> os.path.getmtime(path)
1511009754.0
>>> os.path.getatime(path)
1510934400.0
>>> os.stat(path)
os.stat_result(st_mode=33206, st_ino=23722177728, st_dev=3276949959, st_nlink=1, st_uid=0, st_gid=0, st_size=353, st_atime=1510934400, st_mtime=1511009754, st_ctime=1511007380)
>>> os.path.abspath("first.py")
'D:\\python3.6\\Lib\\idlelib\\first.py'
>>> os.path.dirname(path)
'E:\\python\\page5'
>>> os.path.dirname(os.path.dirname(path))
'E:\\python'
>>> os.path.basename(path)
'first.py'
>>> os.listdir(os.getcwd())
>>> 
  • 操作路径及目录
    • os.mkdir(path) 创建目录,仅仅一级,若存在,则报错
    • os.rmdir(path) 要求目录为空, 否则抛出OSError错误
    • os.makedirs(path) 创建多级目录
    • os.removedirs(path) 先删除子目录,再删除父目录,子目录失败,父目录也失败,类似rmdir,既要求目录为空
    • os.remove(filename) 仅仅删除文件,不会删除目录
    • os.rename(old,new) 对文件进行重命名
    • os.renames(old,new) 对文件或者目录进行重命名,功能除了重命名,更类似剪切功能。可以将整个文件树移动到一个不存在的目录下
    • os.path.split 指定路径文件目录与文件名分离,返回一个包含目录名和文件名的元组,即(目录,文件)例如: os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
    • os.chdir(path)改变当前工作目录到指定的路径
    • os.path.join() 将多个指定目录进行拼接
    • os.walk(path) 深度遍历path,返回一个对象,他的每个部分都是一个三元组 ('目录x',[目录x下的目录list],目录x下面的文件) 。
#示例:os.walk()
for i in os.walk(os.getcwd()):
    print(i)
#结果
('E:\\python\\page5', ['.idea', 'result', 'tt'], ['first.py'])
('E:\\python\\page5\\.idea', ['inspectionProfiles'], ['modules.xml', 'misc.xml', 'page5.iml', 'workspace.xml'])
('E:\\python\\page5\\.idea\\inspectionProfiles', [], ['profiles_settings.xml'])
('E:\\python\\page5\\result', [], ['ew'])
('E:\\python\\page5\\tt', ['3.txt'], [])
('E:\\python\\page5\\tt\\3.txt', [], [])
  • 测试文件或者目录是否存在
  • os.path.isfile() 返回指定路径是否为文件,是为true,否为false
  • os.path.isdir() 返回指定路径是否为目录,是为true,否为false
  • os.path.exists() 检查给定路径是否存在,存在true,不存在false

你可能感兴趣的:(【2017-11-18】文件与IO(四))