Python中文件的读取和写入操作

从文件中读取数据

读取整个文件

这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下:

3.1415926535
8979323846
2643383279

with open('pi_digits.txt') as f: # 默认模式为‘r',只读模式
  contents = f.read() # 读取文件全部内容
  print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行)
  print '------------'
  print contents.rstrip() # rstrip()函数用于删除字符串末的空白

3.1415926535
8979323846
2643383279
------------
3.1415926535
8979323846
2643383279

逐行读取

可以通过循环来实现逐行读取数据:

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1 # 每行末尾会有一个换行符
  print '------------'
  for line2 in f:
    print line2.rstrip() # 此时文件已经读完,line2指向文本末尾,因此不会有输出

3.1415926535

8979323846

2643383279

------------

读取文件时相当于有一个指针在记录读取的位置,数据读到哪,这个指针就指到哪边,继续读取数据时会从该位置继续读取,因此上面代码中第二个循环中输出为空。将上述代码稍加修改如下:

with open('pi_digits.txt') as f:
  for line1 in f:
    print line1
  print '------------'
with open('pi_digits.txt') as f: # 需要重新打开文本进行读取
  for line2 in f:
    print line2.rstrip() # 删除字符串末尾的空白

3.1415926535

8979323846

2643383279

------------
3.1415926535
8979323846
2643383279

上述代码相当于第一次读取完后关闭该文件又重新打开进行读取。逐行读取数据也可以用readline()函数,如下:

with open('pi_digits.txt') as f:
  # readline()每一次读取一行数据,并指向该行末尾
  line1 = f.readline() # 读取第一行数据(此时已经指向第一行末尾)
  line2 = f.readline() # 从上一次读取末尾开始读取(第二行)
  print line1.rstrip()
  print line2.rstrip()

3.1415926535
8979323846

有时候我们想要一次性读取全部数据并且按分开存储以便于后续的操作,当然用上面的循环可以实现,但python提供了更简单的方法readlines():

with open('pi_digits.txt') as f:
  lines = f.readlines() # 读取文本中所有内容,并保存在一个列表中,列表中每一个元素对应一行数据
print lines # 每一行数据都包含了换行符
print '------------'
for line in lines:
  print line.rstrip()
print '------------'
pi_str = '' # 初始化为空字符
for line in lines:
  pi_str += line.rstrip() #字符串连接
print pi_str

['3.1415926535\n', '8979323846\n', '2643383279\n']
------------
3.1415926535
8979323846
2643383279
------------
3.141592653589793238462643383279

写数据到文件

写数据有几种不同的模式,最常用的是w', ‘a', 分别表示擦除原有数据再写入和将数据写到原数据之后:

filename = 'write_data.txt'
with open(filename,'w') as f: # 如果filename不存在会自动创建, 'w'表示写数据,写之前会清空文件中的原有数据!
  f.write("I am Meringue.\n")
  f.write("I am now studying in NJTECH.\n")

此时会在当前路径下创建一个'write_data.txt'的文本文件,并向文件中写入数据如下:

I am Meringue.
I am now studying in NJTECH.

下面继续在该文件中加入新数据:

with open(filename,'a') as f: # 'a'表示append,即在原来文件内容后继续写数据(不清楚原有数据)
  f.write("I major in Machine learning and Computer vision.\n")

此时的文件内容为:

I am Meringue.
I am now studying in NJTECH.
I major in Machine learning and Computer vision.

总结

以上所述是小编给大家介绍的Python中文件的读取和写入操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

您可能感兴趣的文章:

  • python实现读取大文件并逐行写入另外一个文件
  • Python实现读取及写入csv文件的方法示例
  • python读取与写入csv格式文件的示例代码
  • 在Python程序中进行文件读取和写入操作的教程
  • python进阶教程之文本文件的读取和写入
(0)

