对文件操作的基本步骤

f=open('a.txt','r',encoding='utf-8')
data=f.read()
print(data)
f.close()

文件的打开和关闭使用open()、close()函数,文件刚打开时光标在最前面

open()函数的第一个参数为要打开的文件名,默认路径为这个脚本所在路径;第二个参数为打开模式,第三个参数为编码格式

文件的打开模式如下,省略的话默认为只读r,文件必须存在否则会报错;使用只写w模式打开,如果文件存在则先将原文件内容清空再写,不存在则创建一个空文件再写;使用读写模式a打开如果文件存在则在原文件内容上追加写,不存在的话先创建

f.readable()  判断文件是否可读,返回True或False

f.readline()  每次读取一行,当读取到文件末尾时再执行readline读取内容为空

f.readlines()  将文件所有内容读出放到一个列表,每行内容为一个元素,例如['hello\n', 'hi\n', 'nice\n']

如果在文件打开时,指定newline=‘’,则换行的结果显示为/r/n(windows平台的换行符为/r/n,unix和linux平台的换行符为/n)

f1=open('b.txt','r',encoding='utf-8')
f2=open('b.txt','r',encoding='utf-8',newline='')
print(f1.readlines())
print(f2.readlines())
f1.close()
f2.close()
执行结果为
['123\n', 'abc']
['123\r\n', 'abc']

f.writable()  判断文件是否可写,返回True或False

f.closed  判断文件是否关闭,返回True或False

f.write()  将内容写入文件

f.writelines()  将列表内容写入文件,f.writelines(['hello\n', 'hi\n', 'nice\n'])

f.encoding 文件打开时候的编码

f.flush()  将内容中的内容刷到硬盘

直接使用open函数打开文件时,还需要手动关闭close文件,否则文件会一直占据内存。使用with open() as f打开文件则无需手动关闭,使用例子如下。

def file_operation():
with open('a.txt','a+',encoding='utf-8') as f:
  f.write('hello')
print(f.read())

文件默认是以t即文本模式进行处理,

b为二进制模式,可以处理除了文本之外的图片、音频、视频等格式的文件,还可以跨平台处理

f=open('test11.py','rb')------以b的方式打开文件时不能指定编码

data=f.read()

print(data.decode('utf-8'))------读取之后以utf-8格式对二进制进行解码

f=open('test22.py','wb')

f.write(bytes('1111\n',encoding='utf-8'))--------bytes函数将指定内容以uft-8格式编码为二进制

f.write('22222\n'.encode('utf-8'))----------encode直接将指定内容以uft-8格式编码为二进制

文件内光标的移动

除去read( )是以字符进行读取的,其他光标的移动都是以字节为单位进行的,如seek、tell、truncate

read(3)表示读取3个字符

seek(3)表示光标向后移动3个字节,默认是从光标在文件最前面开始,也即seek(3,0)

光标的相对移动需要在打开时指定b模式,seek的第二个参数表示移动方式,0为默认方式,即从文件最开头移动,1是相对上一次移动,2是从文件末尾移动

seek(3,1) 表示从光标上一次所在的位置向后移动3个字节

seek(-3,2)表示从文件末尾开始向前移动

truncate(3)表示截取文件前3个字节,必须以可写的方式打开,w和w+除外

tell( )表示显示当前光标所在的字节

python文件操作-r、w、a、r+、w+、a+和b模式的更多相关文章

  1. python 文件操作 r w a

    python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件, ...

  2. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  3. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  4. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  5. day8.python文件操作

    打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...

  6. Python之路Python文件操作

    Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...

  7. Python:文件操作技巧(File operation)(转)

    Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python #  -*- coding: utf8 -*- spath = " D:/dow ...

  8. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

  9. Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  10. 第十二章 Python文件操作【转】

    12.1 open() open()函数作用是打开文件,返回一个文件对象. 用法格式:open(name[, mode[, buffering[,encoding]]]) -> file obj ...

随机推荐

  1. Nginx防止恶意域名解析

    为了防止别人恶意将大量域名解析到自己的网站上面.我们可以对nginx做防止恶意域名解析,这样就只能通过自己的域名访问网站,其他域名就会显示错误500 打开Nginx配置文件nginx.conf,在原来 ...

  2. POJ-2181 Jumping Cows(贪心)

    Jumping Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7329 Accepted: 4404 Descript ...

  3. Java Eclipse编译后产生的字节码文件,用DOS命令符怎么打开

    在很多初学者刚刚接触eclipse的时候,写完一个代码文件.例如 Demo.java 通过run as a java application生成之后,会产生一个Demo.class. Demo.cla ...

  4. HDU 2089 - 不要62 - [数位DP][入门题]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Li ...

  5. CGI servlet Applet Scriptlet Scriptlet JSP data layer(数据层),business layer(业务层), presentation layer(表现层)

    https://en.wikipedia.org/wiki/Common_Gateway_Interface In computing, Common Gateway Interface (CGI) ...

  6. vue.js个人学习心得

    2017.4.7开始辞职刚好一个月时间,一个月时间里我开始彷徨,迷惘,失业带来的痛苦,打算转行,不再搞机械行业,因为不想再做低端的产品设计(本身不是研究生也不是说天资卓越,只是不甘于平凡). 好了,不 ...

  7. Django - 用户认证、用户组、用户权限

    https://www.cnblogs.com/ccorz/p/6358074.html auth模块是Django提供的标准权限管理系统,可以提供用户身份认证, 用户组和权限管理. auth可以和a ...

  8. vs code 设置工作区背景图片方法

    1.扩展--安装background 2.文件--首选项--设置--在settings.josn中编辑--右侧用户设置添加 "background.useFront": false ...

  9. 位运算求最值 学习笔记 (待补充QAQ)

    没有什么前言?直接进入正题qwq 俩俩异或 求最值: 建trie树 O(n)枚举每个数找这个数的最值,每次反走就成,还可以剪枝一波(如果在某位已经小于ans显然可以直接return? void Ins ...

  10. JS模块化编程(一)

    需求背景 // 实际开发常需要将一些公用方法打包放在一个js文件,写法大致如下     function f1(){         // ...     }     function f2(){   ...