用python来进行文件操作

在用python来进行文件读写前,我来跟大家简单简述下文件的概念,一些打开模式,文件属性和文件对象的常用方法

何为文件?想必大家会说电脑上的文件夹,软件和程序等等,这些都是对的,文件是数据的抽象和集合,文件是存储在辅助存储器上的数据序列,是数据存储的一种形式,文件的展现形态分为文本文(也称ASCII文件,扩展名通常为“.txt”,能够在Windows的“记事本”程序中打开,并且打开后能看出文件的内容)件和二进制文件(使用Windows的“记事本”程序打开二进制文本,则看不出文件的内容(乱码),如dat数据文件,图像,视频,可执行文本等)

接着我们来聊聊文件的打开,文件属性和文件对象的常用方法

python内置了文件对象,使用open()函数即可指定模式打开指定文件,并创建文件对象,格式如下

<变量名>             =        open        (<文件名>,     <打开模式>)                                                         文件句柄     文件路径和名称(源文件同目录可省路径)    文本or二进制(读or写)

文件打开模式
模式说明
"r"只读模式
"w"写模式
"a"追加模式
"b"二进制模式(可与其他模式组合使用)
"+"读/写模式(可与其他模式组合使用)
文件对象的常用属性
属性说明
closed判断文件是否被关闭,若文件被关闭,则返回Ture
mode返回文件的打开模式
name返回文件名称
文件对象的常用方法
模式说明
open(filename,mode)按指定模式打开文件
write()将内容写入文件
close()把缓冲区内容写入文件,同时关闭文件,并释放文件对象
read([size])从文件中读取size字节的内容作为结果返回,如果省略size,则表示一次性读取所有内容
readline()从文本文件中读取一行内容并作为结果返回
readlines()把文本文件中的每行文本作为一个字符串存入列表中,并返回该列表
seek(offset[,whence])把文件指针移动到新的位置,offset表示相对于whence的位置。whence为0表示从文件头开始计算;whence为1表示从当前位置开计算;whence为2表示从文件尾开始计算;默认为0

以上就是文件的概念,一些打开模式,文件属性和文件对象的常用方法,在我们做文件操作前做的第一步就是要读取文件

fp = open("test.txt")  #打开文件
print(fp.read())
 
close("test.txt") #关闭文件
 

根据所需你也可以使用readline和readlines这两种的方式读取

f=open('../Stu_Pack/万疆.txt','rt',encoding='utf-8')


#print(f.read())


for line in f.readlines():
    print(line)

f.close()

  

注:1.因为py文件不支持中文因此需要使用这段代码encoding='utf-8'将文件编码类型改为UTF-8的类型

2.".."表示跳出当前文件夹,由于我的《万疆.txt》这个文件是在Stu_Pack这个文件夹中,而我这个py编写代码是保存在另一个文件夹中,两者并不在一起,如果直接查找,会找不到这个文件就如下图所示

 因此我们在用py查找文件时必须要把文件所在位置搞清楚,不然很容易报错!!!

在了解文件怎么读取后,我们接下来就是要做的就是写文件

f = open('../Stu_pack/万疆.txt','r',encoding = 'utf-8')
 
 f2 = open('万疆_DIP.txt','a',encoding = 'utf-8')
 
f2.write(f.read())  #将f中的文件写入f2中

完成以上的两步,接着我们就可以合并两个甚至多个文件,废话不多说直接上代码

​
fr_1=open('../Stu_Pack/万疆.txt','rt',encoding='utf-8')
fr_2=open('../Stu_Pack/See You Again.txt','rt',encoding='utf-8')
fw=open('万疆_DIP.txt','w+',encoding='utf-8')#"w+"表示如果没有这个文件时自动创建并加入要添加的文件内容,如果存在则在这个文件里的最后面不覆盖的添加文件内容

for line in fr_1:
    fw.write(line)
for line in fr_2:
    fw.write(line)

fw.seek(0)
for line in fw.readlines():
    print(line)


#关闭文件
fr_1.close()
fr_2.close()
fw.close()

​

效果如下

 

 

 我这里合并文件的方法采用的是先打开多个文件,再把这多个文件写入一个空白文件中,我们也可以打开一个文件,写入一个空白文件中,再打开一个文件内,再写入刚刚那个空白文件,同样也可以做到合并文件的效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值