相关推荐

  • 在Python程序中进行文件读取和写入操作的教程

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据(读文件),或者把数据写入这个文件对象(写文件). 读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: >>> f =

  • python实现读取大文件并逐行写入另外一个文件

    <pre name="code" class="python">creazy.txt文件有4G,逐行读取其内容并写入monday.txt文件里. def creazyRead(): ''''' with open("e:creazy.txt","r") as cr: for line in cr: print line ''' ms = open("e:creazy.txt") for line

  • python读取与写入csv格式文件的示例代码

    在数据分析中经常需要从csv格式的文件中存取数据以及将数据写书到csv文件中.将csv文件中的数据直接读取为 dict 类型和 DataFrame 是非常方便也很省事的一种做法,以下代码以鸢尾花数据为例. csv文件读取为dict 代码 # -*- coding: utf-8 -*- import csv with open('E:/iris.csv') as csvfile: reader = csv.DictReader(csvfile, fieldnames=None) # fieldna

  • python进阶教程之文本文件的读取和写入

    Python具有基本的文本文件读写功能.Python的标准库提供有更丰富的读写功能. 文本文件的读写主要通过open()所构建的文件对象来实现. 创建文件对象 我们打开一个文件,并使用一个对象来表示该文件: 复制代码 代码如下: f = open(文件名,模式) 最常用的模式有: 复制代码 代码如下: "r"     # 只读 "w"     # 写入 比如 复制代码 代码如下: >>>f = open("test.txt",&

  • Python实现读取及写入csv文件的方法示例

    本文实例讲述了Python实现读取及写入csv文件的方法.分享给大家供大家参考,具体如下: 新建csvData.csv文件,数据如下: 具体代码如下: # coding:utf-8 import csv # 读取csv文件方式1 csvFile = open("csvData.csv", "r") reader = csv.reader(csvFile) # 返回的是迭代类型 data = [] for item in reader: print(item) dat

  • Python中文件的读取和写入操作

    从文件中读取数据 读取整个文件 这里假设在当前目录下有一个文件名为'pi_digits.txt'的文本文件,里面的数据如下: 3.1415926535 8979323846 2643383279 with open('pi_digits.txt') as f: # 默认模式为'r',只读模式 contents = f.read() # 读取文件全部内容 print contents # 输出时在最后会多出一行(read()函数到达文件末会返回一个空字符,显示出空字符就是一个空行) print '

  • 使用Python对Dicom文件进行读取与写入的实现

    Pydicom 单张影像的读取 使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象. import os import pydicom # 调用本地的 dicom file folder_path = r"D:\Files\Data\Materials" file_name = "PA1_0001.dcm" file_path = os.path.join(folder_path,fi

  • Android持久化技术之文件的读取与写入实例详解

    本文实例分析了Android持久化技术之文件的读取与写入操作.分享给大家供大家参考,具体如下: 1.文件存储 (1)在Android的持久化技术中,文件存储是最基本的一种数据存储方式. (2)对存储的内容部做任何处理,原样存储到文件中. (3)Context提供了文件写入与读取的方法,openFileOutput:写入到文件:openFileInput:从文件中读取. (4)文件写入时模式有多种:比如是覆盖写入还是追加写入等. (5)写入的文件默认存储在/data/data/报名/files/目

  • 详解Python读取和写入操作CSV文件的方法

    目录 什么是 CSV 文件? 内置 CSV 库解析 CSV 文件 读取 CSV 文件csv 将 CSV 文件读入字典csv 可选的 Python CSV reader参数 使用 csv 写入文件 从字典中写入 CSV 文件csv 使用 pandas 库解析 CSV 文件 pandas 读取 CSV 文件 pandas 写入 CSV 文件 最流行的数据交换格式之一是 CSV 格式.是需要通过键盘和控制台以外的方式将信息输入和输出的程序,通过文本文件交换信息是在程序之间共享信息的常用方法. 这里带和

  • Python中文件的写入读取以及附加文字方法

    今天学习到python的读取文件部分. 还是以一段代码为例: filename='programming.txt' with open(filename,'w') as file_object: file_object.write("I love programming.\n") file_object.write("I love travelling.\n") 在这里调用open打开文件,两个实参,一个是要打开的文件名称,第二个实参('w')是告诉Python我们

  • Python中文件I/O高效操作处理的技巧分享

    如何读写文本文件? 实际案例 某文本文件编码格式已直(如UTF-8,GBK,BIG5),在python2.x和python3.x中分别如何读取这些文件? 解决方案 字符串的语义发生了变化: python2 python3 str bytes unicode str python2.x 写入文件前对 unicode 编码,读入文件后对二进制字符串解码 >>> f = open('py2.txt', 'w') >>> s = u'你好' >>> f.wri

  • python中文件操作与异常的处理图文详解

    目录 一. 文件的操作 1.1创建文件 1.2写入数据 1.3读数据 1.4.2读数据 1.5读写数据 1.6删除文件 1.6写入文件 1.7读取图片 1.8备份图片 1.9文件重命名 1.10创建文件夹 1.11获取当前目录 1.12读写二进制文件 二.异常 2.1各种异常的演示 2.2捕捉异常 2.3try/finally 2.4异常的传递 2.5触发异常 2.6自定义异常 总结 一. 文件的操作 1.1创建文件 格式:f = open('文件', 'w')或者f = open('文件',

  • php中配置文件保存修改操作 如config.php文件的读取修改等操作

    fputs() 定义和用法 fputs() 函数写入文件(可安全用于二进制文件). fputs() 函数是 fwrite() 函数的别名. //file 必需.规定要写入的打开文件. //string 必需.规定要写入文件的字符串. //length 可选.规定要写入的最大字节数. fputs(file,string,length) <?php $file = fopen("test.txt","w"); echo fputs($file,"Hell

  • 聊聊Python对CSV文件的读取与写入问题

    今天天气"刚刚好"(薛之谦么么哒),无聊的我翻到了一篇关于csv文件读取与写入的帖子,作为测试小白的我一直对python情有独钟,顿时心血来潮,决定小搞他一下,分享给那些需要的小白,对于python大神们来说,简直就是小儿科,对于我这种测试小白,看到代码就如同打了鸡血一样,恩恩,好东西,好东西! csv文件的读取: 前期工作:在定义的py文件里边创建一个excel文件,并另存为csv文件,放入三行数据,我这里是姓名+年龄(可以自己随意写) 首先我们要在python环境里导入csv板块(

  • Python 文本文件与csv文件的读取与写入

    目录 一.文本文件读取与写入 1读取文件的read()方法 2读取文件的readline()方法 3读取文件的readlines()方法 4写入文件的write()方法 5写入文件的writelines()方法 二.csv文件读取与写入 一.文本文件读取与写入 1 读取文件的 read() 方法 file_object.read([size]) file_object 表示文件对象 size 表示读取数据的长度,单位是字节,如果size省略则读至文件尾 返回值是读取到的字符串 2 读取文件的 r

随机推荐