上节简单的说明了一下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. hive部署手册

    安装环境: 机器 只需要安装一台机器      操作系统:Ubuntu 11.04 64操作系统      hadoop:版本是1.0.2,安装在/usr/local/hadoop      sun ...

  2. 手动编译Spring4.2源码,以及把源码导入myEclipse中

    前提条件,先在本地配置好JDK1.8, 安装好Git 执行下面命令: 1,双击Git Bash, 进入源码存放路径 cd E:\Foler 2,git clone git@github.com:spr ...

  3. A+B for Matrices 及 C++ transform的用法

    题目大意:给定两个矩阵,矩阵的最大大小是M*N(小于等于10),矩阵元素的值的绝对值小于等于100,求矩阵相加后全0的行以及列数. #include<iostream> using nam ...

  4. 我的window平台下的软件

    SocksCap64-Portable-3.0(配合google drive 使用) ShadowsocksR-win-3.7.4 dropbox xx-net chrome switchyomega ...

  5. OpenCV安装要点

    OpenCV安装要点1.设置系统和用户环境变量PATH指向opencv\build\x86\vc10\bin或者opencv\build\x64\vc10\bin2.新建用户环境变量OpenCV指向o ...

  6. 【LeetCode】102 - Binary Tree Level Order Traversal

    Given a binary tree, return the level order traversal of its nodes' values. (ie, from left to right, ...

  7. 【LeetCode】9 & 234 & 206 - Palindrome Number & Palindrome Linked List & Reverse Linked List

    9 - Palindrome Number Determine whether an integer is a palindrome. Do this without extra space. Som ...

  8. Red Hat Linux认证

    想系统的学习一下Linux,了解了一些关于Red Hat Linux认证的信息.整理如下. 当前比较常见的是RHCE认证,即Red Hat Certified Engineer.最高级别的是RHCA ...

  9. 很棒的Sketch动画教程

    就像别人可以用PPT做动画,而你只会用它做演示,别人可以拿ps做gif,你却只会用它p照片.软件就是这样,我们使用大多数的软件也就是了解的程度,很难算得上精通.(后面补充了小教程,想看干货的直接看后面 ...

  10. effective c++:private继承

    如果class间使用private继承关系,编译器就不会自动的将派生类转换为基类,而且private继承而来的成员都变为private属性. private继承意味着根据某物实现出,当我们想要避免重复 ...