上节课复习:
1.字符编码
1.1 如何解决乱码问题:
字符存取使用的编码标准不一致
1.2 文件头
在文件的首行写入文件头,用于控制Python解释器读取py文件内容时使用的编码
#coding:文件存入硬盘时使用的编码标准
ps:如果不指定文件头
Python2默认使用ASCII
Python3默认使用UTF-8
1.3 关于字符串类型(只在运行Python程序的第三个阶段才有字符串的概念)编码的问题
Python3中的字符串类型str/字节串bytes类型:
str======>Unicode
x="上" #把"上"存成Unicode格式的二进制
bytes:
res=x.encode("GBK") #Unicode ------编码-------> gbk res.decode("GBK") #gbk--------解码--------->Unicode Python2中的字符串类型str/Unicode类型:
str===>文件头指定的编码格式存放的 #coding:GBK
x="上" #把"上"存成GBK格式二进制 Unicode
#coding:gbk
x=u"上" #把"上"存成Unicode格式二进制 2.文件处理
什么是文件?
1.文件是操作系统提供给用户/应用程序用于间接地操作硬盘的抽象的单位
为何要用文件?
1.为了将应用程序内存的数据永久保存到硬盘
如何用文件?
步骤:
1.打开文件
f = open(r'文件路径',mode='rt',encoding='utf-8')
2.读/写操作
f.read()
f.write()
3.关闭文件
f.close()
控制操作文件内容的两种模式(不能单独使用,必须与r\w\a连用)
t: 读写都是以字符串为单位(默认的),必须制定encoding参数
b: 读写都是以bytes类型为单位的,必须不指定encoding参数
打开文件的三种模式
r:只读模式
w:只写模式
a:只追加写模式 .replace() 方法用于在字符串中用一些字符替换成另一些字符,或替换一个与正则表达式匹配的子串。 今日内容:
1.控制文件内指针的移动
f.seek()
f.seek(offset,whence)有两个参数:
offset: 代表控制指针移动的字节数
whence:代表参照什么位置进行移动
whence = 0:参照文件开头(默认的),特殊???,可以在t和b模式下使用
whence = 1:参照当前所在的位置,必须在b模式下用
whence = 2:参照文件末尾,必须在b模式下用
f.tell() 查看几个字节
f.read(n)
文件内指针移动, 只有t模式下的read(n), n代表的字符的个数
除此以外文件内指针的移动都是以字节为单位
f,truncate(n) 截断文件
2.修改文件的两种方式
方式1:
1.将文件内容由硬盘读到内存
2.在内存中完成修改
3.将内存中修改后的结果覆盖写回硬盘
优点:在文件修改的过程中硬盘上始终一份数据
缺点:占用内存过多,不适用于大文件 方式2:
1.以读的方式打开源文件,以写的方式打开一个临时文件
2.从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕
3.删掉源文件,将临时文件重命名为源文件
优点:同一时刻在内存中只存在源文件的一行内容,不会过多地占用内存
缺点:在文件修改的过程中会出现源文件与临时文件共存,硬盘上同一时刻会有两份数据,即在修改的过程中会过多地占用硬盘
3.函数相关
函数的定义
1.什么是函数
函数就是具备某一功能的工具
2.为什么要用函数
2.1 程序的组织
3.如何用函数
函数的使用必须遵循的原则:先定义,后调用
修理工事先准备工具的过程即函数的定义
修理工遇到应用场景拿来工具就用即函数的调用 def:定义函数的关键字
函数名:就相当于一个变量名,指向函数的内存地址,
注意:函数的内存地址加()就可以触发函数体代码的执行 函数的调用:
函数的使用分为两个阶段:
定义阶段: 只检测语法,不执行代码
调用阶段: 运行函数体代码
语法:
def 函数名(参数1,参数2,....):
'''
文档注释
:param 参数1:
:param 参数2:
:return:
'''
......
return 返回值 函数的返回值:
return : 函数体代码块运行的成果
函数的参数:
参数就是函数的调用者为函数体代码传值的媒介,在Python中函数的参数无需声明类型
定义时无参数,意味着调用时也无需传入参数 定义无参函数:
当函数体的代码逻辑不依赖任何传入的值就能执行,就不需要定义参数
定义有参函数:
当函数体的代码逻辑依赖于外部调用者传入的值才能执行,必须定义参数用来接收外部传入的值

