python基金会主席入门教程_Python基金会-文件IO操作,python,基础

函数

功能

open

打开文件

read

读取文件

write

写文件

close

关闭文件

readline

行读取

readlines

多行读取

open方法

open方法:

打开一个文件,返回一个文件对象(流对象)和文件描述符,打开文件失败则抛异常

三步曲:创建文件,打开文件,关闭文件(好像是废话

^_^

),但是关闭文件是一个很好的习惯,否则文件描述符可能会被消耗殆尽

直接上代码:

f = open('test', 'r') #文件对象

# windows <_io.textiowrapper name="test" mode="r" encoding="cp936">

# linux <_io.textiowrapper name="test" mode="r" encoding="UTF-8">

#windows默认使用的编码与linux不同

print(f.read()) #读取文件

f.close() #关闭文件

文本访问的模式:

1.文本模式

2.二进制模式

open参数

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

open参数之file:文件对象

file:打开或要创建的文件名,不指定路径的话则表示当前路径

mode模式:

模式描述字符

功能

r

缺省模式,只读

w

只写打开,文件不存在则创建

x

创建并写入一个新文件,文件已存在则报错

a

只写打开,追加内容

b

二进制模式

t

默认模式,文本模式

+

读或写打开后,使用+来增加缺失的读或写的能力

对于IO操作来说,大致以一分为两类:

只读r

只写w,x,a

增加缺失能力

r模式: f = open('filename', 'r')

- 只读打开文件,如果使用write方法打开文件对象会跑异常

- 如果打开的文件对象不存在,则会抛FileNotFoundError异常

w模式:f = open('filename', 'w')

- 使用只写模式打开文件对象,若对文件进行读操作则会抛异常

- 如果文件对象不存在,则直接创建文件

- 如果文件对象存在,则会清空文件内容

x模式:f = open('filename', 'x')

- 打开的文件对象必须不存在,否则抛FileExistsError异常

- 创建文件,并且使用只写模式打开文件对象

a模式: f = open('filename', 'a')

- 文件存在,追加模式操作文件,并且是只写模式

- 文件不存在就会创建文件,并且使用只读模式追加操作文件

wxa模式都可以产生新文件

w不管文件存在与否,都会生成全新内容的文件

a不管文件是否存在,都能在打开的文件尾部追加

x必须要求文件事先不存在,自己要造一个新文件

文本模式:t(text模式)

字符流:将文件内容按照一定的编码规范来理解,按照字符操作。open方法

的模式模式就是rt

二进制模式:b(byte模式)

字节流:将文件按照字节理解,与编码规范无关。字节操作使用bytes类型

+模式:补充缺失的读或写权限

辅助功能:为r,w,a,x提供写或者读的功能

注意点:x模式不能单独使用,需配合以上四种模式使用

open参数之encoding:编码,仅文本模式使用

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

None表示缺省编码,依据操作系统而定:

f = open('test', 'w')

f.write('啊')

f.close()

windows下默认为GBK编码(0xB0A1),Linux下缺省UTF-8(0xE5 95 8A)

文件指针

mode=r,指针起始位置在0

mode=a,指针起始位置为EOF

>>> f = open('./files/test.txt', 'a') #test.txt文件事先不存在

>>> f.write('啊abc') #文件描述符调用write方法写入内容

>>> f.close() #关闭文件对象

>>> cat ./files/test.txt

啊abc

>>> f1 = open('./files/test.txt', 'r') #只读模式

>>> f1.read()

'啊abc'

>>> f = open('./files/test.txt', 'wb+')

>>> f.write(b'abc')

>>> print(f.tell())# 显示文件指针当前所在

3

>>> f.read() #因为文件指针在文件末尾,因此读取文件时不能读取到内容

b''

>>> f.close()

>>> f = open('./files/test.txt', 'rb+')

>>> f.read()

b'abc'

read方法

read(size=-1): size表示读取多少个字符或字节;负数或者None表示读取到EOF

>>> f = open('filename', 'w+')

>>> f.write('hello world')

>>> f.close()

>>> f = open('filename')

>>> f.read(1) #读取一个字符

>>> f.read(3) #再读取两个字符

>>> f.close()

write方法

filename = 'o:/test.txt'

f = open(filename, 'w+')

