python的文件对象(1)
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)的更多相关文章
- python基础===文件对象的访问模式,以及计数循环的使用方法
案例一: 一个几M的文本文件,需要每隔100行写到新的文件中. 代码实现如下: with open(r'f:\book.txt','rb') as f1: with open(r'f:\book2.t ...
- Python Cookbook(第3版)中文版:15.19 从C语言中读取类文件对象
15.19 从C语言中读取类文件对象¶ 问题¶ 你要写C扩展来读取来自任何Python类文件对象中的数据(比如普通文件.StringIO对象等). 解决方案¶ 要读取一个类文件对象的数据,你需要重复调 ...
- python 将文件描述符包装成文件对象
有一个对应于操作系统上一个已打开的I/O 通道(比如文件.管道.套接字等)的整型文件描述符,你想将它包装成一个更高层的Python 文件对象. 一个文件描述符和一个打开的普通文件是不一样的.文件描述符 ...
- Python 读写文件和file对象(转)
1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('thefile.txt ...
- Python自动化运维之4、格式化输出、文件对象
Python格式化输出: Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[P ...
- Python 文件对象
Python 文件对象 1) 内置函数 open() 用于打开和创建文件对象 open(name,[,mode[,bufsize]]) 文件名.模式.缓冲区参数 mode: r 只读 w 写入 a 附 ...
- Python StringIO与BytesIO、类文件对象
StringIO与BytesIO StringIO与BytesIO.类文件对象的用途,应用场景,优.缺点. StringIO StringIO 是io 模块中的类,在内存中开辟的一个文本模式的buff ...
- 4、Python文件对象及os、os.path和pickle模块(0530)
文件系统和文件 1.文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构---即在磁盘上组织文件的方法: 文件系统模块:os 2.计算机文件(称文件.电脑档案.档案),是存储在某种长期储存设备或临 ...
- Python(六)之文件对象
Python文件对象 明确文件系统: 获取文件对象: var_name = open(file_name[mode,[bufsize]]) 缓冲: 0:禁用 1:使用缓冲,只缓冲一行数据 2+:指定缓 ...
随机推荐
- 18.async函数
1.含义 async 函数是什么?一句话,它就是 Generator 函数的语法糖. 前文有一个 Generator 函数,依次读取两个文件. var fs = require('fs'); var ...
- 全网最全的Windows下Anaconda2 / Anaconda3里正确下载安装Theano(图文详解)
不多说,直接上干货! Theano的安装教程目前网上一搜很多,前几天折腾了好久,终于安装成功了Anaconda3(Python3)的Theano,嗯~发博客总结并分享下经验教训吧. 渣电脑,显卡用的是 ...
- 作为一个编程新手,我再也不怕Flink迷了我的眼!
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由kyledong发表于云+社区专栏 使用 Flink 编写处理逻辑时,新手总是容易被林林总总的概念所混淆: 为什么 Flink 有那么 ...
- 端口扫描工具nmap
nmap 使用介绍 nmap是目前为止最广为使用的国外端口扫描工具之一.我们可以从[url]http://www.insecure.org/[/url]进行下载,可以很容易的安装到Windows和un ...
- JDBC连接Greenplum数据库,封装了增删改查
要启动好gp服务,再尝试连接 192.168.94.135是主节点(master)的ip 驱动Jar包在官网获取 嫌麻烦,可以直接用我在网盘分享的Jar包,版本较老 链接:https://pan.ba ...
- 带你走近WebSocket协议
一.WebSocket协议是什么? WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. 二.那为什么我们要用WebSocket协议呢? 了解计算机网络协议的 ...
- 【TCP协议】MTU和MSS详解
需要注意的是,区别两种帧封装格式:802标准帧和以太网帧 1,在802标准定义的帧格式中,长度字段是指它后续数据的字节长度,但不包括C R C检验码.RFC 1042(IEEE 802) 2,RFC ...
- ubuntu上安装R的时候遇到的问题总结
首先感谢这两篇博客的指导,第一篇是关于报错的总结,第二篇是第一篇中没有提到的错误,也就是我在安装的时候出现的错误. 1.下载R包 (去官网选择一个离你最近的镜像网址,我的是清华提供的镜像下载速度比较快 ...
- Java如何大批量从json数据源中按指定符号隔字符串,并修改、删除数据
原文出自:https://blog.csdn.net/seesun2012 package com.seesun2012.com; /** * Java大批量修改.删除数据,按指定标识符分隔字符串 * ...
- 删除弹出提示框_MVC
<td> @Ajax.ActionLink(@shared.Delete, "DeleteServicetag", new { id = item.ID }, new ...