一打开文件

二操作文件

三关闭文件

open(文件,模式,编码),打开文件----->0101010(以二进制的方式打开)------>编码(open默认utf-8编码)------>显示

  • r ,只读模式【默认】
  • w,只写模式【不可读;不存在则创建;存在则清空内容;】
  • x, 只写模式【不可读;不存在则创建,存在则报错】
  • a, 追加模式【可读;   不存在则创建;存在则只追加内容;】

"+" 表示可以同时读写某个文件

  • r+, 读写【可读,可写】指针在起始位置
  • w+,写读【可读,可写】指针在起始位置
  • x+ ,写读【可读,可写】指针在起始位置
  • a+, 写读【可读,可写】读取的时候指针会在最后这样就是追加文件内容,如果此时读取文件内容,那么将显示空

"b"表示以字节的方式操作,注意b是操作字节这里就不需要编码了。打开文件----------->010101010--------->显示。这里没有编码过程。要是想显示出来就的将二进制转成特定的编码才可以。str("二进制对象001010101",encoding="utf-8"),这样就对二进制进行了编码翻译我们就可以正常读取了。

  • rb  或 r+b
  • wb 或 w+b
  • xb 或 w+b
  • ab 或 a+b

注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型.bytes("你好",encoding="utf-8")将字符串转换成二进制

r/w/x/a  =>字符串格式

rb/wb/xb/ab => 字节类型(二进制)soket

中文占用3个字符,

查看指针

f.open('xxxx.log','a',encoding='utf-8')

f.tall()

调整指针位置

f.seek(num)

文件方法介绍:

  1. class file(object):
  2. """
  3. file(name[, mode[, buffering]]) -> file object
  4.  
  5. Open a file. The mode can be 'r', 'w' or 'a' for reading (default),
  6. writing or appending. The file will be created if it doesn't exist
  7. when opened for writing or appending; it will be truncated when
  8. opened for writing. Add a 'b' to the mode for binary files.
  9. Add a '+' to the mode to allow simultaneous reading and writing.
  10. If the buffering argument is given, 0 means unbuffered, 1 means line
  11. buffered, and larger numbers specify the buffer size. The preferred way
  12. to open a file is with the builtin open() function.
  13. Add a 'U' to mode to open the file for input with universal newline
  14. support. Any line ending in the input file will be seen as a '\n'
  15. in Python. Also, a file so opened gains the attribute 'newlines';
  16. the value for this attribute is one of None (no newline read yet),
  17. '\r', '\n', '\r\n' or a tuple containing all the newline types seen.
  18.  
  19. 'U' cannot be combined with 'w' or '+' mode.
  20. """
  21. def close(self): # real signature unknown; restored from __doc__
  22. 关闭文件
  23. pass
  24.  
  25. def fileno(self): # real signature unknown; restored from __doc__
  26. 文件描述符,这个在soket io中会有用,检测文本或soket是否有变化就是靠这个
  27. return 0
  28.  
  29. def flush(self): # real signature unknown; restored from __doc__
  30. 将内存数据刷新到硬盘
  31. pass
  32.  
  33. def isatty(self): # real signature unknown; restored from __doc__
  34. 判断文件是否是同意tty设备
  35. return False
  36.  
  37. def next(self): # real signature unknown; restored from __doc__
  38. 获取下一行数据,不存在,则报错
  39. pass
  40.  
  41. def read(self, size=None): # real signature unknown; restored from __doc__
  42. 读取数据,可以选择读取的字符串或字节大小
  43. pass
  44.  
  45. def readinto(self): # real signature unknown; restored from __doc__
  46. 读取到缓冲区,不要用,将被遗弃
  47. pass
  48.  
  49. def readline(self, size=None): # real signature unknown; restored from __doc__
  50. 仅读取一行数据,节约内存资源
  51. pass
  52.  
  53. def readlines(self, size=None): # real signature unknown; restored from __doc__
  54. 读取所有数据,并根据换行保存值列表
  55. return []
  56.  
  57. def seek(self, offset, whence=None): # real signature unknown; restored from __doc__
  58. 指定文件中指针位置
  59. pass
  60.  
  61. def tell(self): # real signature unknown; restored from __doc__
  62. 获取指针位置
  63. pass
  64.  
  65. def truncate(self, size=None): # real signature unknown; restored from __doc__
  66. 截取数据,截取指针位置之前的数据
  67. pass
  68.  
  69. def write(self, p_str): # real signature unknown; restored from __doc__
  70. 写入数据
  71. pass
  72.  
  73. def writelines(self, sequence_of_strings): # real signature unknown; restored from __doc__
  74. 将一个字符串列表写入文件
  75. pass
  76.  
  77. def xreadlines(self): # real signature unknown; restored from __doc__
  78. 可用于逐行读取文件,非全部
  79. pass

python2.7 file

提示:x.read()一次性读取所有数据到内存,如果对象很大那么这样做很不好

下面的方法也是一行一行读取

a=f.open("xxx.log",'r')

for line in a:

print line

with 方法读写文件

with open('xxx.log','r') as f:    等同于 a=f.open("xxx.log",'r')

