python笔记--文件处理

文件处理

1.open函数

(1)语法:文件句柄 = open(‘文件路径‘, ‘模式‘)

打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,之后通过此文件句柄对该文件进行操作。

操作文件时,一般需要经历三个步骤:打开文件、操作文件、关闭文件,例如:

>>> f=open(‘test.txt‘,‘w‘)
>>> f.write(‘this is a test‘)
>>> f.close()    #在写入数据时,最后必须关闭,否则文件内容丢失。

(2)打开文件模式

r只读模式(默认)。

w只写模式。(打开文件时清空内容,文件不存在则创建文件)

a追加模式。(追加内容)

a+读写,只能写到文件末尾。

w+写读,打开文件时清空内容。

r+读写,能写到文件任何位置。

rb二进制模式读

wb二进制模式写

(3)操作方法

f.read([size])从当前指针位置开始读取size字节,如果size未指定或为负时,将读取剩余所有内容,作为一整个字符串返回。

f.readline([size])从当前指针位置开始读取size字节,如果size未指定或为负时,将剩余内容一行一行的读取,返回的都是字符串。

f.readlines()从当前指针位置开始读取,返回的是一个列表,每一行作为列表的一个元素。

f.write(‘str’)在文件中写入该字符串

f.seek(offset[,whence=0])移动指针位置,offset表示移动的字节数,whence表示从哪开始移动。(whence=0默认,文件起始位置;whence=1,当前位置;whence=2,文件末尾)

f.tell()返回指针所在位置。

f.flush()不关闭文件,将缓冲区中的数据刷到文件中。(在打开文件时,shell模式下看不到写入的数据)

f.close()关闭文件

2.with语句

在单独使用open函数处理文件时,如果写入数据最后必须关闭文件,如果忘记了,那么文件中的内容将会丢失。然而,使用with语句就可以省去关闭这一步骤,例如:

>>> with open(‘test.txt‘,‘r+‘) as f:
...     f.write(‘aaaaa‘)
...
>>> f=open(‘test.txt‘)
>>> f.read()
‘aaaaais a test\n‘    #指针在内容起始位置,写入数据将覆盖其后相同字节的内容。
时间: 2024-10-25 22:44:24

python笔记--文件处理的相关文章

python笔记-----文件操作

文件操作 创建一个文件名字为filename 内容是 BJSHGDTW 打印文件编码 f = open("filename",'r',encoding="utf-8")print(f.encoding) utf-8 打印在内存的编号 print(f.fileno()) 3 1.文件读操作 1.1 open()方法,模式默认读 f = open("filename",encoding="utf-8")data = f.read(

python学习笔记5:python读写文件

python学习笔记5:python读写文件 一.文件的打开模式 1.打开文件 1) f=open('D:\\a.txt','w') 第一个参数是文件的路径,如果只写文件的名字,默认是在当前执行目录下的文件:第二个参数是文件的打开模式 这种方式打开文件,在使用完了之后一定要记得,关闭文件: f.close() 2) with open('D:\\a.txt','w') as f 这种方式打开文件,文件在使用完后会自动关闭文件,不需要close  2. 文件的打开模式 总的来说,文件的打开模式有三

Python笔记之 - 一张截图诠释"文件读写" !

Python笔记之 - 一张截图诠释"文件读写" ! 原文地址:https://www.cnblogs.com/chenbin93/p/8988721.html

Python笔记之不可不知

Python软件已经安装成功有很长一段时间了,也即或多或少的了解Python似乎也很长时间了,也是偏于各种借口,才在现在开始写点总结.起初接触Python是因为公司项目中需要利用Python来测试开发的接口,于是开始了解这门解释性,面向对象,带有动态语义的高级语言,或是脚本语言,或是胶水语言.便在网上找了一个现成的Python爬虫,在本地测试运行成功,将新浪上面的所有博客地址扒取下来.真心想从基础学起,自己写个,于是,有了这份基础总结,项目模块的开发将在下一篇博文中贴出.敬请关注! 本博文仅记录

玩蛇(Python)笔记之基础Part3

玩蛇(Python)笔记之基础Part1 一.集合 1.set 无序,不重复序列 {}创建,直接写元素 2.set功能 __init__()构造方法,,使用强制转换就会调用此方法 1 set1 = {'year', 'jiujiujiu'} 2 print(type(set1)) 3 # 创建集合 4 s = set() # 创建空集合 5 li = [11, 22, 11, 22] 6 s = set(li) set 3.集合的基本操作 1 # 操作集合 2 s1 = set() 3 s1.a

Python笔记(四)

在<Python笔记(三)>中,我记录关于Python中序列问题的知识.个人觉得确实比Java中的集合框架简单.之前也说了,Python是一种高级面向对象的语言,它的每一个变量都称为对象.今天我接触了面向对象的编程.下面是这篇博客的目录: 1.类与对象 2.输入输出 3.异常 类与对象: 我们都知道面向对象的语言具备四个特性:抽象,继承,封装,多态.Java,C++是这样,Python也不例外.在Python中,我们定义一个类,使用关键字class.形式如下:class classname:.

Python笔记之不可不练

如果您已经有了一定的Python编程基础,那么本文就是为您的编程能力锦上添花,如果您刚刚开始对Python有一点点兴趣,不怕,Python的重点基础知识已经总结在博文<Python笔记之不可不知>中,尽管本文是自己学习Python过程中的总结,在大神看来,或许略欠火候,希望批评指正,万分感谢! 本文是作者学习成绩的见证,请尊重劳动成果!版权归作者和博客园共有,欢迎转载,但请保留本文出处http://www.cnblogs.com/itred/p/4687287.html ,  作者:itRed

智普教育Python视频教程之入门基础篇,python笔记

智普教育Python视频教程之入门基础篇,python笔记 print id()内存地址 type()变量类型 windows命令行下edit命令 python数据类型不需要指定类型 定义hostname="www.google.com" 结果运行后总是告诉我NameError: name 'socket' is not defined 哪位帮我分析一下,怎么改才对 没用过socket,不过你试着在第一行加入 import socket C:\>notepad somefile.

python笔记 - day7

python笔记 - day7 参考: http://www.cnblogs.com/wupeiqi/articles/5501365.html 面向对象,初级篇: http://www.cnblogs.com/wupeiqi/p/4493506.html 大纲: configparser模块 XML模块 shutil模块以及压缩包处理 subprocess模块 面向对象学习 configparser: 模块解析:configparser用于处理特定格式的文件,其本质上是利用open来操作文件.