lines = ['abc', '123\n', 'magedu'] # 需提供换行符

# for line in lines:

# f.write(line)

f.writelines(lines)

f.seek(0) # 回到开始

print(f.read())

f.close()

文件的遍历

#f = open('filename', 'rt+')

with open(filename) as f:

f.write('\n'.join(map(str, range(101, 120))))

with open(filename) as f:

for line in f: # 文件对象时可迭代对象,逐行遍历

print(line.encode()) # 带换行符

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296885.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Sys.WebForms.PageRequestManagerTimeoutException:服务器请求超时

Sys.WebForms.PageRequestManagerTimeoutException:服务器请求超时 在页面上使用Ajax技术时&#xff0c;当页面的程序持续时间较长时&#xff0c;程序突然会中断&#xff0c;出现上述错误&#xff0c;最后查阅资料发现ScriptManager的AsyncPostBackTimeout异步请求是有时间限制…

实现一个登录:Mac+.NET 5+Identity+JWT+VS Code

.NET圈儿的朋友们&#xff0c;大家好&#xff01;我可太喜欢如今开源的.Net了&#xff0c;写代码很巴适&#xff01;所以今天分享一下之前学习的一个登录小案例&#xff0c;代码有不足之处欢迎指正&#xff01;&#xff01;&#xff01;工具&#xff1a;采用VS Code及其插件开发…

linux e514写入错误,Linux上使用vim编辑文件保存时报错:E514: write error (file system full?)...

今天在Linux上使用vim编辑文件保存时报如下错误E514: write error (file system full?)从错误看&#xff0c;是磁盘满了&#xff0c;于是使用df -hl查看磁盘使用情况$ sudo df -hlFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_myserver-lv_root 50G 43G 4.6G 91…

天体运行动图,如此美妙,如此震撼!

全世界只有3.14 % 的人关注了爆炸吧知识三体中心天体也在运动双星系统银河系与仙女系相撞模拟转自&#xff1a;奇趣物理--完--

链接链接新手变化需要注意哪些问题

昨天“新手高速早期排名提升的关键因素 ”seo文章中提到不包含在预。没有排名&#xff0c;没有交通情况只有通过链接重量提升&#xff0c;不过&#xff0c;昨天的帖子时&#xff0c;有一个提为好友。除非你是一个人或资源非常丰富的静脉。情链接也不是非常好换&#xff1f;相信…

[转载]工作面试时最难的25个问题

原文地址&#xff1a;工作面试时最难的25个问题作者&#xff1a;zcan准备是成功的一半 如果你是一个对目前的职位不满意&#xff0c;正着手去在新的一年里找到一个新的职位&#xff0c;这篇文章就是你的一个帮手。工作面试是你去面对未来的老板的征途中最重要的一个过程。你必须…

ASA 第五天实验

Failover的需求 • 相同的型号和硬件配置&#xff08;接口数量和模块&#xff09; • 相同的软件版本* • 相同的加密特性&#xff08;DES or 3DES&#xff09; • 相同大小的flash和RAM* 一、配置StatefulAS Lan-based FO 步骤一、 hostname ASA interface Ethernet0/0 nameif…

密封槽设计标准_哈尔滨轴承 | 超全面机械密封选型

有转动的地方&#xff0c;就有HRB轴承(400-086-6629)100多年来&#xff0c;人们采用填料一类的多种密封材料&#xff0c;使液体从液泵壳体沿着主轴的向外泄漏量不断减少。尽管现代工艺流程中采用的液泵&#xff0c;仍然广泛地沿用最古老的密封设计——填料盒&#xff0c;因为其…

linux+awk忽略tab符号,awk 如何避免文本中出现特殊符号的影响?

纯 awk 的解决方案&#xff0c;parse_csv 函数通过第一个返回一个 awk 数组&#xff0c;包含分隔好的 CSV 字段&#xff0c;直接用下标取值使用就可以了。注意&#xff0c;awk 的数组下标从 1 开始。# parse csv files to an awk array.awk -F, {parse_csv(r);# replace follow…

重要更新,Office Add-in将全面支持Webview2

