今日学习内容

1、文件重写方法

2、函数基本知识

文件处理:

打开文件

读/写文件

关闭文件

文件指针移动,只有t模式下的read(n),n代表的字符个数其余都是以字节为单位

f.seek有两个参数(offset whence)可以在t和b模式下用

offset:代表控制指针移动的字节数,在b模式下用

whence:代表参照什么位置进行移动,在b模式下用

  whence:0文件开头

  whence:1当前指针位置

  whence:2文件末尾

文件修改的两种方式:

方式一:

  1、将文件内容全部读入内存

  2、在内存中完成修改

  3、将内存中修改的内容覆盖原有内容

  优:在硬盘上只有一份数据

  缺点:占用内存过多

# with open(r'E:\code\GoodDog\day08\yuan',mode='rt',encoding='utf-8')as f_r:
# all_msg=f_r.read()
# print()
# with open(r'E:\code\GoodDog\day08\yuan',mode='wt',encoding='utf-8')as f_w:
# f_w.write(all_msg.replace('123','yxf'))

方式二:

  1、以读的方式打开源文件,以写的方式打开一个临时文件

  2、从源文件中每读一样内容修改完毕后写入临时文件,直到源文件读取完毕

  3、删除原文件,将临时文件名重命名为原文件名

  优点:节省内存,不占用过多内存

  缺点:在硬盘上同一时间会有两份数据,会占用过多的硬盘

# with open('E:\code\GoodDog\day08\yuan',mode='rt',encoding='utf-8') as f_r,open('E:\code\GoodDog\day08\yuan2',mode='at',encoding='utf-8') as f_w:
# for i in f_r:
# f_w.write(i.replace('yxf','123'))

  

函数基本知识:

  1、什么是函数?

    具备某一功能的工具

    函数的原则:先定义后调用

  2、为什么要用函数?

    1、程序的组织不清晰,可读性差

    2、代码冗余

    3、可扩展性差

  3、如何用函数?

    def 函数名(参数一,参数二...)

      文档注释(可写可不写)

      code1

      code2

      return 返回值

    定义阶段:检查语法

    调用阶段:运行代码

												

day08(补)的更多相关文章

  1. Oracle补全日志(Supplemental logging)

    Oracle补全日志(Supplemental logging)特性因其作用的不同可分为以下几种:最小(Minimal),支持所有字段(all),支持主键(primary key),支持唯一键(uni ...

  2. Android动画效果之Tween Animation(补间动画)

    前言: 最近公司项目下个版本迭代里面设计了很多动画效果,在以往的项目中开发中也会经常用到动画,所以在公司下个版本迭代开始之前,抽空总结一下Android动画.今天主要总结Tween Animation ...

  3. python 添加tab补全

    在平时查看Python方法用到tab补全还是很方便的. 1. mac 平台 配置如下: mac是类Unix平台,需要在添加一条配置内容到bash_profile 中(默认是没有这个文件,可以新建一个放 ...

  4. 记录一次bug解决过程:else未补全导致数据泄露和代码优化

    一.总结 快捷键ctrl + alt + 四个方向键 --> 倒置屏幕 未补全else逻辑,倒置查询数据泄露 空指针是最容易犯的错误,数据的空指针,可以普遍采用三目运算符来解决 SVN冲突解决关 ...

  5. android 帧动画,补间动画,属性动画的简单总结

      帧动画——FrameAnimation 将一系列图片有序播放,形成动画的效果.其本质是一个Drawable,是一系列图片的集合,本身可以当做一个图片一样使用 在Drawable文件夹下,创建ani ...

  6. 关于用sql语句实现一串数字位数不足在左侧补0的技巧

    在日常使用sql做查询插入操作时,我们通常会用到用sql查询一串编号,这串编号由数字组成.为了统一美观,我们记录编号时,统一指定位数,不足的位数我们在其左侧补0.如编号66,我们指定位数为5,则保存数 ...

  7. jQuery 邮箱下拉列表自动补全

    综述 我想大家一定见到过,在某个网站填写邮箱的时候,还没有填写完,就会出现一系列下拉列表,帮你自动补全邮箱的功能.现在我们就用jQuery来实现一下. 博主原创代码,如有代码写的不完善的地方还望大家多 ...

  8. 为什么FFT时域补0后,经FFT变换就是频域进行内插?

    应该这样来理解这个问题: 补0后的DFT(FFT是DFT的快速算法),实际上公式并没变,变化的只是频域项(如:补0前FFT计算得到的是m*2*pi/M处的频域值, 而补0后得到的是n*2*pi/N处的 ...

  9. eclipse自动补全的设置

    eclipse自动补全的设置   如果你用过Visual Studio的自动补全功能后,再来用eclipse的自动补全功能,相信大家会有些许失望. 但是eclipse其实是非常强大的,eclipse的 ...

随机推荐

  1. VS C#文件的复制

    /// <summary> /// 复制目录 /// </summary> /// <param name="OldDirectoryPath"> ...

  2. JS 词法作用域 p2

    关于js 还是写的简短些,利于个人理解: 先看一个例子: var a = 2; function fn(){ var a = 3; console.log(a); } fn(a); 说明:作用域查找会 ...

  3. PDO中的预处理

    PDO中的基本的原理和步骤和MySQL中的预处理都是一样的,只不过就是把MySQL中的预处理所有命令行的语法封装成了PDO对象的几个公开的方法而已! 1.发送预处理语句 此时,我们需要调用pdo对象的 ...

  4. 解读 --- 基于微软企业商务应用平台 (Microsoft Dynamics 365) 之上的人工智能 (AI) 解决方案

    9月25日微软今年一年一度的Ignite 2017在佛罗里达州奥兰多市还是如期开幕了.为啥这么说?因为9月初五级飓风厄玛(Hurricane Irma) 在佛罗里达州登陆,在当地造成了挺大的麻烦.在这 ...

  5. List常用几种方式

    第一种,匹配俩个集合中相同的值 , , , , , , }; , , , , , , , , }; var C= listA.Intersect(listB); foreach (var item i ...

  6. NodeJS配置TaoBao源

    npm install -g cnpm --registry=https://registry.npm.taobao.org

  7. python学习笔记之——操作mysql数据库

    Python 标准数据库接口为 Python DB-API,Python DB-API为开发人员提供了数据库应用编程接口. Python 数据库接口支持非常多的数据库,你可以选择适合你项目的数据库: ...

  8. Zabbix 添加主机,获取模板templateID

    添加一个Host Name=Mail CAS_1.1,IP=10.16.3.4的主机,并加入组groupID=30,连接模板templateID=10132. # -*- coding: UTF-8 ...

  9. python urllib库

    python2和python3中的urllib urllib提供了一个高级的 Web 通信库,支持基本的 Web 协议,如 HTTP.FTP 和 Gopher 协议,同时也支持对本地文件的访问. 具体 ...

  10. 熟悉LINUX系统

    常用的Shell命令 当用户登录到字符界面系统或使用终端模拟窗口时,就是在和称为shell的命令解释程序进行通信.当用户在键盘上输入一条命令时,shell程序将对命令进行解释并完成相应的动作.这种动作 ...