Python学习OS 模块来处理文件和目录
2017-12-20 20:14
573 查看
1、os.access() 方法使用当前的uid/gid尝试访问路径
access()方法语法格式如下: os.access(path, mode)
2、os.chdir() 方法用于改变当前工作目录到指定的路径
3、os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下
walk()方法语法格式:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
4、os.close() 方法用于关闭指定的文件描述符 fd(文件描述符)
5、os.closerange() 方法用于关闭所有文件描述符 fd,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略
6、os.dup() 方法用于复制文件描述符 fd
7、os.fdopen() 方法用于通过文件描述符 fd 创建一个文件对象,并返回这个文件对象,fdopen()方法语法格式:os.fdopen(fd, [, mode[, bufsize]]);
bufsize – 可选参数,指定返回的文件对象是否带缓冲
bufsize=0,表示没有带缓冲
bufsize=1,表示该文件对象是行缓冲的
bufsize=正数,表示使用一个指定大小的缓冲冲,单位为byte
8、os.remove() 方法用于删除指定路径的文件
9、os.removedirs() 方法用于递归删除目录
access()方法语法格式如下: os.access(path, mode)
>>> import os,sys #路径是否存在 >>> root = os.access("/Users/wangyue/Desktop/wangyue.txt", os.F_OK) >>> print (root) True #是否可读 >>> root = os.access("/Users/wangyue/Desktop/wangyue.txt", os.R_OK) >>> print (root) True #是否可写入 >>> root = os.access("/Users/wangyue/Desktop/wangyue.txt", os.W_OK) >>> print(root) True #是否可执行 >>> root = os.access("/Users/wangyue/Desktop/wangyue.txt", os.X_OK) >>> print(root) False >>>
2、os.chdir() 方法用于改变当前工作目录到指定的路径
>> import os,sys >>> currentPath = os.getcwd() >>> print(currentPath) /Users/wangyue/Documents >>> path = "/Users/wangyue/Desktop" >>> os.chdir(path) >>> currentPath = os.getcwd() >>> print(currentPath) /Users/wangyue/Desktop
3、os.walk() 方法用于通过在目录树种游走输出在目录中的文件名,向上或者向下
walk()方法语法格式:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])
#top可以是指定路径 >>> import os产生3-元组 (dirpath, dirnames, filenames)【文件夹路径, 文件夹名字, 文件名】 >>> for root, bcad dirs, files in os.walk("/Users/wangyue/Desktop/UI", topdown=False): for name in files: print(os.path.join(root, name)) for name in dirs: print(os.path.join(root, name)) /Users/wangyue/Desktop/UI/云跑步首页切图/减震模式/减震模式_公路图标@2x.png /Users/wangyue/Desktop/UI/云跑步首页切图/减震模式/减震模式_公路图标@3x.png /Users/wangyue/Desktop/UI/云跑步首页切图/减震模式/减震模式_塑胶跑道图标@2x.png /Users/wangyue/Desktop/UI/云跑步首页切图/减震模式/减震模式_塑胶跑道图标@3x.png #有点多只截取一部分
4、os.close() 方法用于关闭指定的文件描述符 fd(文件描述符)
>>> import os, sys >>> fd = os.open("/Users/wangyue/Desktop/wang.txt", os.O_RDWR|os.O_CREAT) >>> os.write(fd,u"wwwwwwww".encode()) #这里需要传入二进制流,不是字符串 >>> os.close(fd) #关闭文件
5、os.closerange() 方法用于关闭所有文件描述符 fd,从 fd_low (包含) 到 fd_high (不包含), 错误会忽略
>>> import os, sys >>> fd = os.open("/Users/wangyue/Desktop/wang.txt", os.O_RDWR|os.O_CREAT) >>> os.write(fd,u"wwwwwwww".encode()) #这里需要传入二进制流,不是字符串 >>> os.closerange(fd,fd) #关闭文件
6、os.dup() 方法用于复制文件描述符 fd
>>> import os, sys >>> fd = os.open("/Users/wangyue/Desktop/wang.txt", os.O_RDWR|os.O_CREAT) >>> copy_fd = os.dup(fd) >>> os.write(copy_fd, "wangyue".encode()) 7 >>> os.closerange(fd,copy_fd)
7、os.fdopen() 方法用于通过文件描述符 fd 创建一个文件对象,并返回这个文件对象,fdopen()方法语法格式:os.fdopen(fd, [, mode[, bufsize]]);
bufsize – 可选参数,指定返回的文件对象是否带缓冲
bufsize=0,表示没有带缓冲
bufsize=1,表示该文件对象是行缓冲的
bufsize=正数,表示使用一个指定大小的缓冲冲,单位为byte
>>> import os, sys >>> fd = os.open("/Users/wangyue/Desktop/wang.txt", os.O_RDWR|os.O_CREAT) >>> file = os.fdopen(fd,"w+") >>> file.write("wwwwwwwwwwwwww\nwwwwwwwwwwwwwww\n") 31 >>> os.lseek(fd,0,0) #将文件指针指向文件开头的位置 0 >>> os.read(fd,100) 'wwwwwwwwwwwwww\nwwwwwwwwwwwwwww\n' >>> os.close(fd)
8、os.remove() 方法用于删除指定路径的文件
>>> import os,sys #path文件夹的内容 >>> for rootPath,dirs,files in os.walk("/Users/wangyue/Desktop/Path", topdown = False): for name in files: print(os.path.join(rootPath,name)) /Users/wangyue/Desktop/Path/wang.txt /Users/wangyue/Desktop/Path/wangyue.txt #删除指定文件夹 >>> os.remove("/Users/wangyue/Desktop/Path/wang.txt") >>> for rootPath,dirs,files in os.walk("/Users/wangyue/Desktop/Path", topdown = False): for name in files: print(os.path.join(rootPath,name)) #删除后文件夹还剩余的文件 /Users/wangyue/Desktop/Path/wangyue.txt >>>
9、os.removedirs() 方法用于递归删除目录
Use quit() or Ctrl-D (i.e. EOF) to exit #在payh里面新建的空文件夹,但是遍历的时候,显示不出来,我删除后路径下的子文件夹的确删除了,我也不清楚为什么会这样 >>> import os,sys >>> for root,dirs,files in os.walk("/Users/wangyue/Desktop/Path", topdown = False): for name in files: print(os.path.join(root,name)) /Users/wangyue/Desktop/Path/.DS_Store >>> os.removedirs("/Users/wangyue/Desktop/Path/Child") >>> for root,dirs,files in os.walk("/Users/wangyue/Desktop/Path", topdown = False): for name in files: print(os.path.join(root,name)) /Users/wangyue/Desktop/Path/.DS_Store #的确已删除 >>>
相关文章推荐
- Python OS模块目录文件处理
- python os模块常用操作文件目录方法
- Python os模块实例之遍历目录及子目录指定扩展名的文件
- os、os.path 模块中关于文件、目录常用的函数使用方法(python)
- 重温python之OS模块的简单使用4:os.chmod() 更改文件或目录的权限
- python文件处理os模块
- python基础:os模块中关于文件/目录常用的函数使用方法
- Python模块详解以及import本质,获得文件当前路径os.path.abspath,获得文件的父目录os.path.dirname,放到系统变量的第一位sys.path.insert(0,x)
- python中利用os模块打印任意文件夹里面的文件名字,当前文件夹路径,已经其的目录名字
- python3 os模块文件、目录常用函数方法总结
- Python使用os模块和fileinput模块来操作文件目录
- 【Python】 tempfile模块 临时文件和目录的处理
- Python模块: 文件和目录os+shutil
- Python学习笔记---模块;文件与文本处理
- Python模块函数:os.listdir 打印Win7目录中的文件-中文乱码问题
- python os模块 操作文件和目录
- python之OS模块(对文件or目录操作)
- Python 学习File、os模块操作文件
- python 文件目录操作(os模块)
- Python笔记-os模块,操作系统的目录和文件操作