美文网首页大数据 爬虫Python AI Sql程序员python热爱者
《Python爬虫开发与项目实践》读书笔记——文件操作

《Python爬虫开发与项目实践》读书笔记——文件操作

作者: LionelDong | 来源:发表于2017-12-14 17:07 被阅读51次

    1. 文件读写

    • 打开文件,语法如下:

    open(name[.mode[.buffering]])

    • 文件缓冲区:open函数中第三个可选参数buffering控制着文件的缓冲。、

      1. 如果参数是0, I/O操作就是无缓冲的,直接将数据写到硬盘上。

      2. 如果参数是1, I/O操作就是有缓冲的,数据先写到内存里,只有使用flush函数或者close函数才会将数据更新到硬盘。

      3. 如果参数大于1,则代表缓冲区的大小(单位是字节)。

      4. -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爬虫开发与项目实践》

    相关文章

      网友评论

        本文标题:《Python爬虫开发与项目实践》读书笔记——文件操作

        本文链接:https://www.haomeiwen.com/subject/qfnkwxtx.html