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 的例子里看到这样一句话.拉开了文件操作折 ...
随机推荐
- Spring Boot 学习(1)
文 by / 林本托 Tip 做一个终身学习的人. Spring Boot 初体验 Spring Boot 包含了很多 start(Spring boot 中 的叫法,就是一个模块,后文统一称模块,便 ...
- 关于Cookie的知识的总结
Cookie的类型 会话cookie和持久cookie 会话cookie是一种临时cookie,它记录了用户访问站点时的设置和偏好,当用户退出浏览器时,会话cookie就会被删除. 持久cookie的 ...
- grunt基础配置
grunt基础配置 要使用grunt来管理项目,一般需要如下的几个步骤: 安装grunt命令行工具grunt-cli 在项目中安装grunt 安装grunt插件 建立并配置Gruntfile.js 安 ...
- C语言之循环结构
程序结构: 顺序结构 条件结构(分支结构) if结构,if-else结构 ,多重if分支结构,switch结构 循环结构:做重复的事情 while循环,do..while循环和for循环. 写循环结构 ...
- 转自52 梦回凉亭的她 Java常见问题,面试题
收集整理分享# 相关概念## 面向对象的三个特征封装,继承,多态.这个应该是人人皆知.有时候也会加上抽象.## 多态的好处允许不同类对象对同一消息做出响应,即同一消息可以根据发送对象的不同而采用多种不 ...
- Python爬虫Dota排行榜爬取
1.分析网站 打开开发者工具,我们观察到排行榜的数据并没有在doc里 doc文档 在Javascript里我么可以看到下面代码: ajax的post方法异步请求数据 在 XHR一栏里,我们找到所请求的 ...
- 移动应用/APP的测试流程及方法
1. APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先 ...
- sock
头和尾基本用来做校验, 不是拿来做边界的. 头+类型+长度+数据+尾, 这种结构就可以. 拆包就是: 检验头, 然后拆出类型+长度, 然后根据长度拆数据, 然后检验尾巴.
- Vue 爬坑之路(二)—— 组件之间的数据传递
Vue 的组件作用域都是孤立的,不允许在子组件的模板内直接引用父组件的数据.必须使用特定的方法才能实现组件之间的数据传递. 首先用 vue-cli 创建一个项目,其中 App.vue 是父组件,com ...
- 通过数据,修改金蝶ERP的收料通知单不合格和合格数量,修改生产投料单,委外发出数量
update POInStockEntry set FAuxNotPassQty=不合格数量 where FInterID=(select FInterID from POInStock where ...