时间:2021-05-22
简介
在之前的编程中,我们的信息打印,数据的展示都是在控制台(命令行)直接输出的,信息都是一次性的没有办法复用和保存以便下次查看,今天我们将学习Python的输入输出,解决以上问题。
复习
得到输入用的是input(),完成输出用的是print(),之前还有对字符串的操作,这些我们都可以使用help()命令来查看具体的使用方法。
文件
在Python2的时候使用的是file来创建一个file类,对它进行操作。Python3中去掉了这个类(我没有查到,只是猜测),使用open来打开一个文件,返回一个IO的文本包装类,之后我们使用这个类的方法对它进行操作。
使用文件
poem = '''\Programming is funwhen the work is doneif you wanna make your work also fun:use Python!'''#poem1 = '''liu'''#读模式('r')、写模式('w')或追加模式('a')。#如果有文件就读取,没有就创建f = open('poem.txt','w')#f = open('poem.txt','a')f.write(poem)#f.write(poem1)f.close()type(f)print(f)f = open('poem.txt','r')while True: line = f.readline() if len(line) == 0: break print(line, end='')f.close()运行结果
如何工作
open方法第一个参数是你的文件名和路径,我的文件和程序在同一个文件夹下所以只需要填写文件名即可,第一个参数后面可以跟很多参数来完成不同的操作,而且很多参数是由默认值的,通过我们之前对函数的学习知道这样做的好处。
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) ========= =============================================================== Character Meaning --------- --------------------------------------------------------------- 'r' open for reading (default) 'w' open for writing, truncating the file first 'x' create a new file and open it for writing 'a' open for writing, appending to the end of the file if it exists 'b' binary mode 't' text mode (default) '+' open a disk file for updating (reading and writing) 'U' universal newline mode (deprecated) ========= ===============================================================这个mode参数是主要的参数,大家记住这个就可以,mode参数可以很多个参连在一起使用比如open('text1.txt','wb')这个就是使用二进制写数据,一会就会使用到。
这个文件是不用手动创建的,在你的路径下有这个文件的话,就会打开这个文件,如果没有会自动创建这个文件。
读文件的时候使用的是循环读取,使用包装类的readline()方法,读取每一行,当方法返回0时,表示文件读取完成,破坏循环条件,关闭IO。
自动创建的文件。
储存器
Python中提供了一个pickle模块。通过这个模块你可以在文件中存储任何Python对象,你又可以从这个文件中吧对象取出。这被称为持久的存储对象。还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此它的速度要快很多(比pickle快1000倍,Python3中取消使用)。这里将使用Pickle模块。
使用import...as...语法可以用as后的字符代替as前的字符,模块使用起来更简洁。将数据保存到打开的文件中就是存储,open一个文件,调用模块的dump函数,将数据存到文件中。使用模块的load函数返回存储的对象,这个过程叫做取存储。
import pickle as pshoplistfile = 'shoplist.data'shoplist = ['apple','mango','carrot']f = open(shoplistfile,'wb')#将数据写入打开的文件中p.dump(shoplist,f)f.close()del shoplistf = open(shoplistfile,'rb')storedlist = p.load(f)print(storedlist)print(__doc__)运行结果
这里使用的就是二进制的写入,读取的时候也使用的二进制,和写入的数据有关,这个大家多多留意。
Python的输入与输出就写到这里,大家多多探索会有更多的知识等待你发掘。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
梧州网站建设初学者零基础入门学习网络营销的经验分析!本文主要介绍了网络营销推广初学者零基础学习的五个要点。现在很多网民的网络意识还处于初级阶段,中学生也是劣
本次博客分享的内容为基于有道在线翻译实现一个实时翻译小程序,本次任务是参考小甲鱼的书《零基础入门学习Python》完成的,书中代码对于当前的有道词典并不适用,使
零基础学SEO靠谱吗?可以学会吗?当然了。今天,给大家带来的是零基础学SEO的相关知识。希望对大家有所帮助。一、零基础学SEO可以吗当然没问题!SEO入门非常简
零基础入门ctf的方法如下: 1、首先要学习基础知识,推荐阅读CTF专业教程,了解ctf; 2、从基础题出发。在学习过程中要适当地做一些关于理论知识的习题,
零基础学Java还是Python开发?没有基础想学习一门编程语言,不知道学Java好还是学Python更合适,在选择学Java编程语言还是Python编程语言之