文件操作

Python3用open()方法打开文件并返回文件句柄,有了文件句柄就可以对文件进行各种操作了。

打开文件:

open(“文件名” , 打开方式)            如: f=open(“file.txt”, ‘r’)

# 文件名通常是文件全名,即有路径和扩展名的文件名,如果没有写路径默认为当前路径

# 打开方式决定了文件打开后的状态及如何操作:

r                 # 只读方式(默认的模式,打开的文件不存在会报错)

w               # 只写方式(不可读,文件不存在则创建,存在则清空内容)

a                # 追加写方式(不可读,文件不存在则创建,存在则追加内容)

r+               # 可读、可写;可追加,如果打开的文件不存在的话,会报错

w+             # 写读模式,存在的文件内容会被清空,可以读到已经写的文件内容

a+              #追加读写模式,不存在则创建;存在则只追加内容

文件操作的常用方法:

f = open('file.txt','r+',encoding='utf-8')    #encoding参数可以指定文件的编码

f.readline()                 # 读一行,返回数据的类型为‘字符串’

f.readable()                # 判断文件是否可读

f.writable()                 # 判断文件是否可写

f.encoding                  # 返回文件的编码

f.read()                        # 读取所有内容,返回数据的类型为‘字符串’

# 大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆

f.readlines()               #读取所有文件内容,返回数据的类型是‘列表’,元素是每行的数据,大文件时不要用

# 因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆

f.tell()                          # 获取当前文件的指针指向

f.seek(0)                     # 把当前文件指针指向哪

f.write('爱情证书')  # 写一个字符串到文件

f.writelines([‘123’,’456’,’789’])                  # 写一个列表到文件

f.fulsh()                       #写入文件后,立即从内存中把数据写到磁盘中

f.truncate()                #清空文件内容

f.close()                       # 关闭文件

高效读取文件的方法,是利用循环遍历读取文件的行:

f = open('file.txt')

for line in f:

  print(line)

# line是每行文件的内容,读完一行,就会释放一行的内存

使用with结构:

文件操作结束后需要关闭文件释放系统资源,但关闭文件常常会被忘记,使用whith方法后文件会被自动关闭。

#打开一个文件,把这个文件的句柄付给f

with open('file.txt','r') as f:

for line in f:

print(line)

#这个是多文件的操作,打开两个文件,fr是读file.txt,fw是新建一个file_bak文件

with open('file.txt') as fr,with open('file_bak','w') as fw:

for line in fr:                       # 循环file.txt中的每一行

fw.write(line)               #写到file_bak文件中

Python学习杂记_7_文件操作的更多相关文章

  1. Python学习:7.文件操作

    文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...

  2. 【Python学习之六】文件操作

    环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...

  3. python学习笔记之文件操作(三)

    这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...

  4. python学习笔记4(文件操作)

    文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”)      直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...

  5. python学习笔记三 文件操作(基础篇)

    文件操作 打开文件 open(name[,mode[,buffering]])   open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉]   w ...

  6. python学习第十八天 --文件操作

    这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...

  7. python学习笔记(三):文件操作和集合

    对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句柄操作文件 3.关闭文件. 文件基本操作: f = open('file.txt','r') #以只读方式打开一个 ...

  8. Python学习之路——文件操作

    文件操作分三步:打开文件,读写文件,关闭文件.读取操作时没有给read函数加括号,会出现下面这样的车祸 >>> data = open('/home/supersun/Documen ...

  9. Python学习笔记 - day5 - 文件操作

    Python文件操作 读写文件是最常见的IO操作,在磁盘上读写文件的功能都是由操作系统提供的,操作系统不允许普通的程序直接操作磁盘(大部分程序都需要间接的通过操作系统来完成对硬件的操作),所以,读写文 ...

随机推荐

  1. Fakeapp 入门教程(3):参数篇

    参数可以让软件自由度更高.Fakeapp的参数并不算多,但是也非常使用.本文就讲解下几个重要的参数.参数设置界面可以通过点击SETTINGS打开. 参数修改无需点击保存,一旦修改直接生效. Proce ...

  2. 动态规划:HDU-2955-0-1背包问题:Robberies

    解题心得: 这题涉及概率问题,所以要运用概率的知识进行解答.题目要求不被抓到的概率,但是给出的是被抓到的概率,所要用1减去后得到答案.最好使用double类型,避免精度问题导致WA. 先算出可以抢劫的 ...

  3. Hibernate中1+N问题以及解决方法

    1. Hibernate中的1+N问题描述 在多对一关系中,当我们需要查询多的一方对应的表的记录时,可以用一条sql语句就能完成操作.然而,在多的一方的实体类中的@ManyToOne标注的fetch的 ...

  4. 定时任务之crond服务

    计划任务分为一次性计划任务与长期性计划任务 一次性计划任务:今天11:25执行重启网卡操作,执行结束 即任务消失  一次性计划任务格式: 创建:"at 时间" #默认采用的是交互式 ...

  5. 自我介绍&友链

    目录 此博客 我是谁? 友链 此博客 此博客主要更新一些题解什么的...(随缘啦) 本蒟蒻太菜了,博客中出现了错误希望指出,谢谢! . . 我是谁? SD的一名蒟蒻!emm... 喜欢摸鱼. 喜欢抽卡 ...

  6. 动态加载css,js

    function dynamicLoadCss(url) { var head = document.getElementsByTagName('head')[0]; var link = docum ...

  7. System.AccessViolationException”类型的第一次机会异常在 System.Data.dll 中发生 其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

    管理员cmd中运行  netsh winsock reset

  8. leetcode 【 Two Sum 】python 实现

    题目: Given an array of integers, find two numbers such that they add up to a specific target number. ...

  9. Python学习-day10(番外篇) 阻塞IO 非阻塞IO 同步IO 异步IO

    这个章节的内容是关于IO的概念,谈一谈什么是 阻塞IO 非阻塞IO 同步IO 异步IO.以下摘要是我对这四种IO的一个形象理解. 场景是去去银行办理业务.节点有三个,1)到银行提交申请:2)取号:3) ...

  10. 【转】网页游戏能用PHP做后端开发吗? PHP Libevent扩展安装及应用

    网页游戏能用PHP做后端开发吗? 当然可以.最好走HTTP,也可以做网络编程,而且写代码超简单,1个函数就可以建一个服务器端.stream_socket_server()多线程不是什么好主意,你可以用 ...