Python20220923-(第七周-文件和数据格式化)

本文详细介绍了Python中文件的读写操作,包括文本文件和二进制文件的区别,以及如何进行读取、写入和格式化。通过实例展示了打开、读取、写入和关闭文件的方法,如`open()`函数的不同模式,`read()`、`readline()`和`readlines()`等方法。此外,还讲解了文件指针的定位与数据的追加。
摘要由CSDN通过智能技术生成

格式化:字符串格式化,将字符串按一定规格和样式进行规范

数据格式化:将一组数据按一定规格样式进行规范:表示,存储,运算等

方法论:从Python角度理解的文件和数据表示

实践:学会编写带有文件的输入输出的程序

(掌握对文件的读,写等操作)

文件时存储在辅助存储器上的数据序列

文件时数据存储的一种形式

文件展现形态:文本文件和二进制文件

=======文件的理解===========

文本文件vs二进制文件

文本文件和二进制文件只是文件的展示方式

本质上,所有文件都是二进制形式存储

形式上,所有文件采用两种方式展示

===========================

文件是数据的抽象和集合

文本文件

由单一特定编码组成的文件,如UTF-8编码

由于存在编码,也被看成是存储着长字符串

适用于例如:txt文件,py文件

二进制文件:

直接由比特0和1组成,没有统一字符编码

一般存在二进制0和1的组织结构,即文件格式

适用于例如:png文件,avi文件

#新建文件,内容:中国是伟大的国家,命名:f.txt  ,存放位置:D:\\Desktop\\学习\\第七周
tf = open('D:\\Desktop\\学习\\第七周\\f.txt','rt',encoding='UTF-8')  #打开文件,rt文本打开看,rb二进制打开
print(tf.readline())     #读取并打印文件
tf.close()     #关闭文件

<变量名> = open(<文件名(文件的路径和名称)>,<打开模式>,<编码>)
打开模式:
r  只读模式,默认值,如果文件不存在,返回FileNotFoundError
w   覆盖模式,文件不存在则创建,存在则完全覆盖
x   创建写模式,文件不存在则创建,存在则返回FileExistsError
a   追加写模式,文件不存在则创建,存在则在文件最后追加内容
b   二进制文件模式
t   文本文件模式,默认值
+   于r/w/x/a一同使用,在原功能基础上增加同时读写能力(r+,w+,x+,a+)

#读文件操作
a.read(size)
a.readline(size)
a.readlines(hint)
--------------
#写文件操作
a.write(s)
a.writelines(lines)
a.seek(offset)

=======文件内容的读取=========

<f>.read(size = -1)     读取全部内容,如果给出参数,独入前size长度

#新建文件,内容:中国是伟大的国家,命名:f.txt  ,存放位置:D:\\Desktop\\学习\\第七周
tf = open('D:\\Desktop\\学习\\第七周\\f.txt','rt',encoding='UTF-8')  #打开文件,rt文本打开看,rb二进制打开
print('打印文件的内容:{}'.format(tf.read(2)))     #读取并打印文件
tf.close()     #关闭文件
'''
打印文件的内容:中国
'''

<f>.readline(size = -1)    读入一行内容,如果给出参数,读入前size长度

<f>.readlines(hint = -1)   读入文件所有行,以每行为元素形成列表,如果给出参数,读入前hint行

#新建文件,内容:中国是伟大的国家,命名:f.txt  ,存放位置:D:\\Desktop\\学习\\第七周
tf = open('D:\\Desktop\\学习\\第七周\\f.txt','rt',encoding='UTF-8')  #打开文件,rt文本打开看,rb二进制打开
print('打印文件的内容:{}'.format(tf.readlines()))     #读取并打印文件
tf.close()     #关闭文件
'''
打印文件的内容:['中国是个伟大的国家\n', '核算维度在总账系统中具有十分独特和灵活的作用']
'''

遍历全文本
 

#方法一,一次性全部处理
fname = input('请输入要打开的文件名称:') #通过用户输入文件名字
fo = open(fname,'r',encoding='UTF-8')     #打开该文件
txt = fo.read()
print (txt)
fo.close()
#方法二,按数量独入处理
fname = input('请输入要打开的文件:')
fo = open (fname,'r',encoding='UTF-8')
while txt !='':
    #对txt进行处理
    print(txt)
    txt = fo.read(2)
fo.close()

文本的逐行操作

#方法一
fname = input('请输入要打开的文件名称:')
fo = open(fname,'r',encoding='UTF-8')
for line in fo.readlines():
    print(line)
fo.close()
#方法二
fname = input('请输入要打开的文件名称:')
fo = open(fname,'r',encoding='UTF-8')
for line in fo:  #分行读入处理
    print(line)
fo.close()

数据写入文件

<f>.write(s)    向文件写入一个字符串或字节流

<f>.writelines(lines) 将一个元素全为字符串的列表写入文件

辅助写入函数seek

<f>.seek(offset)       改变当前文件操作指针的位置,offset含义如下
          0-文件开头,1-当前位置,2-文件结尾

          f.seek(0)    #回到文件开头

#写入文件
#输入需要写入的文件
fname = input('请输入要打开的文件名称:')
#打开文件,采用w+,,,覆盖读取模式
fo = open(fname,'w+',encoding='UTF-8')
#写入字符串
fo.writelines('中国是个伟大的国家')
#写入列表字符
ls = ['中国','美国','法国']
fo.writelines(ls)
#写入代码执行后,指针是在文件的最后,就和打字一样在最后,这个时候调整指针,直接读取,输出的就是空白的,它会从指针的位置进行读取,所以需要调整指针回到文件开始
fo.seek(0)   #回到文件初始位置
#循环读取文件
for line in fo:
    print(line)
fo.close()

苦难,是化了妆的祝福

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灬小杰

别人都在努力,你为什么不可以!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值