Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程。

1. 打开文件

首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系。按程序访问文件时的目的来

看,有的时候打开文件是为了从文件中读取需要的数据,那么此时我们在打开文件时应以读的的方式去打开文

件;有的时候需要将程序的数据写入某个文件,那么在写入数据之前需要把文件以写的方式打开,不能向以读

方式打开的文件里写数据,也不能从以写的方式打开的文件里读取数据。

那么怎样编写程序去以读或者以写的方式打开文件呢?

打开文件语法格式

file_obj = open(filename, mode)

1)以读的方式打开文件,Python访问文件的程序应该这样写

rfile = open (filename, 'r')

注:'r'称为读操作模式字,表明文件rfile以可读的方式打开

2)以写的方式打开文件,Python访问文件的程序应该这样写

wfile = open (filename, 'w')

注:'w'称为写操作模式字,表明文件rfile以可写的方式打开

这里的rfile和wfile是一种称之为file-object,可以理解为一种类,有了就好了,因为有类就有method方法了,系统会提供很多的类的方法来使用类对象,比如接下来的文件的读写操作就是直接使用了类的方法,省得自己写了。

2. 读写文件

举例来说明一下:    在文件被以某方式打开以后,程序就可以进行相应的读数据或者写数据等操作了。

现想程序想读取其所所在目录下的a.txt里的数据,该如何读写呢?

读文件操作语法格式:

variable = file_obj.read()

写文件操作语法格式:

file_obj.write(string)

实例如下:

var = rfile.read()

wfile.write("hello\n")

其中读操作有返回值,是从rfile里读取全部内容,并将读取的数据赋值给等号左边的var变量里。
写的哪行代码是将“hello”这个字符号写入wfile指向的文件里。

3 关闭文件

通常写完文件以后数据并未真正的存储到磁盘文件里(暂存在缓冲区里了),系统掉电或者当缓冲区写满以后之前没有真正写入文件的数据会丢失或者被清除掉,为了永久保存数据在读写完文件后通常还要程序主动关闭文件,以永久保存数据。
   关闭文件操作的语法格式:

file_obj.close()

总结一下,Python下的文件的读写操作,通常先以'r' 或者'w'的方式打开某个文件,之后用read和write函数从打开的文件里读取数据或者写入数据,正真的数据被保存下来是在程序调用了close关闭文件以后才实现数据的存储。

--->

Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程的更多相关文章

  1. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级

    前文5.2节和5.4节分别就Python下读文件操作做了基础性讲述和提升性介绍,但是仍有些问题,比如在5.4节里涉及到一个多次读文件的问题,实际上我们还没有完全阐述完毕,下面这个图片的问题在哪呢? 问 ...

  2. Python学习入门基础教程(learning Python)--6.3 Python的list切片高级

    上节"6.2 Python的list访问索引和切片"主要学习了Python下的List的访问技术:索引和切片的基础知识,这节将就List的索引index和切片Slice知识点做进一 ...

  3. Python学习入门基础教程(learning Python)--5.3 Python写文件基础

    前边我们学习了一下Python下如何读取一个文件的基本操作,学会了read和readline两个函数,本节我们学习一下Python下写文件的基本操作方法. 这里仍然是举例来说明如何写文件.例子的功能是 ...

  4. Python学习入门基础教程(learning Python)--3.3.3 Python逻辑关系表达式

    在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...

  5. Python学习入门基础教程(learning Python)--3.3.2 Python的关系运算

    如果if的condition不用布尔表达式来做条件判断而采用关系表达式,实际上关系表达式运算的结果要么是True要么是False.下面我们先了解一些有关关系运算符的基础知识,如下表所示. 做个小程序测 ...

  6. Python学习入门基础教程(learning Python)--5.2 Python读文件基础

    上节简单的说明了一下Pyhon下的文件读写基本流程,从本节开始,我们做几个小例子来具体展示一下Python下的文件操作,本节主要是详细讲述Python的文件读操作. 下面举一个例子,例子的功能是读取当 ...

  7. Python学习入门基础教程(learning Python)--5 Python文件处理

    本节主要讨论Python下的文件操作技术. 首先,要明白为何要学习或者说关系文件操作这件事?其实道理很简单,Python程序运行时,数据是存放在RAM里的,当Python程序运行结束后数据从RAM被清 ...

  8. Python学习入门基础教程(learning Python)--8.3 字典常用的方法函数介绍

    本节的主要讨论内容是有关dict字典的一些常用的方法函数的使用和范例展示. 1. clear清除字典数据 语法结构如下: dict_obj.clear() 示例代码如下: dict1 = {'web' ...

  9. Python学习入门基础教程(learning Python)--2.2 Python下的变量基础

    变量的基本概念,变量可以这样去理解,变量是一个值,这个值存储在计算机的内存里.以网购为例,您在选购傻商品的时候,是在不同页面里选不同的商品,选好一件点击“放入购物车”,选完了再点击去结帐,这些商品的价 ...

随机推荐

  1. GUID转换成16位字符串或19位数据(确保唯一)

    // <summary> /// 根据GUID获取16位的唯一字符串 /// </summary> /// <param name=\"guid\"& ...

  2. Android系统在超级终端下必会的命令大全(adb shell命令大全)

    . 显示系统中全部Android平台: android list targets . 显示系统中全部AVD(模拟器): android list avd . 创建AVD(模拟器): android c ...

  3. hdu 1115(计算多边形重心)

    题意:已知一多边形没有边相交,质量分布均匀.顺序给出多边形的顶点坐标,求其重心. 分析: 求多边形重心的题目大致有这么几种: 1,质量集中在顶点上.n个顶点坐标为(xi,yi),质量为mi,则重心 X ...

  4. 读取raw目录中的文件数据

    try { InputStream is2 = getResources().openRawResource(R.raw.info); InputStreamReader isr2 = new Inp ...

  5. 【DWT笔记】基于小波变换的降噪技术

    [DWT笔记]基于小波变换的降噪技术 一.前言 在现实生活和工作中,噪声无处不在,在许多领域中,如天文.医学图像和计算机视觉方面收集到的数据常常是含有噪声的.噪声可能来自获取数据的过程,也可能来自环境 ...

  6. bzoj 3757 苹果树(树上莫队算法)

    [题意] 有若干个询问,询问路径u,v上的颜色总数,另外有要求a,b,意为将a颜色看作b颜色. [思路] vfk真是神系列233. Quote: 用S(v, u)代表 v到u的路径上的结点的集合. 用 ...

  7. MATLAB图像处理工具箱

    下列表格中除了个别函数外,其余函数都是图像处理工具箱提供的关于图像处理的函数,现摘录到此以备查找. 表1 图像显示 函数名 功能说明 函数名 功能说明 colorbar 颜色条显示 montage 按 ...

  8. 二叉树单色路径最长&amp;&amp;穿珠子

    对树的操作,特别理解递归的好处. //对于一棵由黑白点组成的二叉树,我们需要找到其中最长的单色简单路径,其中简单路径的定义是从树上的某点开始沿树边走不重复的点到树上的 //另一点结束而形成的路径,而路 ...

  9. [POJ] #1002# 487-3279 : 桶排序/字典树(Trie树)/快速排序

    一. 题目 487-3279 Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 274040   Accepted: 48891 ...

  10. <转载>linux下内存泄露查找、BUG调试

    先收藏着,抽空好好看看:http://www.ibm.com/developerworks/cn/linux/l-pow-debug/ 简介 调试程序有很多方法,例如向屏幕上打印消息,使用调试器,或者 ...