1. 文件读写
- 打开文件,语法如下:
open(name[.mode[.buffering]])
-
文件缓冲区:open函数中第三个可选参数buffering控制着文件的缓冲。、
-
如果参数是0, I/O操作就是无缓冲的,直接将数据写到硬盘上。
-
如果参数是1, I/O操作就是有缓冲的,数据先写到内存里,只有使用flush函数或者close函数才会将数据更新到硬盘。
-
如果参数大于1,则代表缓冲区的大小(单位是字节)。
-
-1(或者任何负数)代表使用默认缓冲区的大小。
-
-
文件使用完毕后必须关闭,因为文件对象会占用操作系统资源,影响系统的IO操作。
2. 操作文件和目录
在python中对文件和目录的操作经常用到os模块和shutil模块。常用方法:
-
获得当前脚本工作的目录路径:os.getcwd()
-
返回指定目录下的所有文件和目录名:os.listdir()
-
删除一个文件:os.remove(filepath)
-
删除多个空目录:os.removedirs(r"d:\python")
-
检验给出的路径是否是一个文件:os.path.isfile(filepath)
-
检验给出的路径是否是一个目录:os.path.isdir(filepath)
-
判断是否是绝对路径:os.path.isabs()
-
检查路径是否真的存在:os.path.exists()
-
分离一个路径的目录名和文件名:os.path.split(r"/home/demo/demo.txt"), 返回结果是一个元组:('/home/qiye', 'qiye.txt')
-
分离扩展名:os.path.splitext() 测试如上,返回的是一个元组('/home/demo/demo', '.txt)
-
获取路径名:os.path.dirname(file)
-
获取文件名:os.path.basename(filepath)
-
读取和设置环境变量:os.getenv(), os.putenv()
-
重命名文件或者目录:os.rename(old, new)
-
创建多级目录:os.makedirs(r"c:\python\test")
-
创建单个目录:os.makedir("test")
-
获取文件属性:os.stat(file)
-
修改文件权限和时间戳:os.chmod(file)
-
获取文件大写:os.path.getsize(filename)
-
复制文件夹:shutil.copytree("olddir", "newdir")。olddir和newdir都只能是目录,且newdir必须不存在。
-
复制文件:shutil.copyfile("oldfile", "newfile"), oldfile和newfile都只能是文件;shutil.copy("oldfile", "newfile"), oldfile只能是文件,newfile可以是文件,也可以是目标目录。
-
移动文件(目录):shutil.move("oldpos", "newpos")
-
删除目录:os.rmdir("dir"), 只能删除空目录;shutil.rmtree("dir"), 空目录有内容的目录都可以删。
参考:《Python爬虫开发与项目实践》
网友评论