八、文件的处理

简介: f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r') s = f.read print(s) f.close f:变量,f_obj,file,f_handler,...文件句柄。
f = open ('‪H:\\呵呵.txt',encoding='utf-8',mode='r')
s = f.read
print(s)
f.close
f:变量,f_obj,file,f_handler,...文件句柄。
open 是windows的系统功能,
windows默认编码方式:gbk,linux默认编码方式utf-8。
f.close()

流程:打开一个文件,产生一个文件句柄,
       对文件句柄进行操作,关闭文件。

读的几种方式

1.    f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

s=f.read

print(s)

f.close()

这种是全部读出来

2.   f = oepn('H:\\呵呵.txt',endoding='utf-8','r')

s = f.readline

print(s)

print(s)

print(s)

 

f.close()         一行一行的读   每print一次就打印一行

3.   f = open('H:\\呵呵.txt',encoding='utf-8' , 'r')

s = f.readlines

print(s)         把文件的每一行作为一个元素(包括换行符)放到一个列表中  

f.close()

4.   f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

s = f.read(int)   (参数填数字 )

 print(S)            打印字符的个数

     f = open('H:\\呵呵.txt','rb')

     s = f.read(int)  (参数填数字 )  

    print(S)            打印字节的个数

f.close()         

5.   f = open('H:\\呵呵.txt',encoding = 'utf-8','r')

fpr i in f:

  print(i.strip())     循环打印每一行  

在读非文字的文件时候用rb

   f = open('H:\\呵呵.txt','rb')

  s =  f.read()

   print(s)

f.close()

写的方式

如果我没有这个文件夹就创建这个文件夹写入内容,如果有这个文件夹 就清空文件内容  然后再添加

1.    f = open('H:\\呵呵.txt',encoding = 'utf-8','w')

       f.write('kkkk')

       print(f)  

      f.close()

 写入byte数据类型的内容

  f = open('H:\\呵呵.txt','wb')

       f.write('kkkk'.encoding('utf-8'))

     print(f)      

    f.close()

a     有文件就追加内容 没有文件就创建文件加入内容

  f = open('H:\\呵呵.txt',encoding = 'utf-8','a')

       f.write('kkkk')

       print(f)  

      f.close()

r+   先读后写  一定要先读后写 

  f = open('H:\\呵呵.txt',encoding = 'utf-8','r+')

s = f.read()

 f.write('kkkk')

  print(f)  

  f.close()

w+    先写后读

f = open('H:\\呵呵.txt',encoding = 'utf-8','w+')

 

f.write('kklkk')

print(f.tell())   查找光标在什么位置

f.seek(0)         参数填入数字 然后把光标调整到想要的位置

s = f.read()

print(s) 

f.close()   

a+    追加读 可以一直先写入再读出来

f = open('H:\\呵呵.txt',encoding = 'utf-8','a+')

f.write('kklkk')

f.seek(0)           

s = f.read()

print(s)        

其他方法

判断是否可读  可写打印的是bool值

print(f.writable())

print(f.readable()

f.truncate()     参数填数字   按照字节个数来截取文件内容

系统中修改文件的过程

1,将源文件读取到内存中

2,将原文件的内容修改成新内容

3,将新字符串写入新文件上

4,将原文件删除

5,将新文件的名字改成原文件名

import os
with open ('log',encoding='utf-8','r') as f1,\
 open('bak_log',encoding='utf-8','w') as f2:
    content = fi.read()
    new_content = content.replace('sb','alex')
    f2.wriite(new_content)
os.remove('log')
os.rename('bak_log','log')

  

 

 

目录
相关文章
|
Java 大数据 API
用上myexcel,百万数据导出也不怕
用上myexcel,百万数据导出也不怕
494 0
|
安全 Linux 网络安全
/var/log/secure日志详解
Linux系统的 `/var/log/secure` 文件记录安全相关消息,包括身份验证和授权尝试。它涵盖用户登录(成功或失败)、`sudo` 使用、账户锁定解锁及其他安全事件和PAM错误。例如,SSH登录成功会显示"Accepted password",失败则显示"Failed password"。查看此文件可使用 `tail -f /var/log/secure`,但通常只有root用户有权访问。
3741 4
|
9月前
|
安全 自动驾驶 物联网
新四化驱动,如何构建智能汽车的“全场景”可进化互联网络?
在智能化、电动化、网联化、共享化的时代浪潮中,汽车正从单纯的 “机械产品” 进化为先进的 “移动智能终端”。在软件定义汽车(SDV)的崭新时代,每一次 OTA 升级的顺利完成、每一秒自动驾驶的精准决策、每一帧车载娱乐交互的流畅呈现,都离不开一张实时响应、全域覆盖、安全可靠的广域网络。
|
10月前
|
人工智能 移动开发 机器人
智能体 | 快速构建专属英语口语陪练助手,这下雅思再也不用愁了
智能体是以云为基础、AI为核心的智能系统,不同于通义千问等AI工具,用户可自建专注于特定领域的智能体,如英语口语陪练助手。通过阿里云百炼平台,开通服务、创建智能体、选择模型、设计Prompt并测试优化,最终发布到多渠道。用户能随时随地进行英语口语练习,提升语言能力。
|
SQL Java 数据库
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
微服务技术系列教程(39)- SpringBoot -RBAC权限模型
539 0
|
安全 算法 Java
java系列之~~网络通信安全 非对称加密算法的介绍说明
这篇文章介绍了非对称加密算法,包括其定义、加密解密过程、数字签名功能,以及与对称加密算法的比较,并解释了非对称加密在网络安全中的应用,特别是在公钥基础设施和信任网络中的重要性。
|
JSON JavaScript 数据格式
基于 el-form 封装一个依赖 json 动态渲染的表单控件
先介绍功能,然后演示功能,最后介绍思路和编码方式。
676 0
基于 el-form 封装一个依赖 json 动态渲染的表单控件
【教程】阿里云商标自助注册申请快速入门
阿里云商标注册网站的体验非常好的,都是流程化的操作,很简单。这里的报价是透明的,不会像一些代理商那样,注册一个商标,动辄上千。
5410 0
|
Java 开发者
Koala - 面向Java开发者的开源免费开发平台
Koala(考拉)是一个面向Java开发者的开源免费开发平台,以领域驱动设计范 式为指导思想,以DDDLib框架为实现核心,提供KoalaUI前端框架、规范化项目管理工具OpenCI、在线领域建模工具、强大的组件库及可视化开发工具。