1. 一.文件
    1.文件就是操作系统提供给应用程序来操作硬盘虚拟概念,用户或应用程序通过操作文件,
    可以将自己的数据永久保存下来。
  2.  
  3. 2.操作流程
    #1. 打开文件,得到文件句柄并赋值给一个变量--f = open('xx.txt',mode= '',encoding='')
    #2. 通过句柄对文件进行操作 只读f.read r模式-- 直写f.write w模式---只追加写 a模式
    #3. 关闭文件 f.close
  4.  
  5. python中:
    #1. 打开文件,得到文件句柄并赋值给一个变量
    f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
  6.  
  7. #2. 通过句柄对文件进行操作
    data=f.read()
  8.  
  9. #3. 关闭文件
    f.close()
  10.  
  11. 二:f=open('a.txt','r')的过程分析
  12.  
  13. #1、由应用程序向操作系统发起系统调用open(...)
  14.  
  15. #2、操作系统打开该文件,并返回一个文件句柄给应用程序
  16.  
  17. #3、应用程序将文件句柄赋值给变量f
  18.  
  19. 强调:
    1.文件关闭与资源回收
    打开一个文件消耗两部分资源:
    1,操作系统打开的文件
    2,应用程序的变量
    在操作完毕一个文件时,必须把与该文件的这两部分资源一个不落地回收,回收方法为:
    1f.close() #回收操作系统级打开的文件
    2del f #回收应用程序级的变量(必须发生在f.close之后,python垃圾回收机制,我们
    必须要考虑应用程序的变量的回收)
  20.  
  21. 1.1.省略f.close,使用with关键字来管理上下文,实现自动的f.close
    with open('a.txt','w') as f:
    pass
  22.  
  23. with open('a.txt','r') as read_f,open('b.txt','w') as write_f:
    data=read_f.read()
    write_f.write(data)
  24.  
  25. 2.f = open() 打开文件的字符编码类型
    没有指定的情况下:windows平台--GBK
    Linux平台--utf-8
  26.  
  27. 三.打开文件的模式
    打开文件的模式有(默认为文本模式):
    r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    f.read() #读取所有内容,光标移动到文件末尾
    f.readline() #读取一行内容,光标移动到第二行首部
    f.readlines() #读取每一行内容,存放于列表中
  28.  
  29. w,只写模式【不可读;不存在则创建;存在则清空内容】
    f.write('1111\n222\n') #针对文本模式的写,需要自己写换行符
    f.writelines(['333\n','444\n']) #文件模式
  30.  
  31. a 之追加写模式【不可读;不存在则创建;存在则只追加内容】
    f.write('1111\n222\n') #针对文本模式的写,需要自己写换行符
    f.writelines(['333\n','444\n']) #文件模式

python之路--day6---文件处理的更多相关文章

  1. (转)Python之路,Day6 - 面向对象学习

    本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战> ...

  2. 转:Python之路,Day6 - 面向对象学习

    这篇文章写的不错,转来收了 转自:http://www.cnblogs.com/alex3714/articles/5188179.html   本节内容:   面向对象编程介绍 为什么要用面向对象进 ...

  3. 十一Python之路,Day6 - 面向对象学习

      本节内容:   面向对象编程介绍 为什么要用面向对象进行开发? 面向对象的特性:封装.继承.多态 类.方法.     引子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战& ...

  4. Python之路,Day6 - Python基础6

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  5. Python之路Day6

    Day6的主要内容是: configparser模块 shutil模块 subprocess模块 处理xml的模块 1.configparser模块 #! /usr/bin/env python # ...

  6. Python之路 day2 文件基础操作

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa ''' #f,文件句柄;模式 a : append 追加文件内容 f = open( ...

  7. python之路-Day6

    time & datetime模块 #_*_coding:utf-8_*_ __author__ = 'Alex Li' import time # print(time.clock()) # ...

  8. 小白的Python之路 day2 文件操作

    文件操作 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1 ...

  9. python之路(五)-文件操作

    文件操作无非两个,即:读.写 python 2.x: 文件句柄 = file('文件路径', '模式') python3.x: 文件句柄 = open('文件路径', '模式') 打开文件的模式有: ...

  10. python之路07文件处理

    一    操作文件的方法: f.read() #读取所有内容,光标移动到文件末尾 f.readline() #读取一行内容,光标移动到第二行首部 f.readlines() #读取每一行内容,存放于列 ...

随机推荐

  1. CSS黄金三段--消除边框的影响

    以前常常因为padding.margin等影响了整个边框的大小,只能傻傻的算大小.现在的黄金三段真的是帮了大忙了,下面的代码放在CSS相应的内容中,就可以使得边框的大小就是你设置的width的属性值. ...

  2. Cannot find a valid baseurl for repo: base

    Linux下执行yum命令的时候一直报错:Cannot find a valid baseurl for repo: base 网上找了好多办法都没有解决... 我之前也遇到过一次, vi /etc/ ...

  3. jqgrid 同列不同行的<select>不相同

    如图下所示: 简述原理:设置好表格 所需的字段变量以及字段属性,从后台获取j数据后,在js文件中把数据组合成json格式的字符串,利用字段属性把json数据转换成select,就能实现同列不同行sel ...

  4. 团体程序设计天梯赛 L1-034.点赞

    描述 微博上有个"点赞"功能,你可以为你喜欢的博文点个赞表示支持.每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性.本题就要求你写个程序,通过统计一个人 ...

  5. ADS协议变量配置界面

    ADS协议是倍福产品的通信协议,在双击ADS协议图标后打开如下图的配置窗口. 变量配置表中各列的含义: 报警类型: 脚本: 当设置了报类型时,在运行时如果变量值引发报警时将执行一次脚本.例如 大于报警 ...

  6. git团队协作

    hi,team,我们目前使用的是git做项目管理,它是非常优秀的版本控制工具,使用好可以极大提高我们团队开发效率.但是,出现不必要的冲突和代码丢失就要费时解决这些可避免的问题. git开发流程 这个流 ...

  7. [Oracle] UNIX与Windows 2000上Oracle的差异(III)

    作者:Ian Adam & David Stien, SAIC Ltd 日期:19-Dec-2003 出处:http://www.dbanotes.net翻译:Fenng ORACLE 的安装 ...

  8. DBI-1.634之selectrow_array与fetchrow_array的区别

    在DBI-1.634使用手册里有一个selectrow_array函数,该函数具体说明如下: This utility method combines "prepare", &qu ...

  9. oracle session数激增排查过程

    我们的生产系统使用的是oracle 11G RAC,昨天突然收到微信告警通知session数达到450个,平时的session数在200个左右. select username,status,mach ...

  10. 【Bootstrap】 一些提示信息插件

    前端总是会有很多信息提示的时候,最简单的可以用javascript自带的alert,confirm等.这些虽然和js的配合很好,但是很丑. bootstrap给我们提供了一些不同的方案比如modal的 ...