在实际操作中,我们经常会读取文件,这个时候python为我们提供了一个open()的方法,供我们读取文件,通过help(open),我们可以获取open的方法

f.close()关闭读取

f.read(size=-1)读取文件size个字符,但未给size赋值或者赋值为负数时,读取的是文件剩余的所有字符,然后以字符串方式进行返回。

f.readline()以写入模式打开,如果文件存在,则在末尾加入

f.write(str)将字符串str写入文件

f.writelines(seq)想文件写入字符串序列seq,seq应该 是一个返回字符串的可迭代对象

f.seek(offset,from)在文件中移动当前读取文件的指针,

f.tell()返回当前文件读取的指针位置

#file 是文件路径,mode 是文件打开模式,常用的应该还有一个encoding 编码格式。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)#这个是文件打开模式

''''r' open for reading (default) 默认只读

'w' open for writing, truncating the file first 以写的方式打开文件,会覆盖源文件

'x' create a new file and open it for writing,创建一个新的文件打开并进行写入操作,如果这个文件已经存在,则会报错

'a' open for writing, appending to the end of the file if it exists 以写的方式打开文件,当执行写入操作时,会将写入的内容追加在原文件之后

'b' binary mode 以二进制方式打开文件

't' text mode (default) 以文本模式打开

'+' open a disk file for updating (reading and writing) 可读写模式,可添加到其他模式中用

'U' universal newline mode (deprecated) 通用换行符'''

假设我们有一文件,存放在E:\python\day-2\文字.txt目录下,txt内容为“

我喜欢寂寞,喜欢在夜深人静时独处一室,这样我就可以敞开心扉,与自己的心灵对话。我从中得到了反省,也使我更加向前。

我问心灵:“心灵,我对家人是不是很关心?”

心灵不语,但它在我的脑海中展现出了几幅画面。

画面中,我匆匆而去的关门声掩盖了妈妈那一声“小心点”的关怀;画面中,我对那饭菜不满的情绪,让爸爸无可奈何地摇摇头。

看了这两幅画面,我感到无比愧疚,我看到了自己对家人的冷漠,对亲情的淡漠。

于是,我向心灵保证,我以后一定要关心家人。心灵笑了。

我又问心灵:“心灵,我对朋友是不是很友善?”

心灵赞许的点了点头,说:“有朋友有了困难,你能够热情的帮助;有朋友遇到了伤心事,你能真诚地去安慰。对待朋友就应该这样!”

我开心地笑了。

我再一次问心灵:“我对他人是不是做到了尊重?”

心灵无奈地摇摇头,说:“你还没有,有一次,一位同学不小心碰掉了你的书和笔,你就对他大加指责;有一位陌生人向你问路,你却因忙着回家而不理不睬;还有......”

听了心灵的话,我万方愧疚,甚至有些无地自容。我发誓,我一定要伸出援助之手,以尊重的心态对待每一个人。

在于心灵的对话中,我反省了自己。

我每天都在变化,我要感谢心灵,是它带我成长,是它,让我的成长更加和谐而美丽!

那么我们通过利用open进行对它的操作。

#打开文件

>>> f = open('E:\python\day-2\文字.txt','r')#读取文件

>>>f.read()'我喜欢寂寞,喜欢在夜深人静时独处一室,这样我就可以敞开心扉,与自己的心灵对话。

我从中得到了反省,也使我更加向前。   

我问心灵:“心灵,我对家人是不是很关心?”    心灵不语,但它在我的脑海中展现出了几幅画面。

画面中,我匆匆而去的关门声掩盖了妈妈那一声“小心点”的关怀;画面中,我对那饭菜不满的情绪,让爸爸无可奈何地摇摇头。

看了这两幅画面,我感到无比愧疚,我看到了自己对家人的冷漠,对亲情的淡漠。 于是,我向心灵保证,我以后一定要关心家人。

心灵笑了。   

我又问心灵:“心灵,我对朋友是不是很友善?”   

心灵赞许的点了点头,说:“有朋友有了困难,你能够热情的帮助;有朋友遇到了伤心事,你能真诚地去安慰。对待朋友就应该这样!”   

