Python学习【day05】- Python文件处理

一、打开文件

   对文件的操作主要为三步:1、打开文件,得到文件句柄。2、通过句柄对文件进行操作。3、关闭文件

1 # 默认打开模式为r,encoding默认为系统文件编码
2 f=open('F:/Go.txt','r',encoding='utf-8')
3 data=f.read()
4 f.close()
5 
6 #自动关闭文件,同时可以操作多个文件 Python换行需要在换行的最后加‘’
7 with open('F:/Go.txt','r') as read_f, open('F:/GoGo.txt', 'w') as write_f:
8     data=read_f.read()
9     write_f.write(data)

二、操作文件

 1 """
 2   打开一个文件并返回一个流.一旦失败报OSError错误
 3   mode是一个可选的字符串,它指定文件的打开模式,默认为‘r’,即文件以只读模式打开文件。其他常见的模式有‘w’、‘a’、‘x’.
 4   若文件为文本文件,如果没有指定编码,那么使用的编码是系统编码 通过调用locale.getpreferredencoding(False)来获取当前编码。
 5   若文件为字节文件 则不需要指定编码,
 6   可选择的模式有:
 7 ========= ===============================================================
 8 Character Meaning
 9 --------- ---------------------------------------------------------------
10 'r'       以只读方式打开 (默认)
11 'w'       以只写的方式打开, 从文件的第一个位置截断【即擦除原文件内容,重新写入】
12 'x'       创建一个文件,并以只写的方式打开它
13 'a'       以只写的方式打开文件, 如果它存在,则追加到当前文件的末尾
14 'b'       二进制模式
15 't'       文本模式 (默认)
16 '+'       以读写方式打开一个磁盘文件
17 'U'       通用换行模式 (弃用)
18 ========= ===============================================================
19 
20   buffering是用来设置缓冲策略的可选整数.
21   0转换缓冲(只允许在二进制模式下),1为行缓冲(只能在文本模式中使用),若为一个大于1的整数,则表示一个固定大小的缓冲区块,
22   若没有设置缓冲参数时,在给定的情况下,默认的缓冲策略如下: 后续使用到再介绍
23 """
24 def open(file,mode='r',buffering=None,encoding=None,errors=None,newline=None,closefd=True):
25     pass

    从open定义可知,mode默认即为‘r’,mode的模式可以有:r:只读模式 默认 文件必须存在 若不存在 则报错 w:只写模式 不可读 文件存在则清空文件重新写入 若不存在则创建文件 a:追加写模式 不可读 文件存在则追加 若不存在则创建文件rb:同r模式 只是文件内容为字节 wb:同w模式 只是文件内容为字节 ab:同a模式 只是文件内容为字节

f=open('F:/Go.txt','r',encoding='utf-8')

f.read() #读取所有内容 返回值为字符串
f.readline() #读取一行内容 返回值为字符串
f.readlines() #读取每一行内容 返回值为列表

f.write('aaaaa
bbbb
') #默认写入文件不换行
f.writelines(['cccc
','dddd
']) #文件模式

f.readable() #文件是否可读
f.writable() #文件是否可写
f.closed #文件是否关闭
f.encoding #文件编码,字节文件没有编码
f.flush() #立刻将文件内容从内存刷到硬盘
f.name # 文件名

欢迎志同道合朋友,加QQ群:119126035,QQ:1415583094,微信:cq1415583094
我的GitHub:https://github.com/cq1415583094
公众号欢迎关注

原文地址:https://www.cnblogs.com/chuanqi1415583094/p/9651988.html