Python 文件对象
Python 文件对象
1)
内置函数 open() 用于打开和创建文件对象
open(name,[,mode[,bufsize]])
文件名、模式、缓冲区参数
mode:
r 只读
w 写入
a 附加
使用 + 同时支持输入、输出操作 r+ w+ a+
附加 b 表示以二进制方式打开 rb wb ab
bufsize:
0 禁用缓冲
1 使用缓冲,仅缓冲一行数据
负数 使用系统默认缓冲
正数 指定缓冲空间大小
例如: file1 = open('/etc/fstab',r+)
注意使用 r r+ 不能打开不存在的文件会产生IO错误
2)文件的属性
f.closed 显示文件是否关闭
f.name 显示当前名称
f.encoding 编码格式
f.mode 当前文件打开模式
f.softspace 在使用print语句时,是否在一个值之前打印空格,默认为0。若需打印则 f.softspace = 1
f.newlines 返回到当前为止读取到的行结束符字串,若无行分隔符则为None
3)文件的方法
f.tell() 当前指针在文件中字节位置 f.tell(0)
f.next() 迭代显示,不会移动指针
f.close() 关闭文件
f.fileno() 返回文件描述符
f.readline() 读取返回一行,会移动指针
f.readlines() 以列表形式返回所有行
f.read() 读n个字节 f.read(10)
f.write() 写入数据
注意: 文件方法read()等在读取文件时,会一并读取其行结束符
文件方法write()执行写出操作时,不会自动为其添加行结束符
f.writelines() 将列表中所有字串当做一行写入
import os
l1 = os.listdir('/etc')
f1.writelines(l1)
f1.flush()
以上输出为一行
l2 = [ i + '\n' for i in os.listdir('/etc')]
f1.writelines(l2)
f1.flush()
此方法会保证每个字串一行,用列表解析的方式在每次循环后加入换行符
f.isatty() 是否为终端设备文件
f.truncate() 截取n个字节
f1.truncate(10) 截取10个字节
f1.truncate(f1.tell()) 只截取到当前指针处
f.seek(offset[,whence]) 指针偏移位置
whence: 起点
0: 从文件头
1:从当前位置
2:从文件尾部
offset: 偏移量
f1.seek(0) 回到首部
f.flush() 清除输出缓冲区
Python 文件对象的更多相关文章
- 4、Python文件对象及os、os.path和pickle模块(0530)
文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...
- Python 文件对象和方法
Python文件对象和方法 1.打开和关闭文件 Python提供了必要的函数和方法进行默认情况下的文件基本操作,我们可以用file对象做大部分文件操作. open()方法 我们必须先用Python内置 ...
- Python文件对象方法
使用open()函数创建一个文件对象,这里是可以在这个对象上调用的函数的列表 - 编号 方法名称 描述 1 file.close() 关闭文件,无法读取或写入关闭的文件. 2 file.flush() ...
- python文件对象几种操作模式区别——文件操作方法详解
文件对象的字节模式/b模式(以utf-8编码为例) 读操作 写操作 指针操作 ASCII字节 返回bytes/字节类型的Ascii 写入bytes类型字节 例如:b'This is ascii' 使用 ...
- Python文件对象的访问模式
- Python自动化运维之4、格式化输出、文件对象
Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[P ...
- python 将文件描述符包装成文件对象
有一个对应于操作系统上一个已打开的I/O 通道(比如文件.管道.套接字等)的整型文件描述符,你想将它包装成一个更高层的Python 文件对象. 一个文件描述符和一个打开的普通文件是不一样的.文件描述符 ...
- Python(六)之文件对象
Python文件对象 明确文件系统: 获取文件对象: var_name = open(file_name[mode,[bufsize]]) 缓冲: 0:禁用 1:使用缓冲,只缓冲一行数据 2+:指定缓 ...
- 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()
嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...
随机推荐
- C#超简单方法实现两个richtextbox控件滚动条同步滚动
此文章属于作者原创,转载请注明,谢谢 有时候我们需要实现对照文章等,往往将文本放到两个richtextbox控件中,但是,如果我们需要同步滚动查看,来达到更好的观看效果. 当然,传统的方法重载控件或者 ...
- 二识angularJS
前言:记得三月份时下定决心说每天要更新一篇博客,学习点新东西,实践下来发现太不现实,生活中的事情很多,再喜欢也不能让它一件占据生活的全部吧,所以呢,以后顺其自然吧.之前有一篇'初识angular'因为 ...
- 数据挖掘应用案例:RFM模型分析与客户细分(转)
正好刚帮某电信行业完成一个数据挖掘工作,其中的RFM模型还是有一定代表性,就再把数据挖掘RFM模型的建模思路细节与大家分享一下吧!手机充值业务是一项主要电信业务形式,客户的充值行为记录正好满足RFM模 ...
- LiteIDE灰调配色方案
说明 本文写于2017-04-03,使用LiteIDE X31(基于Qt 4.8.5),操作系统为Windows. 使用 LiteIDE下载后解压即可使用.配色方案的所有配置文件都位于liteide/ ...
- 支付宝支付-常用支付API详解(查询、退款、提现等)
所有的接口支持沙盒环境的测试 1.前言 前面几篇文件详细介绍了 支付宝提现.扫码支付.条码支付.Wap支付.App支付 支付宝支付-提现到个人支付宝 支付宝支付-扫码支付 支付宝支付-刷卡支付(条码支 ...
- JS中判断数组的方法
JavaScript中检测对象的方法 1.typeof操作符 这种方法对于一些常用的类型来说那算是毫无压力,比如Function.String.Number.Undefined等,但是要是检测Arra ...
- 深入理解Java常用类-----StringBuilder
上篇文章我们介绍过String这个常用类,知道了该类的内部其实是用的一个char数组表示一个字符串对象的,只是该字符数组被final修饰,一旦初始化就不能修改,但是对于经常做字符串修改操作的情况下,S ...
- 码工具通过ICP备案
5月22日,为广大程序员造福的在线工具--码工具 通过了ICP备案,这也意味着本站也越来越正规化,规范化.大家从今日起就可以在网站底部看到本站的ICP备案号. 备案/许可证编号:粤ICP备170597 ...
- oracle创建用户四部曲
创建用户一般分四步: 第一步:创建临时表空间 第二步:创建数据表空间 第三步:创建用户并制定表空间 第四步:给用户授予权限 创建临时表空间 create temporary tablespace ho ...
- 简易-五星评分-jQuery纯手写
超级简单的评分功能,分为四个步骤轻松搞定: 第一步: 引入jquery文件:这里我用百度CDN的jquery: <script src="http://apps.bdimg.com/l ...