我开心地笑了。    我再一次问心灵:“我对他人是不是做到了尊重?”   

心灵无奈地摇摇头,说:“你还没有,有一次,一位同学不小心碰掉了你的书和笔,你就对他大加指责;有一位陌生人向你问路,你却因忙着回家而不理不睬;还有......”   

听了心灵的话,我万方愧疚,甚至有些无地自容。我发誓,我一定要伸出援助之手,以尊重的心态对待每一个人。   

在于心灵的对话中,我反省了自己。

我每天都在变化,我要感谢心灵,是它带我成长,是它,让我的成长更加和谐而美丽! '

#再次读取文件

>>>f.read()#返回了空

''

当我们用f.read()第二次读取的时候,因为游标已经走到了文章的结尾,所以第二次读取为空。那么我们想再一次读取该文件的时候

#移动读取指针位置为起始位置

>>>f.seek(0,0)

0#读取文件一行

>>>f.readline()'我喜欢寂寞,喜欢在夜深人静时独处一室,这样我就可以敞开心扉,与自己的心灵对话。我从中得到了反省,也使我更加向前。    '

#当前位置的游标

>>>f.tell()119

遍历所有对话内容(每一行)

传统的方法,传统的方法虽然可以打印每一句话,但是效率不是很高。先看一下传统方法打印:

#首相将游标归到初始值

>>>f.seek(0,0)

0#利用list 来分割f

>>> list1 =list(f)#循环打出每一句

>>> for each inlist1:print(each)

那么为了解决这个问题 Python为我们提供了直接打印的方式

>>>f.seek(0,0)

0>>> for each_line inf:print(each_line)

接上边的例子,当我们想用write()来对刚才的文件进行写操作的时候,会发现不能写入,直接报错。因为我们操作这个文件的模式是r模式,也就是只读模式:

>>> f.write("我爱你")

Traceback (most recent call last):

File"", line 1, in f.write("我爱你")

io.UnsupportedOperation:notwritable>>>

如果我们想对一个文件进行操作,那么我该如何操作,首先我们尝试一下open(file,'w')

#这里利用w是一个只写操作

>>> f = open('E:\python\day-2\text.txt','w')#我们写入一个i love python

>>> f.write("i love python")13

#尝试用read()来读取

>>>f.read()#报错了,说我们不能读

Traceback (most recent call last):

File"", line 1, in f.read()

io.UnsupportedOperation:notreadable#这个时候如果没有进行下一步操作,你在e盘下看到的那个文件应该是0kb#如果执行了close()操作,就会变成1kb,因为你要告诉Python说 你已经#操作完毕了,可以把这些东西从内存中存储到硬盘了。

>>>f.close()

当我们用"x’来进行写文件的时候,一定要注意目录下是否已经存在该文件,如果存在则会报错:

>>> e = open('E:\python\day-2\text.txt','x')

Traceback (most recent call last):

File"", line 1, in e= open('E:\python\day-2\text.txt','x')

FileExistsError: [Errno17] File exists: 'E:\python\day-2\text.txt'

但是如果我们不想让报错,那么我们可以用w,这样不管这个文件存在不存在都不会报错,因为如果存在,它就会打开这个文件,如果不存在则会创建这个名字的文件。

#w创建

d = open('E:\python\day-2\text.txt','w')

当我们想在一个文件的内容后边追加内容的时候我们就用到了"a’,它的打开方式是打开文件,并将输入的字符串append到当前字符串的后边

>>> f = open('E:\python\day-2\文字.txt','a')>>> f.write("are you sure?")14

>>>f.close()>>> f = open('E:\python\day-2\文字.txt','r')>>>f.read()'i love python are you sure?'

>>> f.close()

