文件操作及编码格式

---恢复内容开始---

<html>

知识点:1,文件操作的类型

2,文件游标(指针)的使用

一,文件操作:

1,字符串 类型

1> u Unicode 编码字符串,是默认字符串

2> b Binary 二进制字符 以ascii码表对照的字符

字符与ASCII之间转化:

res = ord("A") 字符转数字

res = ch(32) 数字转字符

字符与ascii码间转换 ord() 字符转换成ascii chr() ascii转换成字符

例:

 li = [chr(i) for i in range(ord("a"),ord("z")+1)]
print(li)

print(li) 显示出小写字母a-z的字符串

3> r 原意字符,转意符 使用字符具有它原本的含义

<1>处理文件的模式

1 t text 以文本文件类型处理文件 默认的文件打开方式,

with open(source_file,"rt") as f: #其中处理模式为r,实际为"rt"。t 为默认模式,可不写

2, b Binary 以二进制文件类型处理文件

<2> 文件打开分为:

r: 只读方式打开文件

r+ 不会创建文件,但可读写

rb 以二进制方式读取文件

w: 写入方式 ,如文件存在,则覆盖,如不存在,则创建

w+ 创建清空的可读写文件

wb 创建清空文件的二进制写入

a: 追加方式文件内容存在,则新添内容追加,如文件不存在,则创建

a+ 创建不清空文件

ab 创建追加二进制文件

x: 以写的方式打开,如文件不存在,则会报错。

 

#方式一
f = open(m,"r",encoding="utf-8")
f2 = open(n,"a",encoding="utf-8")
for i in f:
  f2.read(f2)
print(f2)
f.close()

方式二

With open(source.txt,'r',encoding="utf-8") as f:

with open('dsttxt','a+',encoding="utf-8") as f2:

for i in f:

f2.write(i)

方式三    此方法只使用了一个with来打开二个文件

with open(m,"r")as f,open(n,"a",encoding="utf-8") as w:
   for i in f:
       w.write(i)

使用with方式打开文件,不需要考虑f.close()
with会自动释放文件,不用使用f.close(),将文件的释放交由with管理

 

 二,游标:

 

以二进制形式对文件进行读写操作,非文本文件必需用b模式来处理

m = r"/Users/aibapspl/Files/media.mp4"
n = r"/Users/aibapspl/Files/newme.mp4"
with open(m,"rb") as f1:
  with open(n,"wb") as f2:
      for i in f1:
          f2.write(i)
print("文件操作完成")

with open(a.txt,"a",encoding="utf-8") as f:

f.write(hello world) 在a.txt文件后面添加内容

f.flush()

文件操作时游标的操作 .seek(偏移量,偏移位置)

偏移量:指游标偏移字符的数量

偏移位置:指游标的定义位置 0 偏移位置为文件开头 默认游标在文件开头

1 偏移位置为当前游标位置

2 偏移位置为文件内容的结尾

with open(Source_File,"rb") as f:
   f.seek(5,2)           #对游标自定义位置 为文件末尾倒数第五个停车场
   x = f.read()
  
   print(x)

str_data = []
with open(a.mp4,"rb") as f1:
  data1 = f.read()
  f.seek(len(data1)//4) #游戏定位到整个文件长度的四分之一处
  data2 = f.read(3)     #在定位的游标处向后读取3个字符
  str_data.append(d2)
  str_data.append(data2)
  f.seek(len(data)//8) #将游标定位到文件的八分之一处,
  data3 = f.read(4)      #将取游标处向后的4个字符
  str_data.append(data3)
  f.seek(len(data)//10)    #再交文件游标定位到文件总长的10分之一处
  data4 = f.read(5)      #并从文件部长的十分之一处开始同后取6个字符
  str_data.append(data4)
print(str_data)          #把从文件中取到的内容显示出来
 

 

---恢复内容结束---

转载于:https://www.cnblogs.com/aibapspl/p/10611517.html

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看REaDME.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 、资源1项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值