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

下面举一个例子,例子的功能是读取当前目录下的a.txt文本文件里的内容并输出打印到屏幕上。下图是运行结果。

 
     程序代码如下:

rfile = open("a.txt", 'r')
words = rfile.read()
print words
rfile.close()

代码第一行的作用是以只读的方式打开当前目录下的a.txt文件,rfile变量建立了Python程序和文件a.txt之间的联系,后续的程序有关对a.txt的操作均可通过rfile这个变量来操作控制;代码第2行的作用是程序通过rfile来读取a.txt文件里的内容,read函数的作用是将文件里的所有内容都读出来,读出的结果赋值给了word这个变量,word里保存着刚刚通过rfile.read函数读回的内容,代码第3行是将word打印出来即打印读文件a.txt的内容。代码的第4行是关闭文件,因为读写完了应该关闭文件。
     好了,至此我们已经学会如何打开文件并读文件了,现在想提两个小问题.。
     问题1. 如果要读的文件不在当前目录下怎么办?(本节使用read.py程序


   
       从上图可以看出,当前目录下无a.txt,程序报错,解决办法是修改源程序,或者把a.txt改回成b.txt,这都简单,假设我们要访问的a.txt在当前目录的上一层目录,我们怎么改程序呢?

现在要编写的程序叫read.py它想读其父目录下的a.txt文件,我们看程序该怎么改。

程序代码如下:

rfile = open("../a.txt", 'r')
words = rfile.read()
print words
rfile.close()

需要修改的就是在打开文件的时候要描述清楚文件相对于当前目录的位置,这里可以使用绝对路径来描述某个要打开的文件在那,也可以用相对路径来描述要打开的文件再那,本例使用的是相对路径描述a.txt在自己的父目录里。(../在linux系统下代表上一级目录),好了问题已经解决了。我们可以继续了。
      问题2. 能一行一行的读文件的内容么?
      当然可以了,换个函数就解决了,这里介绍一个其他读文件的函数readline,这个函数一行一行的读文件(到每行的第一个\n结束)。


       
      代码如下所示。

rfile = open("../a.txt", 'r')
words = rfile.readline()
print words
rfile.close()

readline函数每次只读一行!要想两行都读出来,那就读两次呗。




-----

Python学习入门基础教程(learning Python)--5.2 Python读文件基础的更多相关文章

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

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

  2. (Python基础教程之十二)Python读写CSV文件

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  3. python从入门到精通之30天快速学python视频教程

    点击了解更多Python课程>>> python从入门到精通之30天快速学python视频教程 课程目录: python入门教程-1-Python编程语言历史及特性.mkv pyth ...

  4. python从入门到大神---2、和Python编程相遇的日子

    python从入门到大神---2.和Python编程相遇的日子 一.总结 一句话总结: python2和python3是很不同的,连语法都不同,比如 print 函数打印结果 1.python中pip ...

  5. 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...

  6. Python学习入门基础教程(learning Python)--5.1 Python下文件处理基本过程

    Python下的文件读写操作过程和其他高级语言如C语言的操作过程基本一致,都要经历以下几个基本过程. 1. 打开文件 首先是要打开文件,打开文件的主要目的是为了建立程序和文件之间的联系.按程序访问文件 ...

  7. [转]Python学习资料和教程pdf

    开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingware WingIDE Professio ...

  8. 多本Python极速入门最佳书籍,不可错过的Python学习资料!

    Python作为现在很热门的一门编程语言,介于Python的友好,许多的初学者都将其作为首选,为了帮助大家更好的学习Python,我筛选了2年内优秀的python书籍,个别经典的书籍扩展到5年内.   ...

  9. Python基础教程3——教你用Python做个简单的加密程序(还基础什么呀,直接来练习吧,带源码)

    因为发现基础教程我之前推荐的那个网站就已经很完善了,就不重复写了,所以本汪来一起做练习吧. 一.加密原理 记得当时我学c++的时候,学到输入输出流的时候,当时王老师就教我们写了一个小的加密程序,所以这 ...

随机推荐

  1. sort方法的使用、随机数的产生

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序. var arr = ['a','b','m','c','d']; arr.sort(); ...

  2. 页面异步加载javascript文件

    昨天听一同事说的异步加载js文件,可以提高页面加载速度.具体方法如下:(function() {  var ga = document.createElement('script'); ga.type ...

  3. C#单例模式的三种写法

    第一种最简单,但没有考虑线程安全,在多线程时可能会出问题,不过俺从没看过出错的现象,表鄙视我…… public class Singleton{    private static Singleton ...

  4. ADO.NET+Access: 3,参数 @departmentName 没有默认值

    ylbtech-Error-ADO.NET+Access: 3,参数 @departmentName 没有默认值. 1.A,错误代码返回顶部  3,参数 @departmentName 没有默认值. ...

  5. Android 应用启动速度优化

    现在很多的应用一开始点击的时候总会出现黑屏或者白屏,甚至前段时间微信也有同样的问题.其实白屏或者黑屏还是一些其他的东西,都是因为Android 主题的问题,只要自己自定义一个启动主题,问题完美解决. ...

  6. IRequiresSessionState和IReadOnlySessionState应用上的一些差异

    在调用ashx时,如果需要应用Session,则必须继承接口 IRequiresSessionState,IReadOnlySessionState,但根据字面,可以知道 IRequiresSessi ...

  7. 第一个UI脚本--python+selenium

    之前一直是用java+selenium做自动化测试的,最近因为工作需要,需要用pyhton+selenium去实现,于是就赶驴上架,熟悉了一下python的语法和脚本的编写过程,下面是一个简单的脚本, ...

  8. Selenium2Library系列 keywords 之 _SelectElementKeywords 之 unselect_from_list_by_label(self, locator, *labels)

    def unselect_from_list_by_label(self, locator, *labels): """Unselects `*labels` from ...

  9. 本人为项目组制定的一份页面优化指南(easyui页面优化方案)

    #本人为项目组制定的一份页面优化指南(easyui页面优化方案) ##背景 这是一篇我之前为项目组制定的页面优化指南,主要是面向表单页面,典型的像[注册用户](https://passport.cnb ...

  10. erlang常用命令

    1 erlang启动时就运行odbc erl -s odbc 2 ping 节点 net_adm:ping('rabbit@COMPUTERNAME'). 3 运行cmd命令 os:cmd(" ...