Python学习OS 模块来处理文件和目录
来源:互联网 发布:5sing音乐软件 编辑:程序博客网 时间:2024/06/05 11:34
1、os.access() 方法使用当前的uid/gid尝试访问路径
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, 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#的确已删除>>>
阅读全文
0 0
- Python学习OS 模块来处理文件和目录
- python os模块 操作文件和目录
- Python模块: 文件和目录os+shutil
- python os模块文件目录
- python学习之os.path模块&&elementtree处理xml文件
- python 目录文件操作 os模块
- Python 使用os模块遍历文件目录
- Python 学习File、os模块操作文件
- Python 文件和目录管理(os)
- 项目总结(一)------Python对文件和目录进行操作 (file对象/os/os.path/shutil 模块)
- python os模块之找到目录下最新的文件
- python OS模块: 目录操作
- python os模块创建目录
- python处理文件和目录
- python 文件和文件夹操作 os模块和shutil模块
- python 文件和文件夹操作 os模块和shutil模块
- Python OS模块学习
- python-os模块学习
- mybatis高级用法(五)resultMap
- 串口通信
- 1069. 微博转发抽奖(20)
- ajax前后台交互-js相关语法
- ajax实现改变状态和删除无刷新
- Python学习OS 模块来处理文件和目录
- gradle plugin的版本地址
- Play on Words
- java——Set集合
- Java中导入、导出Excel
- 1076. Wifi密码 (15)
- 1078. 字符串压缩与解压 (20)
- 使用JiaoZiVideoPlayer播放网络视频,暂停继续(三)
- HDU1702 ACboy needs your help again!