博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python基础知识七
阅读量:6094 次
发布时间:2019-06-20

本文共 1789 字,大约阅读时间需要 5 分钟。

我们会使用raw_inputprint语句来完成这些功能。

对于输出,也可以使用多种多样的str(字符串)类。

例如使用rjust方法来得到一个按一定宽度右对齐的字符串。

 

可以通过创建一个file类的对象来打开一个文件,分别使用

file类的readreadlinewrite方法来恰当地读写文件。

对文件的读写能力依赖于你在打开文件时指定的模式。最后,当你完成对文件的操作的时候,调用close方法来告诉

python我们完成了对文件的使用。

 

poem='''Programming is fun

When the work is done

if you wanna make your work also fun:

use python!

'''

f=file('poem.txt','w')#open for 'w'ritint

f.write(poem) #write text to file

f.close() #close the file

 

f=file('poem.txt')

#if no m ode is specified,'r'ead mode is assumed by default

while True:

line=f.readline()

if len(line)==0:#zero length indicates EOF

break

print line,

#Notice comma to avoid automatic new line added by python

f.close()

 

输出:

$ python using_file.py

Programming is fun

When the work is done

if you wanna make your work also fun:

use Python!

 

首先,我们通过指明我们希望打开的文件和模式来创建一个file类的实例。模式可以为读模式('r')、写模式('w')或追加模式('a')。事实上还有很多模式,用help(file)了解

 

首先用写模式打开文件,然后使用file类的write方法来写文件,最后我们用close关闭这个文件。

 

接下来,我们再一次打开同一个文件来读文件。如果没有指定模式,读模式会作为默认的模式。在一个循环中,我们使用readline方法读文件爱你的每一行。这个方法返回包括行末换行符的一个完整行。所以,当一个空的字符串被返回的时候,即表示文件末已经到达了,于是我们停止循环。

注意,因为从文件读到的内容已经以换行符结尾,所以我们在print语句上使用逗号来消除自动换行。

 

储存器

python提供一个标准的模块,称为pickle。使用它可以在一个文件中储存任何python对象,之后你又可以完整地取出来。这被称为持久地储存对象。

还有一个模块称为cpickle,功能模块和pickle模块完全相同,只不过它是C语言编写,快1000倍。下面使用cpickle模块

 

import cPickle as p

#import pickle as p

 

shoplistfile='shoplist.data'

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

 

f=file(shoplistfile,'w')

p.dump(shoplist,f)#dump the object to file

f.close()

 

del shoplist #remove the shoplist

 

#read back from storage

f=file(shoplistfile)

storedlist=p.load(f)

print storedlist

 

首先,注意我们使用了import…as语法,这是一种便利方法,我们可以使用更短的模块名称。在程序的其他部分,我们简单地把这个 模块称为P

为了在文件里储存一个对象,首先以写模式打开一个file对象,然后调用储存器模块的dump函数,把对象储存到打开的文件中。这个过程称为储存。

接下来,我们使用pickle模块的load函数的返回来取回对象。这个过程称为去储存。

转载于:https://www.cnblogs.com/likeshu/p/4967341.html

你可能感兴趣的文章
本地连接linux虚拟机的方法
查看>>
某公司面试java试题之【二】,看看吧,说不定就是你将要做的题
查看>>
BABOK - 企业分析(Enterprise Analysis)概要
查看>>
Linux 配置vnc,开启linux远程桌面
查看>>
CentOS6.4关闭触控板
查看>>
React Native 极光推送填坑(ios)
查看>>
Terratest:一个用于自动化基础设施测试的开源Go库
查看>>
修改Windows远程终端默认端口,让服务器更安全
查看>>
扩展器必须,SAS 2.0未必(SAS挺进中端存储系统之三)
查看>>
Eclipse遇到Initializing Java Tooling解决办法
查看>>
while((ch = getchar()) != '\n')
查看>>
好程序员web前端分享JS检查浏览器类型和版本
查看>>
Oracle DG 逻辑Standby数据同步性能优化
查看>>
exchange 2010 队列删除
查看>>
「翻译」逐步替换Sass
查看>>
H5实现全屏与F11全屏
查看>>
处理excel表的列
查看>>
C#数据采集类
查看>>
quicksort
查看>>
【BZOJ2019】nim
查看>>