python文件读写示例

with open(file_w_path, 'r') as f_r:
with open(file_r_path, 'w') as f_w:
for line in f_r.readlines():
f_w.write(line + '\n')

覆盖和追加细节

r:只读方式打开文件,缺省默认。

r+:读写方式打开文件。

w:只写方式打开文件,若文件存在以覆盖方式写入,不存在则创建该文件(注意目录无法创建,即指定文件位置的目录不存在会报错)

w+:读写方式代开文件,文件存在则覆盖写入。

a:追加方式打开文件,文件指针会放在文件结尾。

a+:追加读写。

python三种读取文件方式:

  • read()
  • readline()
  • readlines()

然而它们的区别是什么呢,在平时用到时总会遇到,今天总结一下。

0. 前期工作

首先新建一个文件read.txt,用于实际效果举例

Hello
welcome to my world
you are so clever !!!

1. read()

read(size)方法从文件当前位置起读取size个字节,默认(无参数)表示读取至文件结束为止,它的返回为字符串对象

测试程序如下:

import os
with open(os.path.join(os.getcwd(), 'read.txt')) as f:
content = f.read()
print(content)
print(type(content))

这里需要注意两点:

  1. 我用到了os相关操作,即省去了需要输入文件完整路径的麻烦。

  2. 大家要养成with open file as f: 这一习惯,即操作完毕后让其自动关闭文件。

Hello
welcome to my world
you are so clever !!!
<class 'str'> Process finished with exit code 0

2. readline()

每次只读一行内容,读取时内存占用较少(适用于大文件),它的返回为字符串对象

测试程序:

import os
with open(os.path.join(os.getcwd(), 'read.txt')) as f:
while True:
line = f.readline()
if line:
print(line)
else:
break

输出结果:

Hello

<class 'str'>

Process finished with exit code 0

3. readlines()

读取文件所有行,保存在列表(list)变量中,列表中每一行为一个元素,它返回的是一个列表对象。

测试程序:

import os
with open(os.path.join(os.getcwd(), 'read.txt')) as f:
content = f.readlines()
print(content)
print(type(content))

输出结果:

['Hello\n', 'welcome to my world\n', '1234\n', 'you are so clever !!!']
<class 'list'> Process finished with exit code 0

seek

用于移动文件读取指针到指定位置

itertools.islice()

直接读取文件制定行

#读取文件前50行
for line in itertools.islice(f, 50):
pass #跳过文件第一行读取文件
for line in itertools.islice(f, 1, None):
pass

python读写文件中read()、readline()和readlines()的用法的更多相关文章

  1. Python 读写文件中数据

    1 需求 在文件 h264.txt 中的数据如图1,读入该文件中的数据,然后将第1列的地址删除,然后将数据输出到h264_out.txt中: 图1 h264.txt 数据截图             ...

  2. python 读写文件中 w与wt ; r与rt 的区别

    w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是windows平台特有的所谓text mode(文本模式),区别在于会自动识别windows平台的换行符.类Unix平 ...

  3. Python 读写文件中w与wt, r与rt的区别

    w和wt是一们的,r和rt是一样的,t是默认参数,可以省略的,help(open)就能看到open的参数的详细说明. w,r,wt,rt都是python里面文件操作的模式.w是写模式,r是读模式.t是 ...

  4. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  5. Python读写文件实际操作的五大步骤

    Python读写文件在计算机语言中被广泛的应用,如果你想了解其应用的程序,以下的文章会给你详细的介绍相关内容,会你在以后的学习的过程中有所帮助,下面我们就详细介绍其应用程序. 一.打开文件 Pytho ...

  6. Python 读写文件的正确方式

    当你用 Python 写程序时,不论是简单的脚本,还是复杂的大型项目,其中最常见的操作就是读写文件.不管是简单的文本文件.繁杂的日志文件,还是分析图片等媒体文件中的字节数据,都需要用到 Python ...

  7. [Python]读写文件方法

    http://www.cnblogs.com/lovebread/archive/2009/12/24/1631108.html [Python]读写文件方法 http://www.cnblogs.c ...

  8. python的re模块一些方法 && Tkinter图形界面设计 && 终止python运行函数 && python读写文件 && python一旦给字符串赋值就不能单独改变某个字符,除非重新给变量赋值

    Tkinter图形界面设计见:https://www.cnblogs.com/pywjh/p/9527828.html#radiobutton 终止python运行函数: 采用sys.exit(0)正 ...

  9. Python工程文件中的名词解释---Module与Package的区别

    当我们在已有的Python工程文件中创建新的内容是,通常会有两种类型文件供你选择---Module和Package,对于初学者来说会搞不清楚这两种文件直接的关系.这里就来解释一下这两者之间的关系. M ...

随机推荐

  1. leetcode509

    public class Solution { public int Fib(int N) { ) { ; } ) { ; } else { List<int> list = new Li ...

  2. leetcode970

    public class Solution { public IList<int> PowerfulIntegers(int x, int y, int bound) { var list ...

  3. <基础> PHP 数据类型

    PHP三大数据类型 标量 字符串 单引号:不能解析变量  效率高 双引号 :可以解析变量   效率稍微低一些 heredoc : 大文本 整形 浮点 不能用于比较运算 布尔 复合 数组 超全局数组  ...

  4. vc/vs开发的应用程序添加dump崩溃日志<转>

    原贴地址:https://blog.csdn.net/wangkui1331/article/details/78029940 vc/vs开发的应用程序出现崩溃的时候,由于没有任何记录,导致开发人员很 ...

  5. EMQ笔记

    飞行窗口(Inflight Window)保存当前正在发送未确认的Qos1/2消息.窗口值越大,吞吐越高:窗口值越小,消息顺序越严格. 当客户端离线或者飞行窗口(Inflight Window)满时, ...

  6. vue:vue页面刷新vuex数据消失问题

    vuex中数据刷新页面消失问题:a页面请求的数据保存在vuex中,只要不刷新,那跳转到b页面里也可以用,但如果b页面刷新,那vuex里的数据就会消失,可以得解决方法:a页面用的数据a页面的生命周期函数 ...

  7. linux 3.10 gro的理解和改进

    gro,将同一个flow的一定时间范围之内的skb进行合并,减少协议栈的消耗,用于收包性能提升.gro网上的资料很多,但是都很少谈到gro的改进,刚好身边有个同事也想改这块的内容, 所以将最近看的gr ...

  8. RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World(转载)

    RabbitMQ系列教程之一:我们从最简单的事情开始!Hello World 一.简介 RabbitMQ是一个消息的代理器,用于接收和发送消息,你可以这样想,他就是一个邮局,当您把需要寄送的邮件投递到 ...

  9. 【375】COMP 9021 相关笔记

    1. Python 中的逻辑否定用 not 2. 对于下面的代码直邮输入整数才能运行,无论字符串或者浮点型都会报错 int(input('How many games should I simulat ...

  10. [Linux]Ubuntu下安装Sublime-text 且 支持中文输入

    ------------------------------------------------------------------------------------------ 首先进行如下操作: ...