Python零基础入门学习之输入与输出


Posted in Python onApril 03, 2019

简介

在之前的编程中,我们的信息打印,数据的展示都是在控制台(命令行)直接输出的,信息都是一次性的没有办法复用和保存以便下次查看,今天我们将学习Python的输入输出,解决以上问题。

复习

得到输入用的是input(),完成输出用的是print(),之前还有对字符串的操作,这些我们都可以使用help()命令来查看具体的使用方法。

文件

在Python2的时候使用的是file来创建一个file类,对它进行操作。Python3中去掉了这个类(我没有查到,只是猜测),使用open来打开一个文件,返回一个IO的文本包装类,之后我们使用这个类的方法对它进行操作。

Python零基础入门学习之输入与输出

使用文件

poem = '''\
Programming is fun
when the work is done
if 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()

运行结果

Python零基础入门学习之输入与输出

如何工作

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零基础入门学习之输入与输出

自动创建的文件。

储存器

Python中提供了一个pickle模块。通过这个模块你可以在文件中存储任何Python对象,你又可以从这个文件中吧对象取出。这被称为持久的存储对象。还有另一个模块称为cPickle,它的功能和pickle模块完全相同,只不过它是用C语言编写的,因此它的速度要快很多(比pickle快1000倍,Python3中取消使用)。这里将使用Pickle模块。

使用import...as...语法可以用as后的字符代替as前的字符,模块使用起来更简洁。将数据保存到打开的文件中就是存储,open一个文件,调用模块的dump函数,将数据存到文件中。使用模块的load函数返回存储的对象,这个过程叫做取存储。

import pickle as p

shoplistfile = 'shoplist.data'

shoplist = ['apple','mango','carrot']

f = open(shoplistfile,'wb')
#将数据写入打开的文件中
p.dump(shoplist,f)
f.close()

del shoplist

f = open(shoplistfile,'rb')
storedlist = p.load(f)
print(storedlist)

print(__doc__)

运行结果

Python零基础入门学习之输入与输出

这里使用的就是二进制的写入,读取的时候也使用的二进制,和写入的数据有关,这个大家多多留意。

Python的输入与输出就写到这里,大家多多探索会有更多的知识等待你发掘。

Python 相关文章推荐
python链接Oracle数据库的方法
Jun 28 Python
Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程
Jul 11 Python
pycharm下打开、执行并调试scrapy爬虫程序的方法
Nov 29 Python
pandas全表查询定位某个值所在行列的方法
Apr 12 Python
python2与python3的print及字符串格式化小结
Nov 30 Python
Opencv+Python 色彩通道拆分及合并的示例
Dec 08 Python
使用WingPro 7 设置Python路径的方法
Jul 24 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
Aug 13 Python
解决Django migrate不能发现app.models的表问题
Aug 31 Python
使用Python实现牛顿法求极值
Feb 10 Python
python3 xpath和requests应用详解
Mar 06 Python
Python bisect模块原理及常见实例
Jun 17 Python
快速排序的四种python实现(推荐)
Apr 03 #Python
搞定这套Python爬虫面试题(面试会so easy)
Apr 03 #Python
Python3实现从排序数组中删除重复项算法分析
Apr 03 #Python
Python3安装Pillow与PIL的方法
Apr 03 #Python
python使用requests模块实现爬取电影天堂最新电影信息
Apr 03 #Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 #Python
Python3实现计算两个数组的交集算法示例
Apr 03 #Python
You might like
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
JQuery给元素添加/删除节点比如select
2013/04/02 Javascript
动态标签 悬停效果 延迟加载示例代码
2013/11/21 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
a标签跳转到指定div,jquery添加和移除class属性的实现方法
2016/10/10 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
用file标签实现多图文件上传预览
2017/02/14 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
基于AngularJS的简单使用详解
2017/09/10 Javascript
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
js 只比较时间大小的实例
2017/10/26 Javascript
微信小程序webview实现长按点击识别二维码功能示例
2019/01/24 Javascript
uni-app微信小程序登录并使用vuex存储登录状态的思路详解
2019/11/04 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
Vue项目中使用mock.js的完整步骤
2021/01/12 Vue.js
如何在django中实现分页功能
2020/04/22 Python
解决Python中导入自己写的类,被划红线,但不影响执行的问题
2020/07/13 Python
HTML5混合开发二维码扫描以及调用本地摄像头
2017/12/27 HTML / CSS
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
Etam俄罗斯:法国女士内衣和家居服网上商店
2019/10/30 全球购物
美国椅子和沙发制造商:La-Z-Boy
2020/10/25 全球购物
俄罗斯厨房产品购物网站:COOK HOUSE
2021/03/15 全球购物
旷课检讨书大全
2014/01/21 职场文书
十月份红领巾广播稿
2014/01/22 职场文书
工艺工程师岗位职责
2014/03/04 职场文书
如何写好自荐信
2014/04/07 职场文书
信访工作经验交流材料
2014/05/23 职场文书
协会周年庆活动方案
2014/08/26 职场文书
银行柜员与客户起冲突检讨书
2014/09/27 职场文书
打架赔偿协议书范本
2014/10/26 职场文书
考试作弊检讨书怎么写?
2014/12/21 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书