Python 文件处理操作

1. 读操作(r)

1.新建一个文件(去大理.txt)
文件内容:
# 是不是对生活不太满意
# 很久没有笑过又不知为何
# 既然不快乐又不喜欢这里
# 不如一路向西去大理



2.读操作
f = open('D:\.py文件\去大理', encoding='utf8')            #绝对路径            
data1 = f.read()
print(data1)
f.close()
返回值:
是不是对生活不太满意
很久没有笑过又不知为何
既然不快乐又不喜欢这里
不如一路向西去大理



f = open('D:\.py文件\去大理', encoding='utf8')
data2 = f.readable()            #判断是否可读
print(data2)
f.close()
返回值:True



f = open('D:\.py文件\去大理', encoding = 'utf8')
data3 = f.readline()
data4 = f.readline()
data5 = f.readline()
print(data3)
print(data4)
print(data5)
f.close()
返回值:
是不是对生活不太满意

很久没有笑过又不知为何

既然不快乐又不喜欢这里



f = open('D:\.py文件\去大理', encoding = 'utf8')
data7 = f.readlines()
print(data7)
返回值:['是不是对生活不太满意\n', '很久没有笑过又不知为何\n', '既然不快乐又不喜欢这里\n', '不如一路向西去大理\n']

2. 写操作(w)

1.新建一个文件(去大理.txt)
文件内容:
# 是不是对生活不太满意
# 很久没有笑过又不知为何
# 既然不快乐又不喜欢这里
# 不如一路向西去大理



2.写操作
f = open('D:\.py文件\上火星', 'w', encoding='utf8')
f.write('我要看火星人')
f.close()
返回值:
###一个新的.xtx文件,内容为:
我要看火星人



f = open('上火星', 'w', encoding='utf8')
data1 = f.writable()
print(data1)
f.close()
返回值:True



f = open('上火星', 'w', encoding='utf8')
f.writelines(['看月亮\n','玩扑克\n'])            #写多行新内容,覆盖光标后面的内容
f.close()

3. 追加操作(a)

f = open('上火星', 'a', encoding='utf8')            #在最后一行追加
f.write('回地球')

4. 其他操作(eg:r+)

f=open('D:\.py文件\上火星','r+',encoding='utf8')            #先读后写
data=f.read()
f.write('hi')
f.close()



f1 = open('上火星','r',encoding='utf8')              
data = f1.readlines()
print(data)
f1.close()
f2 = open('上火星','w',encoding='utf8')            #修改原文件内容   
f2.write(data[1])
f2.close()

5. 读取日志文件的最后一行内容

(1)创建一个日志文件.txt​
关键字      日期和时间          来源                事件ID  任务类别
审核成功	2018/9/11 12:17:15	Security-Auditing	4672	Special Logon
审核成功	2018/9/11 12:17:15	Security-Auditing	4624	Logon
审核成功	2018/9/11 12:17:14	Security-Auditing	4672	Special Logon
审核成功	2018/9/11 12:17:14	Security-Auditing	4624	Logon
审核成功	2018/9/11 12:17:07	Security-Auditing	4672	Special Logon
审核成功	2018/9/11 12:17:07	Security-Auditing	4624	Logon
审核成功	2018/9/11 12:09:27	Security-Auditing	4672	Special Logon
审核成功	2018/9/11 12:09:27	Security-Auditing	4624	Logon

​
(2)用 seek()方法从后往前搜索​
f = open('日志文件','rb')
for i in f:
    offs = -70            #设置偏移量(估计最后一行长度)
    while True:
        f.seek(offs,2)
        data = f.readlines()
        if len(data) > 1:
            print(data[-1].decode('utf8'))
            break
        offs *=2            
f.close()
# 返回:
审核成功	2018/9/11 12:09:27	Security-Auditing	4624	Logon

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值