小白学python-day08-文件及其操作、字符串字典类型转换
今天是day08,以下是学习总结:
但行努力,莫问前程。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
with语句:为防止打开文件之后忘记写f.close()

这种方式在退出with级别的时候就自动关闭文件,就不用写f.close()
with同时管理多个文件对象:(对应下文的 修改文件内容 部分)

同样,在退出with级别的时候就自动关闭文件,就不用写f.close()
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
读模式:

写模式:

append 追加
模式:

r+模式:读正常读,写永远在文件内容最后写。
w+模式:可写可读,但在打开的时候就已经清空,写入之后光标在末尾位置,直接继续读的话是没有内容的,所以在读之前,需要f.seek(0)
a+模式:与r+模式一样,可写可读,但是光标是在最后位置,r+是光标在第一个位置。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
其他系列的操作模式:
1.readlines() 方法用于读取所有行,没有参数,该列表可以由 Python 的 for循环进行遍历处理。

run:

2.tell() 方法
tell() 方法返回文件的当前位置,即文件指针当前位置。

英文就是一个字符光标显示1
中文不是。
3.seek() 方法
seek() 方法用于移动文件读取指针到指定位置。

4.flush() 方法:可以做进度条
flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。
格式:文件.flush()

*打印出来的是一个一个出来的,即0.1秒出来一个,一共出来30个
5.truncate() 方法
truncate在使用时 打开文件必须为 w 或者 a 模式。因为截断相当于写东西。但注意w模式在开始时会格式化原文件的内容。
参数为 size,无 size 表示从当前位置截断;截断之后 V光标后面的所有字节被删除,其中 Widnows 系统下的换行代表2个字节大小。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
修改文件内容:


文本2就是我们修改后的结果:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If else的语句优化 示例:

优化后:

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
字典转字符串 str()
字符串转字典 eval()
小白学python-day08-文件及其操作、字符串字典类型转换的更多相关文章
- 小白学 Python(18):基础文件操作
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(24):Excel 基础操作(下)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python(4):变量基础操作
人生苦短,我选Python 引言 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 前面的文章中,我们介绍了 ...
- 小白学 Python(23):Excel 基础操作(上)
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python 爬虫(18):Requests 进阶操作
人生苦短,我用 Python 前文传送门: 小白学 Python 爬虫(1):开篇 小白学 Python 爬虫(2):前置准备(一)基本类库的安装 小白学 Python 爬虫(3):前置准备(二)Li ...
- 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据
在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...
- 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python 数据分析(17):Matplotlib(二)基础操作
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 小白学 Python(19):基础异常处理
人生苦短,我选Python 前文传送门 小白学 Python(1):开篇 小白学 Python(2):基础数据类型(上) 小白学 Python(3):基础数据类型(下) 小白学 Python(4):变 ...
- 小白学 Python 数据分析(18):Matplotlib(三)常用图表(上)
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
随机推荐
- 【工具】java 文本文档txt写出记录工具
彩蛋!http://abowman.com/google-modules/dog/ 以下是自己小游戏生成人物经历的传记时保存txt所用到的工具类,功能简单,不多说什么,贴上代码: package co ...
- 开源joda-time使用demo
开源joda-time 1.maven中引入 <dependency> <groupId>joda-time</groupId> <artifactId> ...
- 超级实用的表格树控件--QtTreePropertyBrowser
目录 一.源码下载 二.代码编译 1.intersect函数替换为intersected 2.移除UnicodeUTF8 3.QtGui模块拆分 4.Q_TYPENAME错误 5.qVariantVa ...
- 在linux中,&和&&, |和|| ,&> 与 >的区别
对应刚接触linux命令的小伙伴们来说,这些符号一定是很困扰的下面我们一起来看这些符号区别和用法 & 表示任务在后台执行,如要在后台运行 如: [root@localhost local]# ...
- 棋盘问题 POJ - 1321(dfs)
#include<iostream> #include<cstdio> #include<cstring> using namespace std; int n, ...
- 设计模式-工厂方法模式(FactoryMethod)
工厂方法模式又称多态工厂模式.工厂方法模式是定义一个创建产品对象的接口(FruitFactory),将具体创建工作给具体的实现类(AppFactory,BananaFactory,PearFactor ...
- django基础知识之模板:
模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...
- 聊聊C语言的预编译指令include
"include"相信大家不会陌生,在我们写代码时,开头总会来一句"include XXX".include是干嘛用的,很多教材都提到了,因此这里不会再详细解释 ...
- ThreadGroup详细讲解
import java.util.concurrent.TimeUnit; public class Test { public static void main(String[] args){ // ...
- TigerGraph入门
测试机器配置 1G内存,1个核,CentOS Linux release 7.4.1708 (Core)的云主机,一块50G HDD的云主机. 1. 安装 下载了目前最新的开发者版本,下载链接:htt ...