【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
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,524评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,869评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,813评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,210评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,085评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,117评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,533评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,219评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,487评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,582评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,362评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,218评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,589评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,899评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,176评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,503评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,707评论 2 335

推荐阅读更多精彩内容