开发者社区> 技术小胖子> 正文

Python-文件的管理

简介:
+关注继续查看

wKioL1mxLimxM3dZAAE1u9bLUlA591.png

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

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


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

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


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

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

wKiom1mv7hnivYWdAAAvW2ure_I367.png

wKioL1mv7fvSe4G-AACIUIkeqh4749.png


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

wKioL1mv7m6hHZj6AACDw-C9OaQ238.png


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

先读后写

wKioL1mv76OD8VXwAABjbSOV9ZM098.png


先写后读

wKiom1mv78KQnKN-AABOfuFFGpw164.png


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

wKiom1mv8F2gHzuSAABfBbulno8009.png


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

wKiom1mv8PKCxSPBAACUGAsZbno186.png


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

wKiom1mv8TCTNj0iAACpyUiO9ak089.png


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

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



三.文件的读取

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

wKioL1mv81jgTUzPAAAZOi95oZk804.png

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

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

wKiom1mv83ehEPVSAABlhgQBpWE936.png


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

wKiom1mv83jSuDviAACWOzr6ogg286.png


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

wKioL1mv81nS3bO9AACc69rx4sI918.png

wKiom1mv83jgBZa-AADrrFxzu4k819.png




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

wKiom1mv9abQGS-3AAA6V5cqL0I170.png

wKioL1mv9YfxK-2EAABOoThEXmM238.png


五.文件的其它操作

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



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


六.文件的几个注意点:


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

wKioL1mv9wnR9YMcAAA7z1mumGQ318.png


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

wKiom1mv91qTFTsJAAAoThwWTPQ728.png






      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1963269,如需转载请自行联系原作者




版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
28596 0
用python wxpy管理微信公众号,并利用微信获取自己的开源数据。
用python wxpy管理微信公众号,并利用微信获取自己的开源数据。之前了解到itchat 乃至于 wxpy时 是利用tuling聊天机器人的接口。调用接口并保存双方的问答结果可以作为自己的问答词库的一个数据库累计。
4597 0
Python 包管理工具解惑
本文转载自http://zengrong.net/post/2169.htm,感谢原作者。 一、困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑)。主要表现在下面几个方面: 这几个包管理工具有什么不同? distutils setuptools distribute disutils2 distlib pip 什么时候该用pip,什么时候该用 setup.
1229 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
20427 0
Python3 | Django后台管理框架Xadmin安装指南
Django是python的重量级web框架,写得少,做得多,非常适合后端开发,它很大的一个亮点是,自带后台管理模块,但它自带的后台管理有点丑,而Xadmin是基于bootstrap开发的一套后台管理框架,界面非常美观,只需几步就可以替换自带的Dja...
1432 0
python 文件操作和学生管理系统练习
python 文件操作和学生管理系统练习
17 0
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
23551 0
Python 内存管理之垃圾回收
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 如果您已经编码过一段时间,那么您可能听说过垃圾回收。在本文中,我们将更深入地研究它的功能和原理。
2695 0
Python.Unix和Linux系统管理指南
docutils.core将字符串转成html textile转换html image.png gdchart呵呵 pdf image.
1075 0
21115
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载