python os模块
来源:互联网 发布:斗鱼软妹小九九淘宝店 编辑:程序博客网 时间:2024/06/01 08:38
- #!/usr/bin/python
- #coding:utf8
- # python 中os模块的学习
- import os
- """
- os模块方法:
- ====================================================================
- @1.)文件操作:
- remove()/unlink() 删除文件
- rename()/renames() 重命名文件/目录
- stat() 返回文件信息
- symlink() 创建符号链接
- utime() 更新时间戳
- tmpfile() 创建并打开('w+b')一个临时文件
- walk() 生成一个目录树下的所有文件名
- @2.)目录/文件夹操作:
- chdir()/fchdir() 改变当前工作目录/通过文件描述符改变
- chroot() 改变当前进程的根目录
- listdir() 列出指定目录下的文件
- getcwd()/getcwdu() 返回当前工作目录/unicode模式的返回值
- mkdir()/makedirs() 创建目录/创建多层目录
- rmdir()/removedirs() 删除目录/删除多层目录
- @3.)访问/权限:
- access() 检验权限模式
- chmod() 更改权限
- chown()/lchown() 更改文件所有者,GroupID/同功能,不追踪lnk
- umask() 设置默认权限
- @4.)文件描述符操作:
- open()
- read()/write()
- dup()/dup2() 复制文件描述符/将一个文件描述符复制到另一个
- ==================================================================
- os.path路径名访问方法:
- ==================================================================
- @1.)分割:
- basename() 去掉目录名,返回文件名
- dirname() 去掉文件名,返回目录名
- join() 将分离的各部分重新组合成路径名
- split() 返回(dirname(),basename())元组
- splitdrive() 返回(drivename,pathname)元组
- splitext() 返回(文件名,扩展名)元组
- @2.)信息:
- getatime() 返回最近访问的时间
- getctime() 返回创建的时间
- getmtime() 返回修改的时间
- getsieze() 返回文件大小
- @3.)查询判断:
- exists() 指定路径(文件或目录)是否存在
- isabs() 指定路径是否是绝对路径
- isdir()
- isfile()
- islink()
- ismount() 是否是挂载点
- samefile() 俩路径是否指向同一文件
- ==================================================================
- """
- # os.access(path,mode)主要是测试文件的是否存在(调用os.F_OK属性)
- # 文件有没有可读性(调用os.R_OK)
- # 文件能不能写入(调用os.W_OK)
- # 文件能不能执行(调用os.X_OK)方法返回的是bool值
- # ——————————————————————————————————————————————————————————————
- path = os.getcwd()
- # 测试下面这个文件时不是存在
- ret = os.access(path,os.F_OK)
- print 'os.access(path,os.F_OK):',ret #返回一个bool值
- # 测试path这个有没有写的权限
- ret = os.access(path,os.W_OK)
- print 'os.access(path,os.W_OK):',ret #返回一个bool值
- # 测试path这个有没有读的权限
- ret = os.access(path,os.R_OK)
- print 'os.access(path,os.R_OK):',ret #返回一个bool值
- # 测试path这个有没有执行的权限
- ret = os.access(path,os.X_OK)
- print 'os.access(path,os.X_OK):',ret #返回一个bool值
- # out 1> os.access(path,os.F_OK): True
- # out 2> os.access(path,os.W_OK): True
- # out 3> os.access(path,os.R_OK): True
- # out 4> os.access(path,os.X_OK): True
- # ————————————————————————————————————————————————————————————————
- # os.getcwd()是获取当前路径的
- # ————————————————————————————————————————————————————————————————
- path = os.getcwd()
- print path
- # out 1> C:\Users\quan\Desktop\学习积累\python语言\每天一python
- # ————————————————————————————————————————————————————————————————
- # os.chdir(path)改变当前路径的
- # ————————————————————————————————————————————————————————————————
- path = os.getcwd()
- print 'now_path :', path
- os.chdir('C:\\')
- chdir_path = os.getcwd()
- print 'chdir_path :', chdir_path
- # out 1> now_path : C:\Users\quan\Desktop\学习积累\python语言\每天一python
- # out 2> chdir_path : C:\
- # ————————————————————————————————————————————————————————————————
- # os.listdir(path)列出当前文件下的所有文件(类似于linux文件下的ls命令)
- # ————————————————————————————————————————————————————————————————
- path_file = os.listdir('./')
- print 'path_file',path_file
- #由于上面改变了路径(所以当前目录是 C:\ )
- # out > path_file ['$360Section', '$Recycle.Bin', '.rnd', '360SANDBOX', 'baidu download', 'DMDownLoad', 'Documents and Settings', 'Drivers', 'DriversBackup', 'duomi', 'hiberfil.sys', 'Intel', 'NVIDIA', 'pagefile.sys', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Python27', 'Recovery', 'System Volume Information', 'Users', 'vmwer', 'Windows', 'zolwk']
- # ————————————————————————————————————————————————————————————————
- # os.mkdir(folder)是创建文件夹的命令
- # ————————————————————————————————————————————————————————————————
- # 首先测试一下test.py是不是存在
- print os.access("C:\\test.py",os.F_OK)
- if not os.access("C:\\test.py",os.F_OK):
- os.mkdir("C:\\test.py")
- print os.access("C:\\test.py",os.F_OK) #说明文件test.py已经被创建了
- # out 1> False
- # out 2> True
- # ————————————————————————————————————————————————————————————————
- # os.rmdir(path)表示删除文件夹的与os.mkdir(path) 正好相反
- # ————————————————————————————————————————————————————————————————
- print os.access("C:\\test.py",os.F_OK)
- if os.access("C:\\test.py",os.F_OK):
- os.rmdir('C:\\test.py')
- print os.access("C:\\test.py",os.F_OK)
- # out 1> True
- # out 2> False
- # ————————————————————————————————————————————————————————————————
- # tat模块描述了os.stat(filename)返回的文件属性列表中各值的意义.我们可方便地根据stat模块存取os.stat()中的值.
- # os.stat(path)执行一个stat()系统调用在给定的path上,
- # 返回一个类元组对象(stat_result对象,包含10个元素),
- # 属性与stat结构成员相关:st_mode(权限模式),
- # st_ino(inode number),st_dev(device),st_nlink(number of hard links),
- # st_uid(所有用户的user id),s
- # t_gid(所有用户的group id),
- # st_size(文件大小,以位为单位),
- # st_atime(最近访问的时间),
- # st_mtime(最近修改的时间),
- # st_ctime(创建的时间)
- >>> import os
- >>> print os.stat("/root/python/zip.py")
- (33188, 2033080, 26626L, 1, 0, 0, 864, 1297653596, 1275528102, 1292892895)
- >>> print os.stat("/root/python/zip.py").st_mode #权限模式
- 33188
- >>> print os.stat("/root/python/zip.py").st_ino #inode number
- 2033080
- >>> print os.stat("/root/python/zip.py").st_dev #device
- 26626
- >>> print os.stat("/root/python/zip.py").st_nlink #number of hard links
- 1
- >>> print os.stat("/root/python/zip.py").st_uid #所有用户的user id
- 0
- >>> print os.stat("/root/python/zip.py").st_gid #所有用户的group id
- 0
- >>> print os.stat("/root/python/zip.py").st_size #文件的大小,以位为单位
- 864
- >>> print os.stat("/root/python/zip.py").st_atime #文件最后访问时间
- 1297653596
- >>> print os.stat("/root/python/zip.py").st_mtime #文件最后修改时间
- 1275528102
- >>> print os.stat("/root/python/zip.py").st_ctime #文件创建时间
- 1292892895
- 几种常用的os.path命令:
- os.path.isfile(filename) 检查路径下是否存在该文件
- os.path.split()
- os.path.joint()
0 0
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python模块学习-os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python:os模块-subprocess模块
- Python 模块学习:os模块
- python模块之os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- Python 模块学习:os模块
- 用c语言写动态库
- Eclipse ADT 进行android应用签名打包详解
- C++ 字符串string与字符数组char[ ]的异同
- 分词算法
- byte与int
- python os模块
- Socket开发探秘--基于Json格式的数据协议收发
- 根据文件路径获取剩余磁盘空间
- Lucene4.10使用教程(六):Lucene的过滤器
- spring的InitializingBean的 afterPropertiesSet 方法 和 init-method配置的 区别联系
- Day12 多线程学习笔记
- SQL Server 存储过程
- List添加多个同名map时的一个注意事项
- liunx命令