Python——>文件的使用

文件的使用

文件的概述

**文件的特点:**文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容。概念上,文件是数据的集合和抽象,类似的,函数是程序的结婚和抽象

文件包括两种类型:文本文件二进制文件

文本文件

一般由单一特定编码的字符组成,如UTF-8编码,内容容易统一展示和阅读。大部分文本文件都可以通过文本编辑软件或文字出库软件创建、修改和阅读。由于文本文件存在编码,因此,它可以被看作是存储在磁盘上的长字符串,例如一个txt格式的文本文件。

二进制文件

直接由比特0和比特1组成,没有统一字符编码,文件内部数据的组织格式与文件用途有关。二进制是信息按照非字符单特定格式形成的文件。二进制文件由于没有统一的字符编码,只能当作字节流,而不能看作字符串

textFile = open("D:\\7.1.txt","rt",encoding='UTF-8')
print(textFile.readline())
textFile.close()
binFile = open("D:\\7.1.txt","rb")
print(binFile.readline())
binFile.close()
=========================================================================================
中华人民共和国是伟大的!

b'\xe4\xb8\xad\xe5\x8d\x8e\xe4\xba\xba\xe6\xb0\x91\xe5\x85\xb1\xe5\x92\x8c\xe5\x9b\xbd\xe6\x98\xaf\xe4\xbc\x9f\xe5\xa4\xa7\xe7\x9a\x84\xef\xbc\x81\r\n'

可以看出,采用文本方式读入文件,文件经过编码形成字符串,打印出由含义的字符:采用二进制方式打开文件

文件被解析为字节(Byte)流。由于存在编码,字符串中的一个字符由两个字节表示

文件的打开关闭

Python对文本文件和二进制文件采用统一的操作步骤,即**“打开—操作—关闭”**

可以通过一组方法读取文件的内容或向文件写入内容,此时,文件作为一个数据对象存在,采用< a >.< b >()方式进行操作。

Python通过解释器对的内置的open()函数打开一个文件夹,open()函数格式如下

< 变量名 > = open(< 文件名 >,< 打开方式 >)

open()函数的两个参数:文件名打开模式

文件名可以是文件的实际名字,也可以是包含完整路径的名字/我所使用的pycharm要求必须含完整的路径/

打开模式用于控制使用何种方式打开文件,open()函数提供7种基本的打开方式

文件的打开模式含义
‘r’只读模式,如果文件不存在,返回异常FileNotFoundError,默认值
‘w’覆盖写模式,文件不存在则创建,存在则完全覆盖
‘a’追加写模式,文件不存在则创建,存在则在文件最后追加内容
‘b’二进制文件模式
‘t’文本文件模式,默认值
‘x’创建写模式,文件不存在则创建,存在则返回异常FileExistsError
‘+’与r/w/x/a一同使用,在原功能基础上增加同时读写功能

文件的关闭:文件使用结束后要用close()方法关闭,释放文件的使用授权,该方法的使用方式如下:

<变量名>.close()

文件的读写

Python提供四个常用的文件内容读取方式

操作方法含义
< file >.readall()读入整个文件内容,返回一个字符串或字节流
< file >.read(size = -1)从文件中读入整个文件内容,如果给出参数,读入前size长度的字符串或字节流
< file >.readline(size = -1)从文件中读入一行内容,如果给出参数,读入该行前size长度的字符串或字节流
< file >.readlines( hint = -1)从文件中读入所有行,以每一行为元素形成一个列表,如果给出参数,读入hint行

返回字符串还是字节流取决于打开文本的方式

文件文本逐行打印

fname = input("请输入你要打开的文件的名称,我将为你展示其中的内容:")
fo = open(fname,"r",encoding='UTF-8')
for line in fo.readlines():
    print(line)
fo.close()

注意:pycharm必须带上enconding = ‘UTF-8’,在输入文件名称是,必须带有包含完整路径的名字

逐行读入内容到内存

fname = input("请输入你要打开的文件的名称,我将为你展示其中的内容:")
fo = open(fname, "r",encoding="UTF-8")
for line in fo:
    print(line)
fo.close()
文件的换行符

如果采用二进制方式打开文件,换行符只是一个符号,对于一个字节,表示为“\n”;如果采用文本方式打开文件,换行符表示一行的结束,辅助程序对文件的处理。文件的换行符是真实存在的一个字符

Python提供了三个与文件内容写入有关的方法

方法含义
< file >.write(s)向文件写入一个字符串或字节流
< file >.writelines(lines)将一个元素全为字符串的列表写入文件
< file >.seek(offset)改变当前文件操作指针的位置,offset的值:0——文件开头;1——当前位置;2——文件结尾
fname = input("请输入要写入的文件")
fo = open(fname,"w+",encoding='UTF-8')
ls = ["唐诗","宋词","元曲"]
fo.writelines(ls)
for line in fo:
    print(line)
fo.close()

**writelines()**函数把所有的元素写到同一行,没有换行

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值