当前位置: 移动技术网 > IT编程>脚本编程>Python > day08 文件操作

day08 文件操作

2018年11月01日  | 移动技术网IT编程  | 我要评论

张智霖演的电视剧,陈羽琦个人资料,辽视春晚六小龄童

    1. 文件操作 open() 文件句柄

        open()打开一个文件, 获取的是文件句柄

        read() #读取全部内容

          read(n)#读取前n个字符

        readline()#读取一行   且读取出来末尾都有\n

        readlines()#读取全部 每一⾏形成一个元素并放到列表

注意: 读取完的文件句柄一定要关闭 f.close() 

        write()   如果没有⽂件. 则会创建文件, 如果文件存在. 则将原件中原来的内容删除, 再写入新内容

 

   文件句柄是一个可迭代对象

        for line in f: 遍历文件中的内容

 

        路径的问题:

    \n \t 转义字符。 有固定的含义的。 推荐用r

            1. 绝对路径

                从磁盘根目录寻找

            2. 相对路径

                从当前程序运行的文件夹内寻找

    2. 文件操作的相关模式mode

        r: 只读

        w: 只写

        a: 追加

        r+:读写

        w+:写读

        a+:追加读   a+模式下, 不论先读还是后读. 都是读取不到数据的.

              只要是a或者ab, a+ 都是在文件的末尾写入. 不论光标在任何位置.

        非文本文件(b是bytes)

wb模式下. 可以不指定打开文件的编码. 但是在写文件的时候必须将字符串转化成utf-8的bytes数据

        rb

        wb

        ab

        r+b

        w+b

        a+b

深坑请注意: 在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显示的是多少. 再写入或者操作文件的时候都是在结尾进行的操作.

    3. 相关操作

        1. seek()移动光标(重点)——seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是utf-8的中文部分要是3的倍数.

seek的第二个参数表⽰的是从哪个位置进⾏偏移, 默认是0, 表⽰开头, 1表⽰当前位置, 2表⽰结尾

         seek(0) 开头

          seek(0,2) 移动到末尾

        2. tell() 获取光标所在的位置

        3. truncate() 截断文件

 

    4. 文件修改

        with open(xxx) as 句柄, \

            open(xxxxx)as xxx

        不用手动关闭文件句柄

 

        文件修改的步骤

            1. 从原文件中读取数据。

            2. 写入到副本文件中

            3. 删除源文件

            4. 把副本重命名成原文件

        import os

        os.remove()

        os.rename()

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网