1  首先要明确的是,文件只是连续的字节。

数据的传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成。

2  打开文件之门的钥匙——open()

open()内建函数成功打开文件后会返回一个文件对象。基本语法如下:

file_object = open(file_name, access_mode='r', buffering=-1)

需要注意的是,当access_mode = ‘w’时,若所指定的文件已经存在,则python会先清空这个文件,然后再等待执行写操作。所以如果是修改文件,应该用'a'

open()方法执行并返回一个文件对象之后,所有对该文件的后续操作都将通过这个“句柄”进行。

3  readline()方法:读取打开文件的一行,包括行结束符,作为字符串返回。

readlines()方法会读取剩余的所有行,然后把它们作为一个字符串列表返回。

write()方法:把含有文本数据或二进制数据块的字符串写入到文件中。

writelines()方法:针对列表的操作,接受一个字符串列表作为参数,将它们写入文件。    注意:行结束符并不会被自动加入。

注意:当使用输入方法如read()或者readline()从文件中读取行时,python并不会删除行结束符。因此需要这样写:

f = open('myFile', 'r')
data = [line.strip() for line in f.readlines()]
f.close()

类似的,输出方法write()或writelines()也不会自动加入行结束符。

4  seek()方法:在文件中移动文件文件指针到不同的位置。offset字节代表相对于某个位置偏移量,默认值0代表从文件开头算起,1代表从当前位置算起,2代表从文件末尾算起。  那当offset为1时,如何知道当前的文件指针在什么位置呢,这个由text()方法来实现。

5  文件迭代

for eachLine in f:

# 下面的也可以,但不是通过迭代器实现,不如上面的代码高效

for eachLine in f.readline() 

6  关于换行符

print语句默认在输出内容末尾后加一个换行符,而在语句后加一个逗号就可以避免这样的行为。

python的文件对象(1)的更多相关文章

  1. python基础===文件对象的访问模式,以及计数循环的使用方法

    案例一: 一个几M的文本文件,需要每隔100行写到新的文件中. 代码实现如下: with open(r'f:\book.txt','rb') as f1: with open(r'f:\book2.t ...

  2. Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象

    15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...

  3. python 将文件描述符包装成文件对象

    有一个对应于操作系统上一个已打开的I/O 通道(比如文件.管道.套接字等)的整型文件描述符,你想将它包装成一个更高层的Python 文件对象. 一个文件描述符和一个打开的普通文件是不一样的.文件描述符 ...

  4. Python 读写文件和file对象(转)

    1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...

  5. Python自动化运维之4、格式化输出、文件对象

    Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[P ...

  6. Python 文件对象

    Python 文件对象 1) 内置函数 open() 用于打开和创建文件对象 open(name,[,mode[,bufsize]]) 文件名.模式.缓冲区参数 mode: r 只读 w 写入 a 附 ...

  7. Python StringIO与BytesIO、类文件对象

    StringIO与BytesIO StringIO与BytesIO.类文件对象的用途,应用场景,优.缺点. StringIO StringIO 是io 模块中的类,在内存中开辟的一个文本模式的buff ...

  8. 4、Python文件对象及os、os.path和pickle模块(0530)

    文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...

  9. Python(六)之文件对象

    Python文件对象 明确文件系统: 获取文件对象: var_name = open(file_name[mode,[bufsize]]) 缓冲: 0:禁用 1:使用缓冲,只缓冲一行数据 2+:指定缓 ...

随机推荐

  1. ruby gems列表

    https://github.com/shageman/cobradeps

  2. javascript中数组的方法你真的都了解吗?

    本篇文章主要讲述ES5中的数组,包括数组两种创建方式,属性,以及 9 大类 ,总共23个操作方法,非常全面,看完之后ES5数组这一部分基本都了解了,下一篇文章,我会讲述ES6中对数组的加成,新增了哪些 ...

  3. java几个经典的算法题目----------查询子串和等于已知数字

    给出一个排序好的数组和一个数,求数组中连续元素的和等于所给数的子数组 public class testClockwiseOutput { public static void main(String ...

  4. 数据库SQLITE3初识

    数据库DataBase,我们都没有接触过数据库,那么数据库是什么? 它是一个有结构的.集成的.可共享的统一管理的数据集合! 所谓有结构的,指的是数据是按一定的模型组织起来的. 简单的说,拿个箱子,用隔 ...

  5. mysql 最小配置 及 安装

    [mysqld] # 设置3306端口 port= # 设置mysql的安装目录 basedir=D:\-Installer\-MySQL\mysql--winx64 # 设置mysql数据库的数据的 ...

  6. [转]Sql Server 分页存储过程

    本文转自: 版权声明:作者:jiankunking 出处:http://blog.csdn.net/jiankunking  本文版权归作者和CSDN共有,欢迎转载,但未经作者同意必须保留此段声明,且 ...

  7. Linq中连接

    Linq中连接主要有组连接.内连接.左外连接.交叉连接四种.各个用法如下. 注:本文内容主要来自<Linq实战>,本例中用到的对象请见文章底部. 1. 组连接 组连接是与分组查询是一样的. ...

  8. 陆续放给大家一些拿钱买的收费的模板,今天先给一个在某销售网站上排行第一的管理端模板 Ace Responsive Admin Template

    下载地址: http://pan.baidu.com/s/1B2xjC 提取密码:le1p 原文地址:http://zhangrou.net/post/2014/06/23/陆续放给大家一些拿钱买的收 ...

  9. groovy运行程序和类型推断

    在 Java 中,如果要声明一个 String 变量,则必须输入: String value = "Hello World"; 等号右侧的字符已经表明 value 的类型是 Str ...

  10. 文件下载(Servlet/Struts2)

    文件上传(Servlet/Struts2/SpringMVC)的链接:http://www.cnblogs.com/ghq120/p/8312944.html 文件下载 Servlet实现 目录结构 ...