百科狗-知识改变命运!
--

Python处理文件的几个常用小知识

是丫丫呀1年前 (2023-11-21)阅读数 21#技术干货
文章标签文件

python这门语言有个很大的用途就是使用它来进行文件处理,学会处理文件和保存数据可以让你的程序使用起来更加容易和方便,因此小编为大家准备了几个处理文件常用的几个小知识,快来一起学习吧!

1、读取文件数据

文本文件可存储的数据量非常丰富,像天气数据、交通数据、文学作品等。每当我们需要分析或修改储存在文件中的信息时,读取文件就显得尤为重要。想读取一个文件的信息,我们可以一次性读取全部内容,也可以每次一行逐步读取。

读取整个文件

我们先来创建一个包含几行文本的文件,在编辑器中输入以下数据行,保存为txt格式:

pi.txt:

3.1415926535

8979323846

2643383279

打开并读取该文件:

withopen('pi.txt')asfile:

contents=file.read()

print(contents)

在这行程序中,出现了两个函数open()和read()。

函数open()用于打开一个文件,它接受的参数是要打开文件的名称,Python会在当前执行的文件目录中查找指定的文件,然后返回一个表示文件的对象。

方法read()用于读取这个文件的全部内容,并将其作为一个长长的字符串储存在变量contents中。但这段程序的运行结果大家可以尝试一下,它会把这个文本的内容全部输出并在最后多出一行空行,这是因为read()到达文件末尾时会返回一个空字符串,显示在结果就是一个空行。如果想要删除末尾的空行,可以在print中使用rstrip():

print(contents.rstrip())

关于文件路径,我们需要注意的是,Linux系统和windows有一点不同:

在Linux和OSX中(使用斜杠/):

withopen('files/filename.txt')asfile_object:

在Windows中(使用反斜杠\):

Python处理文件的几个常用小知识

withopen('files\filename.txt')asfile_object:

逐行读取

如果想每次一行的读取文件,可对文件对象使用for循环:

filename='pi.txt'

withopen(filename)asfile:

forlineinfile:

print(line)

同样,为了删除每一行多余出来的空行,我们可以使用rstrip():

filename='pi.txt'

withopen(filename)asfile:

forlineinfile:

print(line.rstrip())

创建一个包含文件各行内容的列表

当使用with时,open()返回的文件对象只能在with代码块内使用。如果想要在代码块外访问文件内容时,我们可以在with代码块内将文件的各行储存在一个列表中,并在with代码块外使用该列表访问。

filename='pi.txt'

withopen(filename)asfile:

lines=file.readlines()

forlineinlines:

print(line.rstrip())

方法readlines()表示从文件中读取每一行,并将其储存在一个列表中。

使用文件内容

filename='pi.txt'

withopen(filename)asfile:

lines=file.readlines()

ss=''

forlineinlines:

ss+=line.strip()

print(ss)

该程序运行结果为:3.141592653589793238462643383279

2、写入文件

写入空文件

将文本写入文件,可以在调用open()时提供另一个实参。即打开文件时,可以指定需要的模式:'r'读取模式,'w'写入模式,'a'附加模式,'r+'读取和写入模式。python默认只读模式。

withopen(filename,'w')asfile:

file.write("abcdefg")

注意:python只能将字符串写入文本文件,如果想把数值数据储存到文本文件,必须先使用函数str()将其转为字符串格式。

写入多行

withopen(filename,'w')asfile:

file.write("abcdefg\n")

file.write("hijklmn\n")

存储数据python中常使用json来存储数据。json可以将简单的python数据结构转存到文件中,并在程序再次运行时加载该文件中的数据。

JSON数据格式并非python专用,它是一种常用的数据格式,很有用,也易于学习。

json.dump()和json.load()

这两个函数分别用于储存数据和加载数据。json.dump()接受两个实参:要储存的数据和用于储存数据的文件对象。json.load()用于加载存储在json文件中的信息。

importjson

num=[1,2,3,4,5]

filename='a.json'

withopen(filename,'w')asf:

json.dump(num,f)

withopen(filename)asf:

num=json.load(f)

print(num)

这是一种在程序之间共享数据的简单方式。

实现一个小功能

下面这个程序可以实现我们常常在游戏开头时遇到的一个小功能,一起来试试吧!

importjson

#如果以前储存了用户名就加载它,否则,就提示用户输入名字并存储

filename='name.json'

try:

withopen(filename)asf:

username=json.load(f)

exceptFileNotFoundError:

name=input("你叫什么名字?")

withopen(filename,'w')asf:

json.dump(name,f)

print("我们会记住你的,"+name+"!")

else:

print("欢迎回来,"+name+"!")

以上内容为大家介绍了Python处理文件的几个常用小知识,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注IT培训机构:开发教育。http://www.baikegou.com/

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)