Python开发第xxx篇文件操作----复习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python开发第xxx篇文件操作----复习相关的知识,希望对你有一定的参考价值。

1:#r模式,在文件不存在时,不会创建新的文件

  f = open(‘a.txt‘,‘r‘,encoding = ‘utf-8‘)

2:字符编码

  什么是字符编码?

    把人类的字符翻译成计算机能认识的数字

  什么是字符编码表?

    ASCII

    GBK

    UTF-8

    Unicode

unicode-------->encode(‘utf-8‘)-------------->bytes

bytes------------>decode(‘utf-8‘)--------------->unicode

原则:

  字符以什么格式编译的,就要以什么格式解码

ps:

  python3中的字符分为两种

  x=‘egon‘存成unicode

  y=x.encode(‘utf-8‘)存成bytes

 

python2中的字符串也分成两种

   x = u‘egon‘ 与python3中的字符串相同

  y=‘alex‘与python3中的bytes类型相同

 

#r模式的读,在文件不存在时,不会创造新的文件
f = open(‘a.txt‘,‘r‘,encoding = ‘utf-8‘)
print(f.read())
f.close()


#b模式即直接从硬盘中读取bytes
print(f.read().decode(‘utf-8‘))

#w文本模式的写,文件存在则清空,不存在则创建
f = open(‘a.txt‘,‘w‘,encoding = ‘utf-8‘)
f = open(‘b.txt‘,‘w‘,encoding = ‘utf-8‘)
print(f.writeable())#判断是否可写
print(f.readable())#判断是否可读

#a文本模式的追加
f = open(‘b.txt‘,‘a‘,encoding = ‘utf-8‘)
print(f.writeable())#写文件涉及到文件光标的移动
print(f.tell())
print(f.readline())
f.write(‘333\\n‘)
#r+,w+,a+,代表读的时候可以写,写的时候可以读

#rb模式即直接从硬盘中读取bytes
f = open(‘a.txt‘,‘rb‘)
print(f.read().decode(‘utf-8‘))

#wb模式
f = open(‘a.txt‘,‘wb‘)
f.write(‘你好啊‘.encode(‘utf-8‘))


##b模式可以读取任何模式的文件
with open(‘test.jpg‘,‘rb‘) as read_f,\\
open(‘test1.jpg‘,‘wb‘) as write_f:
for line in read_f:
write_f.write(line)

##########################################################
f = open(‘a.txt‘,‘r‘,encoding = ‘utf-8‘)
print(f.read())
#f.read()可以指定多个,以文本方式读,以字符为单位

f = open(‘a.txt‘,‘rb‘)
print(f.read(3).decode(‘utf-8‘))
#以字节为单位,1个中文占3个字节,在文本模式下,以字符为单位读取,在b模式下,以字节为单位读取,其余的文件内光标移动都是以字节为单位的


f = open(‘a.txt‘,‘r‘,encoding = ‘utf-8‘)
print(f.read())
f.seek(0)#表示将光标的位置移动到开头
print(f.read())
f.seek(1)#表示从第一个字符开始读取
print(f.tell())#tell表示以字节显示的

f.seek(6,0)#代表从文件开头取6个字节,根据读取的模式来,如果是可读模式,代表是读取的字符,其他的读取的是字节
f.seek(6,1)#以当前光标所在的位置为参照物
#seek有3种移动方式0,1,2其中1和2必须在b模式下进行,0在文本模式下也可以使用

f = open(‘a.txt‘,‘rb‘)
f.seek(0,2)#此时光标一直指向最后
f.seek(-1,2)#倒着切一个字节


cp文本

技术分享

技术分享

技术分享

 

 

 1 #####文件习题
 2 import time
 3 with open(test.txt,rb) as f:
 4     f.seek(0)
 5     while True:
 6         line = f.readline()
 7         if line:
 8             print(line.decode(utf-8),end=‘‘)
 9         else:
10             time.sleep(0.5)

 


































































以上是关于Python开发第xxx篇文件操作----复习的主要内容,如果未能解决你的问题,请参考以下文章

Python开发第XXX篇----函数 -名称空间与作用域

Python开发第xxx篇函数练习题-----员工信息表

Python开发第XXX篇:Python 函数----

Python开发第xxx篇 函数习题

Python开发第xxx篇----闭包函数

数据分析学习汇总