Python-文件的管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python-文件的管理相关的知识,希望对你有一定的参考价值。

字符的输入及输出
输入(raw_input/input)---> 程序处理 ---> 输出(print)

一.文件管理的三大步骤:


1.打开文件; f = open("filename")    
2.处理文件;
        f.read()                      可以读取文件内容
        f.write("hello")         不能往文件中写入,因为默认文件以r的模式打开;
3.关闭并保存文件; f.close()

    文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源。


二.文件的几种模式总结:

1. r模式:
若文件不存在,直接报错;
文件只能读取,不能写入;

技术分享

技术分享


2. w模式:
若文件不存在,直接创建文件;
文件只能写入,不能读取;
打开文件时会清空原有文件内容;

技术分享


3. r+模式:
若文件不存在,直接报错;
文件可以读也可以写;
具体写入的内容在哪里,由文件指针(句柄)决定;

先读后写

技术分享


先写后读

技术分享


4. w+模式:
若文件不存在,直接创建文件;
文件既能写入也能读取;
打开文件时会清空原有文件内容;

技术分享

5. a
若文件不存在,直接创建文件;
文件只能写入,不能读取;
写入的内容直接追加到文件最后;

技术分享


6. a+
若文件不存在,直接创建文件;
文件既能写入也能读取;
写入的内容直接追加到文件最后;

技术分享


7. b
以二进制的方式打开文件,可以跟r,w,+等组合使用;

二进制文件
要读取二进制文件,比如图片、视频等等,用 ‘rb‘ 模式打开文件即可
>>> f = open(‘/root/test.jpg‘, ‘rb‘)
>>> f.read()
‘\xff\xd8\xff\xe1\x00\x18Exif\x00\x00...‘ # 十六进制表示的字节



三.文件的读取

将passwd里的文件内容追加到hello.txt中

技术分享

read()                 直接读取文件所有内容;

readline()           每次读取文件一行内容,返回类型为字符串;

技术分享


readlines()         读取文件所有内容,以列表形式返回;

技术分享


xreadlines()       类似生成器,文件内容不直接以列表方式返回;读取内容多时用

技术分享

技术分享




四.文件的写入
write("str")                # 将字符串写入文件
writelines("["hello","world"]")        # 将序列的每个元素写入文件;

技术分享

技术分享


五.文件的其它操作

1.f.seek(偏移量,选项)    
     偏移量,如果为正数,代表向右偏移;如果为负数,代表向左偏移;
     选项,如果为0,指针指向文件开始;
              如果为1,指针指向当前位置;
              如果为2,指针指向文件末尾;



2.f.flush()        提交对文件的修改;


六.文件的几个注意点:


1.文件对象是可迭代数据类型,可以通过for遍历文件的内容;

技术分享


2.with open("filename") as f:通过这种方法来避免用户忘记关闭文件的问题;不用写f.close()

技术分享


以上是关于Python-文件的管理的主要内容,如果未能解决你的问题,请参考以下文章

Python-文件的管理

Python标准库04 文件管理 (部分os包,shutil包)

python 从python脚本管理Linux OS的文件/文件夹

Python Linux系统管理之文件与文件路径管理

python学习笔记(28)文件管理

python的库文件管理(pip的使用)