OS模块

记录常用命令:

  • os.name #显示当前使用的平台
>>> os.name
'posix'         #unix/Linux,返回posix;windows用户,返回nt
  • os.sep #当前平台下路径分隔符
>>> os.sep
'/'              #unix/linux
>>> os.sep
'\\'             #windows
  • os.linesep #当前平台使用的行终止符
>>> os.linesep
'\n'            #linux
>>> os.linesep
'\r\n'        #windows
  • os.environ #获取系统环境变量
>>> os.environ
{..., 'PWD': '/Users/merry'}
  • os.system() #运行shell命令,这里会打开一个新shell,运行命令,结束后关闭shell
  • os.getcwd() #当前目录
>>> os.getcwd()
'/Users/merry'
  • os.mkdir(path, [, mode=0777]) #创建一个目录
  • os.makedirs('parent_dir/child_dir') #可生成多层递归目录
  • os.listdir('dirname') #列出指定目录下的所有文件和目录名
  • os.curdir #返回当前目录
  • os.chdir(dirname) #改变当前工作路径
  • os.rename('old_name','new_name') #重命名文件/目录名
  • os.rmdir('dirname') #删除单级目录
  • os.removedirs() #级联删除目录
>>> os.mkdir('tmp1/tmp2')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 2] No such file or directory: 'tmp1/tmp2'
>>> 
>>> os.mkdir('tmp1')
>>> os.makedirs('tmp/tmp_file')
>>> os.listdir('tmp')
['tmp_file']
>>> os.chdir('tmp')
>>> os.curdir
'.'
>>> os.getcwd()
'/Users/merry/tmp'
>>> os.listdir('.')
['tmp_file']
>>> os.rename('tmp_file','new')
>>> os.listdir('.')
['new']
>>> os.makedirs('new/a/b')
>>> os.rmdir('new')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
OSError: [Errno 66] Directory not empty: 'new'
>>> os.removedirs('new')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/os.py", line 170, in removedirs
    rmdir(name)
OSError: [Errno 66] Directory not empty: 'new'
>>> os.rmdir('new/a/b')
>>> os.listdir('./new')
['a']
>>> os.listdir('./new/a')
[]
>>> os.removedirs('new/a')
>>> os.listdir('.')
[]
>>> open('file','w')
<open file 'file', mode 'w' at 0x1083c35d0>
>>> open('file.txt','w')
<open file 'file.txt', mode 'w' at 0x1083c3660>
>>> os.listdir('.')
['file', 'file.txt']
>>> os.remove('file')
>>> os.listdir('.')
['file.txt']
  • os.path.abspath(path) #返回绝对路径
  • os.path.dirname(path) #返回该路径的父目录
  • os.path.basename(path) #返货path最后一个目录或文件,如果以分隔符结尾,则返回空值
>>> os.path.abspath('a/b')
'/Users/merry/tmp/a/b'
>>> os.path.abspath('/a/b')
'/a/b'
>>> os.path.dirname('/a/b')
'/a'
>>> os.path.dirname('a/b')
'a'
>>> os.path.dirname('a/b/')
'a/b'
>>> os.path.basename('a/b/')
''
>>> os.path.basename('a/b')
'b'
  • os.path.isfile(path) #判断是否为文件
  • os.path.isdir(path) #判断是否为目录
>>> os.path.isfile('file.txt')
True
>>> os.path.isdir('file.txt')
False
  • os.chmod(path mode) #修改文件的访问权限
  • os.stat() #获取文件或者目录信息
  • os.chown(path, uid, gid) #修改path的owner和group
>>> os.stat('file.txt')
posix.stat_result(st_mode=33188, st_ino=3287829, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=0, st_atime=1500473283, st_mtime=1500473273, st_ctime=1500473273)
>>> os.chmod('file.txt', 0777)
>>> os.stat('file.txt')
posix.stat_result(st_mode=33279, st_ino=3287829, st_dev=16777220, st_nlink=1, st_uid=501, st_gid=20, st_size=0, st_atime=1500473283, st_mtime=1500473273, st_ctime=1500473741)
>>> 
  • os.path.split(path) #将path分割成路径名和文件名
  • os.path.join(path, name) #连接目录与文件名或目录,结果为path/name
  • os.path.exists(path) #检测当前路径是否存在
>>> os.path.split('a/b/c')
('a/b', 'c')
>>> os.path.split('a/b/c/')
('a/b/c', '')
>>> os.path.split('/a/b/c/')
('/a/b/c', '')
>>> os.path.join('a/b','c')
'a/b/c'
>>> os.path.exists('a/b/c')
False
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容

  • os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常...
    Irlans阅读 603评论 0 2
  • ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.nam...
    路_尧知百战胜阅读 806评论 0 2
  • 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台。比如对于W...
    遗步看风景阅读 3,252评论 1 4
  • python中对文件、文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块。 得到当前工作目录,即当前...
    旧__阅读 622评论 0 1
  • import os file='C:/Users/admin/Desktop/sublime快键.txt' #当前...
    js_nbie阅读 293评论 0 0