Python文件和流
Treasuring every moment
open函数
open(name[,mode[,buffering]])
mode有四种模式可选择:
- 'r' 读模式
- 'w' 写模式
- 'a' 追加模式
- 'b' 二进制模式(可添加到其他模式中使用) 'rb' 可读二进制模式
- '+' 读/写模式
写
>write():参数为写入的内容 >>> f = open('somefile.txt','w') f.write('Hello, ') 7 >>> f.write('World!') 6 >>> f.close() >writelines():参数为一个字符串列表,它会把所有的字符串写入文件,但不会增加新的行
读
read():参数为指定读多少字符(字节)
>>> f = open('somefile.txt','r') >>> f.read(4) 'Hell' >>> f.read(1) 'o' >>> f.read() ', World!'
readline():读一行,包括换行符也一起读进来
readlines():读取文件的所有行并将其转换为列表返回
管式输出
demo.py
import sys text = sys.stdin.read() words = text.split() wordcount=len(words) print('Wordcount:',wordcount,'Text:',text)
somefile.txt
Hello,World!
运行程序
$ cat somefile.txt | python demo.py ('Wordcount:', 1, 'Text:', 'Hello,World!')
可以看出,管道符号(|)将一个命令的标准输出和下一个命令的标准输入连接在一起了。
随机访问
以上对文件的操作都是把文件当成流来进行操作,只能按照从头到尾的顺序读取数据。但是我们可以使用类文件对象的方法seek和tell来直接访问感兴趣的部分。
seek(offset[,whence ]):这个方法把当前位置移动到由offset和whence定义的位置。Offset类是一个字节(字符)数,表示偏移量。whence默认是0,表示偏移量是从文件开头开始计算的(这是偏移量必须是非负的)。
>>> f = open('somefile.txt','w') >>> f.write('0123456789') >>> f.seek(5) >>> f.write('hello,world') >>> f.close() >>> f = open('somefile.txt') >>> f.read() '01234hello,world6789'
tell():返回当前文件的位置
>>> f = open('somefile.txt') >>> f.read(3) '012' >>> f.read(2) '34' >>> f.tell() 5
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
redis系列:通过文章点赞排名案例学习sortedset命令
前言 这一篇文章将讲述Redis中的sortedset类型命令,同样也是通过demo来讲述,其他部分这里就不在赘述了。 项目Github地址:https://github.com/rainbowda/learnWay/tree/master/learnRedis/case-sortedset 案例 demo功能是文章点赞排名等等,整个demo的大致页面如下。 准备工作 首先定义一个存储文章的key private static final String ZSET_KEY = "articleList"; redis操作对象 private RedisTemplate redisTemplate; //string 命令操作对象 private ValueOperations valueOperations; //zset 命令操作对象 private ZSetOperations zSetOperations; sortedset在Redis中的结构可以看下图(图片来源于Redis in Action)。 列表查询 @RequestMapping(value = "/getList/{...
- 下一篇
Python字典基本操作
希望对你有帮助,陌生人 字典的创建: phonebook = {'Alice':'2341','Beth':'9102','zdf':'1821355'} items = [('name','Gunmby'),('age',42)] d = dict(items) d = dict(name='Gumby',age=43) 字典的操作 取大小:len(d) d[k]=v :赋值 or 添加值 del d[k]:删除键值对 k in d :检查是否包含该键 例 把数据通过类似于JSON格式的方式存储起来,输入需要的信息就能查找到你要的值;我的名字是ZDF,我要查找的是电话号码,这样需要查的数据的键已经有了,通过这个键就可以在字典中取到相应的数据。 people = { 'Alice':{ 'phone':'2314', 'addr':'Foo drive 23' }, 'ZDF':{ 'phone':'1821355', 'addr':'wenshan' } } labels = { 'phone':'phone number', 'addr' :'address' } name = r...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Mario游戏-低调大师作品
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8编译安装MySQL8.0.19
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS6,CentOS7官方镜像安装Oracle11G