十四、python沉淀之路--文件操作

一、文件操作b模式

1、

1 # f = open(‘test11.py‘,‘rb‘,encoding=‘utf-8‘)  # 这种情况会报错
2 f = open(‘test11.py‘,‘rb‘)    # b 模式不能指定编码方式
3 data = f.read()
4 print(‘直接打印出来:‘,data)
5 print(‘解码打印\n‘,data.decode(‘utf-8‘))
6 f.close()
1 直接打印出来: b‘11111\r\n22222\r\n3333\r\n‘
2 解码打印
3  11111
4 22222
5 3333

总结:字符串 -------encoding ------->> bytes
           bytes --------decode --------->> 字符串

例2

 1 f = open(‘test22.py‘,‘wb‘)
 2 f.write(bytes(‘99999\n‘,encoding=‘utf-8‘))
 3 f.write(‘北京‘.encode(‘utf-8‘))
 4 f.close()
 5
 6 f1 = open(‘test22.py‘,‘br‘)
 7 data = f1.read()
 8 print(‘原码打印‘,data)
 9 print(‘解码打印\n‘,data.decode(‘utf-8‘))
10 f1.close()
1 原码打印 b‘99999\n\xe5\x8c\x97\xe4\xba\xac‘
2 解码打印
3  99999
4 北京

注:原码打印和解码打印的区别,写文件前,即在打开的时候不能指定编码格式。只有在写的时候才指定编码格式。

二、文件操作

1、

1 f = open(‘练习.txt‘,"r+",encoding=‘utf-8‘)
2 print(f.read())
3 f.write(‘1234556789\n‘)
4 print(f.read())
5 f.close()
1 1234556789

2、closed,encoding, flush(),readlinse() 的使用

1 f = open(‘练习.txt‘,"r+",encoding=‘utf-8‘,newline=‘‘)
2 print(f.closed)     # closed 判断文件是否关闭
3 print(f.encoding)   # 检查是哪种编码格式
4 f.flush()           # 写完内容后是暂时存在了缓存里面,通过flush()函数冲刷一下,就将内容保存在了内存、# f.flush() #讲文件内容从内存刷到硬盘
5 print(f.readlines())  #将所有内容以列表形式打印出来,
1 False
2 utf-8
3 [‘\r\n‘, ‘1234556789\r\n‘, ‘1234556789\r\n‘]

3、tell的使用,打印当前所在位置

1 f = open(‘练习.txt‘,"r+",encoding=‘utf-8‘,newline=‘‘)
2 print(f.tell())
3 print(f.readline())     #  因为12345 后还有\r\n,没有显示出来
4 print(f.tell())

4、seek的使用,(是以字节为单位的)

 1 f = open(‘练习.txt‘,"r+",encoding=‘utf-8‘,newline=‘‘)
 2 f.write(‘my name is cainiao who is from earth‘)
 3 f.close()
 4
 5 f1 = open(‘练习.txt‘,‘r+‘,encoding=‘utf-8‘)
 6 print(f1.read())
 7
 8 f1.seek(3,0)  #“0”代表从文件开头开始偏移,偏移3个单位
 9 print(f1.tell())
10 print(f1.read(3))
11 print(f1.read(6))  #从偏移之后的指针所指的位置,开始读取6个字符
12 print(f1.tell())
13
14 print(f1.readline())
15 # print(‘看看是否到了最后:‘,f1.read(5))
16
17 print(f1.seek(5,0))
18 print(f1.seek(3,1))
19 print(f1.seek(0,2))  #“2”代表从末尾算起,“0”代表偏移0个单位
1 nam
2     print(f1.seek(3,1))
3 e is c
4 io.UnsupportedOperation: can‘t do nonzero cur-relative seeks
5 12
6 ainiao who is from earth
7 5

5、读取大文件中最后一行

 1 f=open(‘练习.txt‘,‘rb‘)
 2 for i in f:
 3     offs=-10
 4     while True:
 5         f.seek(offs,2)
 6         data=f.readlines()
 7         if len(data) > 1:
 8             print(‘文件的最后一行是%s‘ %(data[-1].decode(‘utf-8‘)))
 9             break
10         offs*=2

原文地址:https://www.cnblogs.com/jianguo221/p/8976457.html

时间: 2024-10-31 19:20:18

十四、python沉淀之路--文件操作的相关文章

十三、python沉淀之路--文件操作

