文件操作的基本流程

1、读模式

f.read()
f.readable()#这个文件是否可读,返回布尔值;
f.readline(“读模式”)#读取第一行;
f.readlines(“读模式”)#读取所有内容 以字符串方式存储在列表内;
f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是读模式,第三个参数是定义编码
data = f.read()  #括号里是有参数的,5代表要取5个字符,默认是读取所有。
print(data)
f.close() #关闭

2、写模式

f.write('写模式')#注意 写之前会清空原文本文件,然后进行写入! 若没有文件则会新创建一个文件进行写入;
f.write("写模式1\n写模式2\n写模式3\n写模式4\n")#换行写入;
f.writelines(["写模式1\n写模式2\n写模式3\n写模式4\n"])#该模式要传入的数据类型必须是列表;
f.writable()#这个文件是否可写,返回布尔值;

f = open('小重山','w',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
data = f.write('写模式')
print(data)
f.close()
#注意 写之前会清空原文本文件,然后进行写入! 若没有文件则会新创建一个文件进行写入

f = open('name','w',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
data = f.write("写模式1\n写模式2\n写模式3\n写模式4\n")
print(data)
f.close()
写模式1
写模式2
写模式3
写模式4
f.writelines(["写模式1\n写模式2\n写模式3\n写模式4\n"])#该模式要传入的数据类型必须是列表
f = open('小重山','a',encoding='utf-8') # a 代表 append 追加 不会清空原文件
data = f.write('写模式')
print(data)
f.close()

3、# r+ , w+ , a+模式

with:

同时管理多个文件对象

1 with open('log1','r') as f_read, open('log2','w') as f_write:
2     for lien in f_read:
3         f_write.write(lien)

具体的操作方法:

1、f.readline()  #读取第一行

 
f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码 data = f.readline() print(data) f.close()

2、data = f.readliens()  # 读取所有内容 以字符串方式存储在列表内

f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
#data = f.readline()
data = f.readlines()
print(data)
f.close()
[
'写模式哈哈写模式\n', '哈哈\n', '发的\n']

3、readable()#这个文件是否可读,返回布尔值;

f=open("name","r",encoding="utf-8")
print(f.readable())
f.close()True

循环 f.readliens() 取出的列表,并指定第二行添加字符串'oooo' 
(不常用) 若文件较大,占内存

f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
data = f.readlines()
number = 0
for i in data:number += 1if number == 2:i = ''.join([i.strip() , 'oooo'])print(i.strip())
f.close()写模式哈哈写模式
哈哈oooo
发的

 常用方法:

 1 f = open('小重山','r',encoding='utf-8') #第一个参数是文件位置,第二个参数是写模式,第三个参数是定义编码
 2 number = 0
 3 for i in f:   #这里for内部将f做成一个迭代器,用一行取一行,用完清空,不占内存
 4     number += 1
 5     if number == 2:
 6         i = ''.join([i.strip() , 'oooo'])
 7     print(i.strip())
 8 f.close()
 9 
10 
11 print(f.tell(3))  #打印光标的位置 对于英文字符就占一个,中文字符占3个;
12 
13 print(f.seek(3))  #调整光标位置的
14 
15 
16 f.flush() #把缓存里的数据更新到磁盘上(防止程序崩溃数据丢失)
17 
18 
19 >>> f = open('hello','w')
20 >>> f.write('alex is 35 ')11
21 >>> f.write('hello world')11
22 >>> f.flush() 
23 alex is 35 hello world
24 
25 #进度条效果展示
26 
27 import sys,time
28 
29 for i in range(30):  #第一种方法
30     sys.stdout.write('=')
31     sys.stdout.flush()
32     time.sleep(0.1)
33 
34 
35 for i in range(30):  #第二种方法
36     print('=',end='',flush=True)
37     time.sleep(0.1)
f.truncate()# 截取字符

f = open('小重山','a',encoding='utf-8')
f.write('asfzxc')
f.truncate(5)
 

转载于:https://www.cnblogs.com/songzhixue/p/9120306.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/485940.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第三代人工智能基础设施背后,是一次技术应用的常识普及运动

来源:脑极体买了新电脑和手机,你会提前安装好杀毒或安全软件,还是等被黑客攻破了才悔之晚矣?处理传染病疫情,是从源头释放药物和疫苗,还是坐等医院的患者超过治疗和处理能力?面对危机舆情&#…

5 ui自适应窗口_Qt编写地图综合应用5-自适应拉伸

一、前言用过echart的人都会遇到一个问题,就算是代码中写了window.onresize echart.resize,也只是横向自适应拉伸填充页面,垂直方向不会变化,除非指定高度才可以,这就比较郁闷了,为何echart本身不会自适应…

Leetcode--85. 最大矩形

给定一个仅包含 0 和 1 的二维二进制矩阵,找出只包含 1 的最大矩形,并返回其面积。 示例: 输入: [ ["1","0","1","0","0"], ["1","0","1","1","…

PowerDesigner生成sql语句时自动导出注释

1、为sql生成注释,操作如下,在其中选择Tools----》Excute commands-----》Edit/Run Script打开的窗口中添加以下信息 ****************************************************************************** * File: name2comment.vbs * Purpo…

为什么俄罗斯的数学那么牛?

编辑 ∑Gemini来源:奇趣数学苑但在国际上也有一个很著名的说法,就是世界上最好的大学,其实是“美国的学校,中国的学生,俄罗斯的教授”。俄罗斯数学家佩雷尔曼虽然俄罗斯现在相比以前来说,尤其明显的是在一些需要大量设…

查看屏幕大小_疑似“iPhone 12” 的OLED屏幕组件泄露

来自可靠的泄密者的新照片显示了即将面世的“ iPhone 12”所搭载的OLED屏幕。这名泄密者以前曾显示过未来苹果产品的准确图像,此前曾展示过苹果A14芯片组的早期图片,并声称“ iPhone 12”将配备20W电源适配器。现在他在推特上发布了一张照片,…

Leetcode--198. 打家劫舍

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的…

搭建Hexo博客(一)-创建Hexo环境

Hexo配合github,可以创建自己的博客。基本原理是使用Hexo生成静态页面,发布到github上。在本地需要搭建Hexo环境。 1、安装nodejs 下载并安装NodeJS,官网地址:https://nodejs.org/en/ 2、安装完后,查看安装情况 1 node…

python logging模块的作用及应用场景_Python logging模块原理解析及应用

一、logging日志模块等级常见log级别从高到低:CRITICAL 》ERROR 》WARNING 》INFO 》DEBUG,默认等级为WARNING,即>WARNING级别的log才输出。日志等级(level)描述CRITICAL当发生严重错误,导致应用程序不能继续运行时记录的信息E…

Nature:2020年最佳科学影像,每一张都是壁纸,每一张都是历史

文章来源:学术头条2020年是独一无二的一年。COVID-19大流行将科学推到了最前沿,并深刻影响了人们的生活。但是这一年也产生了许多与病毒无关的新影像。从薄薄的太阳能电池,到经过基因编辑的鱿鱼,下面就是Nature新闻和艺术团队评选…

Leetcode--213. 打家劫舍Ⅱ

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚…

转 从红帽、GitHub和Docker看开源商业模式的进阶

从红帽、GitHub和Docker看开源商业模式的进阶 发表于2014-12-16 10:26| 7594次阅读| 来源http://stratechery.com/| 0 条评论| 作者Ben ThompsonDocker红帽GitHub开源CoreOS摘要:从技术角度来说,Docker无疑是可圈可点的,比如“write once run…

antimalware可以关闭吗_iPhone最好关闭这4个设置,手机流畅还省电

你抢到新款的iPhone12了吗?80%的小伙伴都会忽略的设置,你的iPhone手机最好关闭以下这4个设置。①关闭ios系统更新操作步骤:打开【设置】-【通用】-【软件更新】-【自动更新】-【下载iOS更新】,关闭即可。这样就不会莫名其妙地下载…

Leetcode--221.最大正方形

在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 思路:和最大长方形类似(可以参照https://mp.csdn.net/postedit/102420219&…

tableau连接mysql_tableau 连接mysql的操作步骤

一:下载并安装好以下应用程序:1.数据库mysql2.数据库管理工具navicat premium3.数据可视化工具tableau4.mysql对应版本的ODBC驱动包二:配置ODBC1.控制面板→系统和安全→管理工具中找到"数据源ODBC",并启动它&#xff0…

MVVM Light Toolkit使用指南

原文地址: https://blog.csdn.net/ldld1717/article/details/77040077概述MVVM Light Toolkit是一个Android MVVM 轻量级工具库,主要目的是更快捷方便的构建Android MVVM应用程序,工具库添加了一些Data Binding 不支持的属性,还有…

段永朝:界面——之内、之外与之间

来源:苇草智酷01画一个圈儿,就把平面分成圈内,圈外。这个圈儿,就成了界面。垒一道墙,就把空间分成墙里,墙外。这个墙,就成了界面。看一眼手机上的钟表,那一刻闪现的数字,…

Leetcode--5. 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad" 输出: "bab" 注意: "aba" 也是一个有效答案。 示例 2: 输入: "cbbd" 输出: "bb"…

mysql面试考点_mysql面试知识点

1 引擎-MyISAM和InnoDB的区别a 是否支持行级锁 :MyISAM 只有表级锁(table-level locking),而InnoDB 支持行级锁(row-level locking)和表级锁,默认为行级锁。b 是否支持事务和崩溃后的安全恢复:MyISAM 强调的是性能,每次查询具有原子性,其执行…

jquery 快速入门二

---恢复内容开始--- 操作标签 样式操作 样式类 addClass();//添加指定的CSS类名。 removeClass();//移除指定的类名. hasClass();//判断样式不存在 toggleClass();//切换css类名,如果有就移除,如果没有就添加 示例:开关灯和模态框 CSS css(&q…