python文件处理

文件类型:文本文件、二进制文件

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

二进制文件:直接由比特0和1组成,没有统一字符编码

文件处理的步骤:打开-处理-关闭

a.read(size)、a.readline(size)、a.readlines(hint)

a.write(s)、a.writelines(lines)、a.seek(offset)

打开文件

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

                      文件路径和名称

7种文件打开模式:

‘r’   只读模式,默认值,如果文件不存在,返回FileNotFoundError

'w' 覆盖写模式,文件不存在则创建,存在则完全覆盖

‘x’  创建写模式,文件不存在则创建,存在则返回FileExistsError

'a'  追加写模式,文件不存在则创建,存在则在文件最后增加内容

‘b’  二进制文本模式

‘t’  文本文件模式,默认值

‘+’  与r/w/x/a一同使用,在原功能基础上增加同时读写功能

例子:

f=open("f.txt")       文本形式,只读模式,默认值

f=open("f.txt","rt")    文本形式,只读模式,默认值

f=open("f.txt","w")      文本形式,覆盖写模式

f=open("f.txt","a+")   文本形式、追加写模式+读文件

f=open("f.txt","x")      文本形式,创建写模式

f=open("f.txt","b")      二进制形式,只读模式

f=open("f.txt","wb")   二进制形式,覆盖写模式

 

关闭文件

<变量名>.close()

 

文件内容读取

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

<f>.readline(size=-1)  读入一行内容,如果给出参数,读入改行前size长度  s=f.readline() 读入当前指针对应的一行信息

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

1文件的全文本操作  遍历全文本

方法一:

fname=input("请输入要打开的文件名称:")

fo=open(fname,"r")

txt=fo.read()    #对全文txt进行处理

fo.close()

方法二:

fname=input("请输入要打开的文件名称:")

fo=open(fname,"r")

txt=fo.read(2)

while txt !=" ":

#对txt进行处理

     txt=fo.read(2)

fo.close()

逐行遍历

方法一:

fname=input("请输入要打开的文件名称")

fo=open(fname,"r")

for line in fo.readlines():

print(line)

fo.close()

方法二:

fname=input("请输入要打开的文件名称")

fo=open(fname,"r")

for line in fo:

print(line)

fo.close()

数据的文件写入

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

<f>.writelines(lines)  将一个元素全为字符串的列表写入文件  ls=["中国","法国"]  f.writelines(ls)   中国法国  各元素直接拼接后写入

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

例:

fo=open("output.txt","w+")

ls=["中国",“法国”,“美国”]

fo.writelines(ls)

for line in fo:

print(line)

fo.close()     --没有任何输出

fo=open("output.txt","w+")

ls=["中国",“法国”,“美国”]

fo.writelines(ls)

fo.seek(0)

for line in fo:

print(line)

fo.close() 

 

二维数据的读入处理

从csv格式的文件中读入数据

fo=open(fname)

ls=[]

for line in fo:

line=line.replace("\n","")

ls.append(line.split(","))

fo.close()

将数据写入csv格式的文件

ls=[[],[],[]]

f=open(fname,'w')

for item in ls:

f.write(','.join(item)+'\n')

f.close()

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值