Python文件和流

作者: olaH | 来源:发表于2018-08-08 21:14 被阅读1次

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

相关文章

  • Python文件和流

    Treasuring every moment open函数 open(name[,mode[,buffering...

  • 13. python文件和流

    读文件和写文件 管道输出 读行和写行 使用FileInput对象读取文件 读文件和写文件 管道输出 模拟了一个gr...

  • Python基础—文件和流操作

    我的博客原文 Python打开文件可以用open函数语法:open(filename, mode[, buffer...

  • Python与文件流

    Python读写文件非常简单,本文除了介绍简单的读写字符文件和字节文件以外,还会介绍文件对象的属性方法和文件流的一...

  • 文件和流

    IO作用:解决设备和设备之间数据传输问题,内存->硬盘,硬盘->内存,键盘数据->内存数据存到硬盘上,就做到了永久...

  • python 控制输出流(sys模块)-笔记

    sys.stdout控制流重定向输出 在Python中,文件对象sys.stdin、sys.stdout和sys....

  • Windows环境 Python3 写入文件 gbk解码问题解决

    环境:windows7,Pycharm,python3.6.2 使用Python写文件的时候,或者将网络数据流写入...

  • 10.6-全栈Java笔记:常见流详解(四)

    上节我们讲到「Java中常用流:数据流和对象流」,本节我们学习文件字符流和文件缓冲流~ 文件字符流 前面介绍的文件...

  • 10.6-全栈Java笔记:常见流详解(四)

    上节我们讲到「Java中常用流:数据流和对象流」,本节我们学习文件字符流和文件缓冲流~ 文件字符流 前面介绍的文件...

  • Python文件操作IO流

    一、文件的打开和关闭 1、文件分为 文本文件t和二进制文件b,文本文件有统一编码,二进制文件一般只有0和1组成 2...

网友评论

    本文标题:Python文件和流

    本文链接:https://www.haomeiwen.com/subject/zqihpftx.html