1. 上节课复习:
    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
  2.  
  3. res.decode("GBK") #gbk--------解码--------->Unicode
  4.  
  5. Python2中的字符串类型str/Unicode类型:
    str===>文件头指定的编码格式存放的
  6.  
  7. #coding:GBK
    x="上" #把"上"存成GBK格式二进制
  8.  
  9. Unicode
    #coding:gbk
    x=u"上" #把"上"存成Unicode格式二进制
  10.  
  11. 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:只追加写模式
  12.  
  13. .replace() 方法用于在字符串中用一些字符替换成另一些字符,或替换一个与正则表达式匹配的子串。
  14.  
  15. 今日内容:
    1.控制文件内指针的移动
    f.seek()
    f.seek(offset,whence)有两个参数:
    offset: 代表控制指针移动的字节数
    whence:代表参照什么位置进行移动
    whence = 0:参照文件开头(默认的),特殊???,可以在tb模式下使用
    whence = 1:参照当前所在的位置,必须在b模式下用
    whence = 2:参照文件末尾,必须在b模式下用
    f.tell() 查看几个字节
    f.read(n)
    文件内指针移动, 只有t模式下的read(n), n代表的字符的个数
    除此以外文件内指针的移动都是以字节为单位
    f,truncate(n) 截断文件
    2.修改文件的两种方式
    方式1:
    1.将文件内容由硬盘读到内存
    2.在内存中完成修改
    3.将内存中修改后的结果覆盖写回硬盘
    优点:在文件修改的过程中硬盘上始终一份数据
    缺点:占用内存过多,不适用于大文件
  16.  
  17. 方式2:
    1.以读的方式打开源文件,以写的方式打开一个临时文件
    2.从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕
    3.删掉源文件,将临时文件重命名为源文件
    优点:同一时刻在内存中只存在源文件的一行内容,不会过多地占用内存
    缺点:在文件修改的过程中会出现源文件与临时文件共存,硬盘上同一时刻会有两份数据,即在修改的过程中会过多地占用硬盘
    3.函数相关
    函数的定义
    1.什么是函数
    函数就是具备某一功能的工具
    2.为什么要用函数
    2.1 程序的组织
    3.如何用函数
    函数的使用必须遵循的原则:先定义,后调用
    修理工事先准备工具的过程即函数的定义
    修理工遇到应用场景拿来工具就用即函数的调用
  18.  
  19. def:定义函数的关键字
    函数名:就相当于一个变量名,指向函数的内存地址,
    注意:函数的内存地址加()就可以触发函数体代码的执行
  20.  
  21. 函数的调用:
    函数的使用分为两个阶段:
    定义阶段: 只检测语法,不执行代码
    调用阶段: 运行函数体代码
    语法:
    def 函数名(参数1,参数2,....):
    '''
    文档注释
    :param 参数1:
    :param 参数2:
    :return:
    '''
    ......
    return 返回值
  22.  
  23. 函数的返回值:
    return : 函数体代码块运行的成果
    函数的参数:
    参数就是函数的调用者为函数体代码传值的媒介,在Python中函数的参数无需声明类型
    定义时无参数,意味着调用时也无需传入参数
  24.  
  25. 定义无参函数:
    当函数体的代码逻辑不依赖任何传入的值就能执行,就不需要定义参数
    定义有参函数:
    当函数体的代码逻辑依赖于外部调用者传入的值才能执行,必须定义参数用来接收外部传入的值

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. bzoj 3503: [Cqoi2014]和谐矩阵【高斯消元】

    如果确定了第一行,那么可以推出来整个矩阵,矩阵合法的条件是n+1行全是0 所以推出来n+1行和1行的关系,然后用异或高斯消元来解即可 #include<iostream> #include ...

  2. P4412 [SHOI2004]最小生成树

    传送门 不难发现,对于每一条树边肯定要减小它的权值,对于每一条非树边要增加它的权值 对于每一条非树边\(j\),他肯定与某些树边构成了一个环,那么它的边权必须大于等于这个环上的所有边 设其中一条边为\ ...

  3. 洛谷P4303 [AHOI2006]基因匹配(树状数组)

    传送门 我已经连这种傻逼题都不会了orz 正常的dp是$O(n^2)$的,枚举第一个数组的$j$,然后第二个数组的$k$,如果相等,则$dp[i]=dp[j]+1$,否则$dp[i]=dp[j]$ 然 ...

  4. 【HDU - 1241】Oil Deposits(dfs+染色)

    Oil Deposits Descriptions: The GeoSurvComp geologic survey company is responsible for detecting unde ...

  5. (图论)51NOD 1212 无向图最小生成树

    N个点M条边的无向连通图,每条边有一个权值,求该图的最小生成树. 输入 第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量.(2 <= N <= 1000, 1 <= M ...

  6. [浏览器美化]去除 Firefox 当前选中标签页顶端的线条

    Firefox 当前选中的标签页的最上方会显示有一条线,我觉得很丑,如图: 在地址栏输入 about:support ,然后点击打开目录. 在此目录中创建一个 chrome 文件夹(若没有),然后进入 ...

  7. 第一篇(那些JAVA程序BUG中的常见单词)

    The local variable xxx may not have been initialized. 局部变量xxx可能尚未初始化 local variable 局部变量 initialized ...

  8. 进击的Python【第十四章】:Web前端基础之Javascript

    进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编 ...

  9. 51nod 1138 连续整数的和

    1138 连续整数的和  基准时间限制:1 秒 空间限制:131072 KB 分值: 10 难度:2级算法题  收藏  关注 给出一个正整数N,将N写为若干个连续数字和的形式(长度 >= 2). ...

  10. 《linux就该这么学》学习笔记

    本篇文章是根据刘遄老师的<linux就该这么学>中个人易忘知识点的读书笔记,结合的是个人弱点,可能不适合广大的网友同学,并在此声明本篇文章只是用于学习之用,绝无侵犯版权之意 linux就该 ...