python基础知识七
我们会使用raw_input和print语句来完成这些功能。
对于输出,也可以使用多种多样的str(字符串)类。
例如使用rjust方法来得到一个按一定宽度右对齐的字符串。
可以通过创建一个file类的对象来打开一个文件,分别使用
file类的read、readline或write方法来恰当地读写文件。
对文件的读写能力依赖于你在打开文件时指定的模式。最后,当你完成对文件的操作的时候,调用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函数的返回来取回对象。这个过程称为去储存。
python基础知识七的更多相关文章
- python基础知识(七)---数据类型补充、"雷区"、编码
数据类型补充."雷区".编码 1.数据类型补充 str: #字符串数据类型补充 s1=str(123) #常用于类型转换 print(s1) #capitalize()首字母大写 ...
- Python基础知识详解 从入门到精通(七)类与对象
本篇主要是介绍python,内容可先看目录其他基础知识详解,欢迎查看本人的其他文章Python基础知识详解 从入门到精通(一)介绍Python基础知识详解 从入门到精通(二)基础Python基础知识详 ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- python基础知识(二)
以下内容,作为python基础知识的补充,主要涉及基础数据类型的创建及特性,以及新数据类型Bytes类型的引入介绍
- python 基础知识(一)
python 基础知识(一) 一.python发展介绍 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本 ...
- python基础知识讲解——@classmethod和@staticmethod的作用
python基础知识讲解——@classmethod和@staticmethod的作用 在类的成员函数中,可以添加@classmethod和@staticmethod修饰符,这两者有一定的差异,简单来 ...
- python爬虫主要就是五个模块:爬虫启动入口模块,URL管理器存放已经爬虫的URL和待爬虫URL列表,html下载器,html解析器,html输出器 同时可以掌握到urllib2的使用、bs4(BeautifulSoup)页面解析器、re正则表达式、urlparse、python基础知识回顾(set集合操作)等相关内容。
本次python爬虫百步百科,里面详细分析了爬虫的步骤,对每一步代码都有详细的注释说明,可通过本案例掌握python爬虫的特点: 1.爬虫调度入口(crawler_main.py) # coding: ...
- python 爬虫与数据可视化--python基础知识
摘要:偶然机会接触到python语音,感觉语法简单.功能强大,刚好朋友分享了一个网课<python 爬虫与数据可视化>,于是在工作与闲暇时间学习起来,并做如下课程笔记整理,整体大概分为4个 ...
- python基础知识小结-运维笔记
接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理:1)避免‘\n’等特殊字符的两种方式: a)利用转义字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...
随机推荐
- C++ Prime:指针和const
与引用一样,也可以令指针指向常量或非常量,类似于常量引用,指向常量的指针不能用于改变其所指对象的值.要想存放常量对象的地址,只能使用指向常量的指针: const double pi = 3.14; / ...
- 使用Eclipse创建模板并格式化代码
eclipse设置方式: window-preferences-->java-code Style-formatter 在编写完代码后使用代码格式化程序对代码进行格式化,有利于版本冲突时进行对比 ...
- Windows 8/8.1系统下硬盘占用率100%的问题解决思路汇总
家庭组 2.关闭虚拟内存 3.关闭Windows 8快速开机功能 4.服务进程superfetch 5.系统下软件排除 操作步骤: 1.Windows 8系统的家庭组方便多人不用存储设备就能在局域网中 ...
- django 项目部署在 Apache 后, 设置二级域名(Apache虚拟主机 、 万网二级域名设置)
上一篇文章简单说了怎么把django的项目部署到Apache上. 现在想弄个二级域名,也就是我原来有个域名 www.mysite.com,现在我想弄个 bbs.mysite.com ,该怎么做呢. 要 ...
- [GRYZ2014]递增子序列最大和
[问题描述] 给定长度为n的正整数序列a1,a2,…,an. 求一个递增的子序列,和最大. [输入] 第一行,n,表示给定序列的个数. 第二行,n个用空格隔开的正整数. [输出] 递增子序列的最大和. ...
- [GRYZ2014]最大连续子序列的和
求给定序列的最大连续子序列和. 输入:第一行:n(n<100000) 第二行:n个整数[-3000,3000]. 输出:最大连续子序列的和. 样例: 输入: 7 -6 4 ...
- Poj 3683-Priest John's Busiest Day 2-sat,拓扑排序
Priest John's Busiest Day Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 8872 Accept ...
- [bzoj\lydsy\大视野在线测评]题解(持续更新)
目录: 一.DP 二.图论 1.最短路 2.强连通分量 三.利用单调性维护 四.贪心 五.数据结构 1.并查集 六.数学 1.计数问题 2.数学分析 七.博弈 八.搜索 /////////////// ...
- 【Java重构系列】重构31式之封装集合
2009年,Sean Chambers在其博客中发表了31 Days of Refactoring: Useful refactoring techniques you have to know系列文 ...
- PG数据库之间的导入导出
本文将介绍如何对PG数据库进行导入.导出,主要利用的是PG自带的pg_dump.pg_dumpall.pg_restore.psql等命令,版本是9.4(不同版本的pg_dump \ pg_resto ...