一.文件的读操作 例1 1 f = open('学习',encoding='utf-8') #首先要打开文件,不然直接读,是读不出来的 2 data = f.read() #read后的括号里不添加任何东西 3 print(data) 4 f.close() #读取完了后一定要记得关闭文件,不然内存会一直交互数据占据内存空间,而且不关闭,数据容易丢失,或被别人读取 例2:readline   readable 1 f = open('学习','r',encoding='utf-8') 2 3 p

Python修炼之路-文件操作

文件操作流程:     打开文件,得到文件句柄并赋值给一个变量    通过句柄对文件进行操作    关闭文件    每次文件打开.读取信息时,Python自动记录所达到的位置,好比一个书签,之后每一次读取都会从上次结束的地方开始,如果要从开始的位置读取,可以将其关闭后打开. 文件操作模式:r :只读模式 (默认)    w :只写模式 (不可读:如果文件不存在,则创建新文件:如果文件存在,则删除原内容)    a :追加模式 (不可读:如果文件不存在,则创建新文件:如果文件存在,则在文件末追加内

python字符串处理与文件操作

1.strip函数 strip是trim(裁剪)掉字符串两边的空格或字符.(lstrip/rstrip) 如: 空格 theString = ' abcdbcyesornoabcbacdd ' print theString.strip() abcdbcyesornoabcbacdd 字符 theString = 'abcdbcyesornoabcbacdd' print theString.strip('abcd') #去掉两端的abcd字符 yesorno 问题:如何去掉中间空格. theS

Delphi 之路 — 文件操作函数 (说明和使用说明)

Delphi 之路 - 文件操作函数 (说明和使用说明) //判断文件是否存在 FileExists //判断文件夹是否存在 DirectoryExists //删除文件 DeleteFile; Windows.DeleteFile //删除文件夹 RemoveDir; RemoveDirectory //获取当前文件夹 GetCurrentDir //设置当前文件夹 SetCurrentDir; ChDir; SetCurrentDirectory //获取指定驱动器的当前路径名 GetDir

七十四、expect脚本同步文件、expect脚本指定host和要同步的文件、构建文件分发系统、

七十四.expect脚本同步文件.expect脚本指定host和要同步的文件.构建文件分发系统.批量远程执行命令 一.expect脚本同步文件 自动同步文件,在一台机器上同步文件到另一台机器上去.核心命令是rsync [[email protected] sbin]# vim 4.expect     路径:/usr/local/sbin/ #!/usr/bin/expect set passwd "1346" spawn rsync -av [email protected]:/tm

Python之路-文件操作(py)

文件操作的基本步骤: 1.打开文件:f=open('filename'),with open('filename') as f 2.操作文件:增,删,改,查 3.关闭文件:f.close 打开文件 python中打开文件的函数为open('filename',mode='r',encode='utf-8'),open函数默认返回文件的句柄,我们可以根据句柄来对文件进行增,删,改,查的操作.将句柄赋给我们定义的变量,假设我们定义变量为f,则f=open('filename',mode='r',en

python之路----文件操作

python文件操作 文件操作的基本流程: 1.打开文件f_read = open("filename",mode = 'r',encoding="utf-8") 打开一个文件并且将文件句柄赋值给变量f_read,模式可以有多种,如: r,只读模式(默认). w,只写模式.[不可读:不存在则创建:存在则删除内容:] a,追加模式.[可读:   不存在则创建:存在则只追加内容:] "+" 表示可以同时读写某个文件 r+,可读写文件.[可读:可写:可

Python 第三天 文件操作

文件操作 操作文件时,一般需要经历如下步骤: 打开文件 操作文件 一.打开 文件句柄 = file('文件路径', '模式') 注:python中打开文件有两种方式,即:open(...) 和  file(...) ,本质上前者在内部会调用后者来进行文件操作,推荐使用 open. open会自己在Python中找. 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r,只读模式(默认). w,只写模式.[不可读,也

python入门三:文件操作

一.文件操作 1.文件对象:和c一样,要想对一个文件进行操作,需要获取该文件的对象 1 f = open("xxx") # 打开文件并获取文件对象 2 f.xxx # 对文件进行某些操作 3 f.close() # 关闭文件 2.访问模式: open函数除了接受一个文件名参数外,还可以设定文件的访问模式(open其他的参数不太能理解) 无   以只读方式打开,文件必须存在 r     以只读方式打开,文件必须存在 w    以只写方式打开, 先删除原有内容再写入新内容,文件不存在创建新