Python 入门之文件处理

file=文件位置     mode=查看方法,r只读  w只写 a添加  r+读写   w+写读 目前只接触了这几个

1.查看文件

全部读出

f = open(file='C:/Users/Administrator/Desktop/123.txt',mode="r",encoding="utf-8")
data = f.read()
print(data)
f.close()

一行一行读且有换行

for line in f :        #一行一行的读取数据且有空行相隔
    print (line)
f.close()

2.创建一个文件并写入一行数据(如果已有同名文件,删除全部内容后写入新内容)

f = open(file='C:/Users/Administrator/Desktop/333.txt',mode="w",encoding="utf-8")  #创建一个新文件写入一行信息
f.write("gxdddddd 1234567   5252525252")
f.close()

在原有信息后添加新信息

f = open(file='C:/Users/Administrator/Desktop/333.txt',mode="a",encoding="utf-8")  #在原有信息添加新信息
f.write("\nwgwgw 1234567   5252525252")                              #添加\n来换行,在最后添加
f.close()

读写(先读再写)

f = open(file='C:/Users/Administrator/Desktop/123.txt',mode='r+',encoding = "utf-8")
data = f.read()
print(data)
f.write("\ngxd 123 321")
f.close()

写读(先写在读)  很少用

f = open(file="C:/Users/Administrator/Desktop/123.txt",mode="w+",encoding = "utf-8")
data = f.read()
print(data)
f.write("\ngxd 123 321")
f.close()

3 其他文件操作

f.flush()          #强制把内存刷到硬盘  保存当前内容
f.readable()       #判断文件是否可读
f.writeable()      #判断文件是否可写
f.readline()       #一行一行读,每行/n停止
f.fell()           #判断光标位置 按字节来找
f.seek("数字")     #移动光标位置 按字节来找 utf-8中一个汉子占3个字节   GBK2个字节
f.seekable()       #判断文件是否可seek  (二进制文件可以SEEK)
f.truncate()       #从当前位置截断文件 只留下前面的后面删除
f.truncate("数字") #从头开始截取几个字节的内容

4.批量修改文件中相同内容

(1)这个在系统硬盘中修改内容

import os
f_name = "C:/Users/Administrator/Desktop/123.txt"
f_new_name = "%s.new.txt" %f_name
old_str = "gxd"
new_str = "wsc"
f = open (f_name,"r",encoding = "utf-8")
f_new = open (f_new_name,"w",encoding = "utf-8")
for line in f:
    if old_str in line:
        line = line.replace(old_str,new_str)
    f_new.write(line)
f.close()
f_new.close()
os.remove(f_name)
os.rename(f_new_name,f_name)

(2)在系统内存中修改

f_name = "C:/Users/Administrator/Desktop/123.txt"
f = open (f_name,"r+",encoding = "utf-8")
old_str = "wsc"
new_str = "gxd"
date = f.read()
date = date.replace(old_str,new_str)
print(date)
f.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值