在陪娃上课&#xff0c;耳边回响着美妙的音乐&#xff0c;打开电脑码字&#xff0c;给大家分享一个非常重要的消息&#xff1a;Office Add-in将全面支持WebView2了。Office的开发爱好者可能会对此很感兴趣&#xff0c;虽然新一代的Web Add-in随着Office 365的推出&#xff0c;也…

哈佛学者:这3本英文名著,每天小读10分钟,英语level暴涨....

全世界只有3.14 % 的人关注了爆炸吧知识《锵锵》中窦文涛曾说过&#xff1a;“读原著学英语&#xff0c;就像有了可视化进度条&#xff0c;每天的提升肉眼可见。”今天就给大家推荐3本豆瓣高分英文名著&#xff0c;学英语不枯燥&#xff0c;每天小读10分钟&#xff0c;即可学到…

Oracle下SQL基本操作(二)

----------------------------建表&#xff0c;与插入数据 --创建职务表 CREATE TABLE POSITION( POSITIONID VARCHAR2(2), POSITIONNAME VARCHAR2(20), CONSTRAINTS POS_ID_PK PRIMARY KEY (POSITIONID) ); --创建工资级别表 CREATE TABLE EMPLEVEL( LEVELNO VARCHAR2…

php -- 用文本来存储内容,file_put_contents,serialize,unserialize

根据存储的内容来划分 字符串&#xff1a; file_put_contents &#xff1a;将一个字符串写入文件 语法&#xff1a;int file_put_contents ( string $filename , mixed $data [, int $flags 0 [, resource$context ]] ) 参数 filename&#xff1a;要被写入数据的文件名。 data…

python入门html_python-html入门

网页三剑客&#xff1a;HTML、CSS、JS上网就是下载网页&#xff0c;web页面是浏览器的执行结果&#xff0c;浏览器是代码解释器超文本&#xff1a;指页面内容可以包含图片、链接、音乐、程序等非文本元素。标签语言特点&#xff1a;简单<>标签属性&#xff1a;1)键值对2)…

Android一些知识总结

Android一些知识总结 近来看zp的android视频&#xff0c;按照他的视频中开发了几个小软件&#xff0c;学到了一些自己以前都没有学到的知识&#xff0c;所以在这儿总结一下&#xff0c;偶尔温习对自己有很大的帮助吧。 1.关于paddingLeft和layout_marginLeft&#xff1a; andro…

linux aemv7,无法在我的Ubuntu machin中安装“xlwings”

我试图在我的Ubuntu机器上安装xlwings模块&#xff0c;但失败如下pip3 install xlwingsCollecting xlwingsUsing cached https://files.pythonhosted.org/packages/cc/c9/6bb1849dbee6e8a40beb9a0d21df9787bee45cda1d0bb575a0cd388dd260/xlwings-0.15.3.tar.gzComplete output …

女朋友当众甩了我一巴掌,我扑上去......

1 小朋友&#xff0c;你是否有很多问号&#xff1f;▼2 小鸟&#xff1a;我呸&#xff01;秀什么秀&#xff1f;没眼看&#xff01;▼3 开学后你的上课状态......▼4 不能总让保安叔叔拿枪指我▼5 哥哥&#xff1a;让我看看&#xff0c;我妹妹怎么那么可爱&#xff01;▼6…

为什么我们要做2021.NET中国开发者调研

今年7月的时候&#xff0c;由上海MS Reactor牵头&#xff0c;我们做了一次小型的闭门会议。主要是围绕.NET开源方向进行讨论。 数闪科技的技术总监谷首道给我们带来的消息是他们有意将公司目前正在研发和使用的一整套技术框架进行开源。亲切可爱的辛老师、盛派创始人苏震巍、数…

Linux PCI 设备驱动基本框架(一)

Linux将所有外部设备看成是一类特殊文件&#xff0c;称之为“设备文件”&#xff0c;如果说系统调用是Linux内核和应用程序之间的接口&#xff0c;那么设备驱动程序则可以看成是 Linux内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节&#xff0c;使…

Request对象

当客户端发出请求执行asp.net程序时&#xff0c;CLR会将客户端的请求信息包含在Request对象中。这些请求信息包括请求报头&#xff0c;客户端的基本信息&#xff08;如浏览器类型&#xff0c;浏览器版本号&#xff0c;用户所用的语言以及编码方式等&#xff09;&#xff0c;请求…