python打开一个文件-python,一读取文件open()相关推荐

  1. python打开一个文件-python下几种打开文件的方式

    昨天看完了这本python进阶,感觉这本书对我启发很大,做了三张纸的笔记,方便我在遇到问题的时候翻阅,然后寻找可能的解决方案.作为一个使用Python一年的小白,虽然说不是小白,但是这一年来基本上是用 ...

  2. 如何使用Python打开一个TXT文件

    如何使用Python打开一个TXT文件 1 相对路径 首先需要找到当前工作路径,使用以下代码: import os f=os.getcwd() print(f) 将需要打开的TXT文件放入刚才找到的同 ...

  3. 用python 打开一个excel文件

    题目:用python 打开一个xls文件 import xlrd #打开xls文件 data1 = xlrd.open_workbook(r'C:\\Users\\Administrator\\Des ...

  4. python循环保存文件并循环读取文件

    python循环保存文件并循环读取文件 这里我以一个列表为例,每个列表是一个文件,数据来源于python自带的新闻文本主题分类数据. 保存代码: #%% for i in range(len(X_te ...

  5. while和for循环读取大文件三种读取文件方式

    目录 While和for循环 读写文件 三种读操作比较 read()读文件 readline()读文件 readlines()读文件 While和for循环 for循环实现猜三次年纪 age = 66 ...

  6. php 读取一行文件内容,PHP文件处理—如何读取文件(一行,整个文件)

    PHP文件处理-如何读取文件(一行,整个文件) 相对打开和关闭文件来说,读写文件更复杂一些.这里主要从读取数据和写入数据两方面进行讲解. 那么在上一篇文章<PHP文件处理-打开和关闭文件> ...

  7. 怎么读取java文件,Java怎么读取文件

    当前位置:我的异常网» J2SE » Java怎么读取文件 Java怎么读取文件 www.myexceptions.net  网友分享于:2013-12-20  浏览:60次 Java如何读取文件? ...

  8. php随机获取文件夹,php从文件夹随机读取文件的方法

    本文实例讲述了php从文件夹随机读取文件的方法.分享给大家供大家参考.具体实现方法如下: function RandomFile($folder='', $extensions='.*'){ // f ...

  9. EXE4J   解决生成文件时或者读取文件时乱码

    EXE4J   解决生成.文件时或者读取文件时乱码问题一定要添加:VM Parameters:-Dfile.encoding=utf-8 下载链接:https://download.csdn.net/ ...

最新文章

  1. linux 3.4内核初始化,S3C2440移植linux3.4.2内核之内核框架介绍及简单修改
  2. 2020年春季学期信号与系统课程作业参考答案-第十二次作业
  3. autodesk powerinspect ultimate 2021中文版
  4. js生成简单的树形结构_思维干货收藏,“决策树”一种可视化决策的简单方法...
  5. find命令的技巧和一些例子
  6. php跨域请求解决方案_swoft2 -跨域与中间件详解
  7. UVA-714 二分
  8. 慕课乐学python单元测试答案_中国大学慕课第三章单元测试答案_乐学软件工程免费答案...
  9. 44.分治算法练习:  一元三次方程求解
  10. 卷积神经网络_mnist
  11. android访问服务器405,android – HTTP状态405 – 不允许的方法(jax-rs服务)
  12. php中0, ,null和false的区别
  13. CS224N刷题——Assignment1.3_word2vec
  14. 黑马程序员之《String Buffer,包装类》
  15. 阿里云云计算 38 PolarDB MySQL的数据管理
  16. Live2D和wallpaperEngine公用
  17. winrar4.2 破解 注册码
  18. Abaqus2022安装教程
  19. LABjs(类似于LazyLoad,但它更加方便管理依赖关系)
  20. 湖大计算机考研范围,湖大计算机829考研要点提要(来自于湖南历年真题,整理不易)...

热门文章

  1. 如何使Layouts里的页面应用站点母板页
  2. 预编译、作用域链和闭包理解
  3. drozer与adb工具的安装与使用
  4. webdriver --API--(java版) the second part
  5. ruquireJS入门
  6. PathFinding.js – 综合性的 JavaScript 路径查找库
  7. 黑马程序员-JAVA基础-IO流中的装饰设计模式
  8. 微软称HTML5是IE 9的核心 要尽快淘汰IE 6
  9. Google PageRank的计算源代码
  10. 下列有关python语言的说法正确的是-关于 Python 语言的注释,以下选项中描述正确的是( )...