f.read()

使用with 不需要写close,它会帮你自己动关闭

在python2.6以后with同时可以打开2个文件

with open('xxx.log','r') as f,with open('xxx.log1','r') as f1:

open -python操作文件的更多相关文章

  1. Python操作文件、文件夹、字符串

    Python 字符串操作 去空格及特殊符号 s.strip().lstrip().rstrip(',') 复制字符串 #strcpy(sStr1,sStr2) sStr1 = 'strcpy' sSt ...

  2. Python操作文件和目录

    Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...

  3. python操作文件练习,配置haproxy

    在使用python操作文件的时候,特别是对于网络设备,通常操作配置文件,会简化配置量,配置文件加载到内存中,运行时使用的是内存中的配置,内存中配置修改后立即生效,如果不将配置内容保存到硬盘中,则下次重 ...

  4. Python操作文件-20181121

    Python操作文件 Python操作文件和其他语言一样,操作的过程无非是先定位找到文件.打开文件,然后对文件进行操作,操作完成后关闭文件即可. 文件操作方式:对文件进行操作,主要就是读.写的方式,p ...

  5. 使用python操作文件实现购物车程序

    使用python操作文件实现购物车程序 题目要求如下: 实现思路 始终维护一张字典,该字典里保存有用户账号密码,购物车记录等信息.在程序开始的时候读进来,程序结束的时候写回文件里去.在登录注册的部分, ...

  6. 用Python操作文件

    用Python操作文件 用word操作一个文件的流程如下: 1.找到文件,双击打开. 2.读或修改. 3.保存&关闭. 用Python操作文件也差不多: f=open(filename) # ...

  7. python操作文件案例二则

    前言 python 对于文件及文件夹的操作. 涉及到 遍历文件夹下所有文件 ,文件的读写和操作 等等. 代码一 作用:查找文件夹下(包括子文件夹)下所有文件的名字,找出 名字中含有中文或者空格的文件 ...

  8. Python操作文件文档

    需要帮老师将44G的图书分类一下,人工当然累死了.所以用Python大法处理一下. 思路是读取文件目录下的书名,然后去百度百科查分类,如果还没有就去豆瓣,当当查.哪一个先找到其余的就不用找了.如果没有 ...

  9. Python 操作文件、文件夹、目录大全

    # -*- coding: utf-8 -*- import os import shutil # 一. 路径操作:判断.获取和删除 #1. 得到当前工作目录,即当前Python脚本工作的目录路径: ...

随机推荐

  1. Atcoder #014 agc014_D 树形DP+nim变形

    LINK 题意:两人在一颗树上做游戏,先手可以将树上一个节点染白,后手染黑,到最后时,所有与黑色相邻的白色同时变黑.如果还存在白色,先手胜,否则后手胜. 思路:首先不考虑树上,单独为链时,不管找规律也 ...

  2. MongoDB - MongoDB CRUD Operations, Query Documents, Query for Null or Missing Fields

    Different query operators in MongoDB treat null values differently. The examples on this page use th ...

  3. 详细说说如何生成验证码—ASP.NET细枝末节(4)

    前言 今天小编详细的说一下,ASP.NET网站开发过程中生成验证码的全部问题. 本文的目标,是让读者了解,生成验证码涉及的全部基础知识问题. 当然这里说的是比较简单的验证码. 真正符合要求的验证码,涉 ...

  4. python3之json模块使用

    1. json模块介绍 json是python自带的操作json的模块. python序列化为json时的数据类型转换关系: python格式 json格式 dict(复合类型) object lis ...

  5. 60、简述 yield和yield from关键字。

    1.可迭代对象与迭代器的区别 可迭代对象:指的是具备可迭代的能力,即enumerable.  在Python中指的是可以通过for-in 语句去逐个访问元素的一些对象,比如元组tuple,列表list ...

  6. G6踩坑日记

    用G6去完成一整个图例的时候,当包裹它的容器满足不了包裹的需求时,我们就需要引入缩略图来解决问题了 缩略图使用方式很简单 引入插件配置就可以了 当我们使用多张图片进行绘图(G6支持使用图片进行构图,原 ...

  7. discuz2.5登录后台闪退的解决办法

    今天突然发现discuz2.5论坛后台进不去,开始以为密码错了,但发现登录后也是闪退.我试着清除浏览器cookie,也换了其他浏览器也没有用,还是上网找找吧! discuz2.5进入后台闪退的原因: ...

  8. Linux下的压缩解压缩

    Linux下最常用的打包程序就是tar了,使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的.生成tar包后,就可以用其它的程序来进  行压缩了,所以首先就来讲讲t ...

  9. Git远程操作详解【转】

    转自:http://www.ruanyifeng.com/blog/2014/06/git_remote.html 作者: 阮一峰 日期: 2014年6月12日 Git是目前最流行的版本管理系统,学会 ...

  10. Python 中的闭包与装饰器

    闭包(closure)是函数式编程的重要的语法结构.闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性. 如果在一个内嵌函数里,对在外部函数内(但不是在全局作用域)的变量进行引用,那么内嵌函数 ...