Python文件操作

一、获取文件操作对象

1.open函数的源码

 1 def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):
 2     """
 3   ========= ===============================================================
 4     Character Meaning
 5     --------- ---------------------------------------------------------------
 6     'r'       open for reading (default)
 7     'w'       open for writing, truncating the file first
 8     'x'       create a new file and open it for writing
 9     'a'       open for writing, appending to the end of the file if it exists
10     'b'       binary mode
11     't'       text mode (default)
12     '+'       open a disk file for updating (reading and writing)
13     'U'       universal newline mode (deprecated)
14     ========= ===============================================================
15     """

2.encoding参数:应该用写入或者读取文件中的默认编码表,用于解码或编码。(如不指定,则用系统默认编码表)

温馨提示:win10中.txt文件默认编码表是utf-8;原装office等文档默认为GBK编码。

 

二、对文件对象的操作

1.文件对象的方法

#获取文件操作对象
f = open("file1.txt","r+",encoding="utf-8")

#读取文本内容
f.read()    #默认读取文件中所有文本内容;可以填写参数,参数为所需字符的个数
f.readline()    #返回文件指针所在行的内容
f.readlines()    #将每行内容以列表的形式返回

#写入文件内容
r.write()    #将字符串写入文件中
r.writelines()    #将列表内容写入文件中(列表中也只能是字符串)

#返回指针的位置
f.tell()

#调整指针的位置
f.seek()    #参数为指针位置,一个字节为一位,中英文字符占有的字节数,依文件编码表而定

#将缓存区中的数据及时传到硬盘
f.flush()

#删除文件指针后的所有字符
f.truncate()

#关闭文件操作对象
f.close()    #每次用完,记得手动关闭

2.循环获取文件内容

1 #方法一
2 for i in f.readlines():
3     print(i)
4 
5 #方法二
6 for i in f:
7     print(i)
8 
9 #温馨提示文件对象为可迭代对象;用方法二,为以时间换空间,比第一种慢,但只占用很小内存

 

三、with open语句

#用该语句打开一个文件对象,在执行完缩进语句下的代码块后,会自动关闭文件对象
with open("file1.txt","r") as f:
    f.read()

#打开多个文件对象
with open("file1.txt","r") as f1,open("file2.txt","r") as f2:
    f1.read()
    f2.write("hello world")

 

posted @ 2021-01-23 23:10  notesForKai  阅读(88)  评论(0)    收藏  举报