文件操作

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. 数据存储之使用MongoDB数据库存储数据

    安装MongoDB环境: 1.官网下载:https://www.mongodb.com/download-center#community 2.MongoDB可视化工具compass下载https:/ ...

  2. Django2.2使用mysql数据库pymysql版本不匹配问题的解决过程与总结

    前置条件 django版本:2.2.1 python版本:3.6.6 mysql版本:mysql-community8.0.15 问题 在搭建django项目,配置mysql数据库时遇到无法迁移数据库 ...

  3. Serializer序列器

    定义Serializer 1. 定义方法 Django REST framework中的Serializer使用类来定义,须继承自rest_framework.serializers.Serializ ...

  4. STM32位带操作

    STM32的位带操作是基于cortex内核自带的,而不是st公司独创.基本的思路就是用一个32位的地址空间访问一个bit,因为stm32只支持32位数据的读取,不像51单片机一样,是可以单独对一位操作 ...

  5. Redis实现之对象(一)

    对象 前面我们介绍了Redis的主要数据结构,如:简单动态字符串SDS.双端链表.字典.压缩列表.整数集合等.Redis并没有直接使用这些数据结构来实现键值对数据库,而是基于这些数据结构创建了一个对象 ...

  6. Django 四——ModelForm用法

    内容概要: 1.新增数据库表中数据 2.更新数据库表中数据 Django的ModelForm Django中内置了Form和Model两个类,有时候页面的表单form类与Model类是一一对应,因此分 ...

  7. 【Reverse Linked List II】cpp

    题目: Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1- ...

  8. BugKu-妹子的陌陌

    打开后看这张图片,先放winhex里面,文件头FFD8,是jpg图片.看文件尾并不是FFD9,所以binwalk分析一下. 发现有一个rar文件,然后用foremost分离.发现里面有个加密的rar文 ...

  9. Python学习-day16-DOM

    文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...

  10. hnust Snowman

    问题 D: Snowman 时间限制: 1 Sec  内存限制: 128 MB提交: 203  解决: 94[提交][状态][讨论版] 题目描述 前言:这是某比赛的热身题,本题主要考察英文水平,只要看 ...