Python 文件修改-函数介绍的更多相关文章

  1. [原创] Delphi Win API函数 操作帮助文件 HtmlHelpA函数介绍

    Delphi Win API函数 操作帮助文件 HtmlHelpA函数介绍 函数原型:HWND HtmlHelpA( HWND hwndCaller, LPCSTR pszFile, UINT uCo ...

  2. python文件修改 核心5步,函数实现修改任意文件内容

    文件修改 核心5步1.以读的模式打开原文件,产生句柄f12.以写的模式打开一个新文件,产生句柄f23.读取原文件的内容并将原文件需要替换的内容修改写入到新文件4.删除原文件5.把新文件重名了成原文件 ...

  3. Python文件操作函数os.open、io.open、内置函数open之间的关系

    Python提供了多种文件操作方式,这里简单介绍os.open.io.open.内置函数open之间的关系: 一.内置函数open和io.open实际上是同一个函数,后者是前者的别名: 二.os.op ...

  4. Python文件修改和常用方法

    为了更好地说明接下来的文件修改操作,我们有必要先来学习下文件操作的常用方法. 一.文件处理中的常用方法 #!/usr/bin/env python3 #-*- coding:utf-8 -*- # w ...

  5. python中修改函数内部的变量会发生什么

    最近写python遇到个函数内部变量使用外部变量的问题,现在总结下吧 #!/usr/bin/env python a = 100def su(): a = a + 1 print(a) s = su( ...

  6. Python 文件操作函数

    这个博客是 Building powerful image classification models using very little data 的前期准备,用于把图片数据按照教程指示放到规定的文 ...

  7. Python文件与函数练习题

    练习题 文件处理相关 编码问题 请说明python2 与python3中的默认编码是什么? python2默认是ASCII码,python3默认是utf-8 为什么会出现中文乱码?你能列举出现乱码的情 ...

  8. C文件读写函数介绍(转)

    1.fopen() fopen的原型是:FILE *fopen(const char *filename,const char *mode),fopen实现三个功能:为使用而打开一个流,把一个文件和此 ...

  9. Python中的函数介绍

    调用函数 python中有很多内置函数,我们可以直接调用,内置函数能直接在官网查看:https://docs.python.org/3/library/functions.html#abs 定义函数 ...

随机推荐

  1. HO引擎近况20160710

    这次没有忘记,其实也忘了,只不过刚好碰上我换浏览器,正好想起来这事! 我把用了很长一段时间的chrome浏览器换成搜狗浏览器了,好多网站原先记住的用户名和密码都没有了我还需要重新输入! 今天再放一段美 ...

  2. bzoj 1499: [NOI2005]瑰丽华尔兹【dp+单调队列】

    设f[a][i][j]为第a段时间结束时在(i,j)位置的最长滑行距离,转移很好想,就是分四个方向讨论,然后枚举这段时间的滑行长度取个max即可 但是这样是O(n^4)的,考虑优化 发现同一行或列,取 ...

  3. poj 2396 Budget【有上下界的网络流】

    第一步:建立无源汇有上下界的网络模型 每行 i 作为一个点并连边(s, i, Ri, Ri),每列 j 作为一个点并连边(j, t, Cj, Cj),设 Uij, Lij 分别表示第 i 行第 j 列 ...

  4. logstsh | logstash-input-jdbc 启动错误收集

    1: Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :excepti ...

  5. Lightoj 1174 - Commandos (bfs)

    题目链接: Lightoj  1174 - Commandos 题目描述: 有一军队秉承做就要做到最好的口号,准备去破坏敌人的军营.他们计划要在敌人的每一个军营里都放置一个炸弹.军营里有充足的士兵,每 ...

  6. _bzoj1007 [HNOI2008]水平可见直线【单调栈】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1007 按斜率排序,去掉斜率相同时,截距较小的直线(即只保留该斜率下截距最大的直线).若当前直 ...

  7. 题解报告:hdu 1159 Common Subsequence(最长公共子序列LCS)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1159 Problem Description 给定序列的子序列是给定的序列,其中有一些元素(可能没有) ...

  8. C. Dasha and Password 预处理 + dp

    http://codeforces.com/contest/761/problem/C 对于每一个字符串,可以预处理出其到达数字,字母,和特殊符号所需的最小步数. 然后就是在n个东西中,选出数字.字母 ...

  9. .vimrc文件配置及含意

    1.  vimrc文件常见语句释义 设定 tab 的位置          :set tabstop=4 输入 tab 时自动将其转化为空格          :set expandtab       ...

  10. easy ui diglog 点击关闭,触发事件

    $('#dialogDiv').dialog({ onClose:function(){ alert('11111111') ; }});