Python学习系列(五)(文件操作及其字典)
#coding:utf-8
fn='test1.py'
fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py
print 'reading pos:',fp.tell()
r=fp.read(20) #读取文件内容返回字符串
print 'have read:\"'+r+'\''
print 'reading pos:',fp.tell()
print fp.read()
fp.close()
2,写文件
如果想将某些内容写入文件,可以以'w'写的方式打开文件(如果文件不存在会创建),并且清空文件之前的内容。
fw='test.txt'
fp=open(fw,'w')
fp.write('www.google.com')
fp.close()
fn='rplus.txt'
fp=open(fn,'w+')
r=fp.read(12)
print r
fp.close()
fn='rplus.txt'
fp=open(fn,'w+')
fp.write('aaaaa\n')
fp.close() fa=open('rplus.txt','a')
fa.write('bbbbb\n')
fa.close() fa=open(fn,'r')
r=fa.read()
print r
fa.close()
二,格式化读写文件
fn='wformat.txt'
fw=open(fn,'w')
fw.write('%10s\t %3s\t %6s\n'%('name','age','sex'))
fw.write('%10s\t %3s\t %6s\n'%('张三',78,'male'))
fw.write('%10s\t %3s\t %6s\n'%('李四',50,'male'))
fw.write('%10s\t %3s\t %6s\n'%('王五',80,'male'))
fw.write('%10s\t %3s\t %6s\n'%('张强',90,'female'))
fw.close()
fr=open('templist.txt','r')
print fr.readlines()
fr.close()
>>>
[' aaaaaaaa\n', ' bbbbbbbb\n', ' cccccccc']
fr=open('templist.txt','r')
print fr.readline().strip().strip('\n')
print fr.readline().strip().strip('\n')
print fr.readline().strip().strip('\n')
fr.close()
结果如下:
>>>
aaaaaaaa
bbbbbbbb
cccccccc
fr=open('wformat.txt','r')
line1=fr.readline()
print line1
line2=fr.readline()
print line2
print line2.split('\t')
fr.close()
结果如下:
>>>
name age sex 张三 78 male [' \xd5\xc5\xc8\xfd', '', ' male\n']
读取文件(格式化)的内容:
fr=open('wformat.txt','r')
while (1==1):
line=fr.readline()
if(line==''):
break
else:
print line
fr.close()
>>> ================================ RESTART ================================
>>>
name age sex
张三 78 male
李四 50 male
王五 80 male
张强 90 female
>>>
fn='c:\\test.txt'
fp=open(fn,'w+')
fp.write('www.python.com')
fp.close()
>>> dict1={'a':'b','name':'jeap',12:34}
>>> len(dict1)
3
>>> dict1={'a':'b','name':'jeap',12:34}
>>> print dict1['a'],dict1[12]
b 34
3)元素值的修改:
>>> dict1['a']='hello'
>>> print dict1
{'a': 'hello', 12: 34, 'name': 'jeap'}
4)元素项的删除:
>>> del dict1[12]
>>> print dict1
{'a': 'hello', 'name': 'jeap'}
5)元素项的增加:
>>> dict1['QQ']=''
>>> print dict1
{'a': 'hello', 'QQ': '', 'name': 'jeap'}
>>> dict1['sex']='F'
>>> print dict1
{'a': 'hello', 'QQ': '', 'name': 'jeap', 'sex': 'F'}
6)in运算:
>>> 'name' in dict1
True
>>> 'F' in dict1
False
>>> print dict1
{'a': 'hello', 'QQ': '', 'name': 'jeap', 'sex': 'F'}
>>> dict1.clear()
>>> print dict1
{}
>>> dict1={'a': 'hello', 'QQ': '', 'name': 'jeap', 'sex': 'F'}
>>> dict2=dict1.copy()
>>> print dict2
{'a': 'hello', 'QQ': '', 'name': 'jeap', 'sex': 'F'}
{'a': 'hello', 'QQ': '', 'name': 'jeap', 'sex': 'F'}
>>> dict1.get('QQ')
''
>>> dict1.keys()
['a', 'QQ', 'name', 'sex']
>>> dict1.values()
['hello', '', 'jeap', 'F']
>>> dict1.items()
[('a', 'hello'), ('QQ', ''), ('name', 'jeap'), ('sex', 'F')]
>>> new={'age':32} #原字典没有,新增
>>> add={'name':'张三'} #原字典存在,更新'jeap'为'张三'
>>> dict1.update(new)
>>> dict1.update(add)
>>> print dict1
{'a': 'hello', 'QQ': '', 'name': '\xd5\xc5\xc8\xfd', 'age': 32, 'sex': 'F'}
>>> d0=dict() #创建空字典
>>> print d0
{}
>>> d1=dict(name='zhangsan',QQ='',age=23)#通过赋值创建字典
>>> print d1
{'QQ': '', 'age': 23, 'name': 'zhangsan'}
>>> val=['lisi','',25]
>>> print val
['lisi', '', 25]
>>> key=range(1,4)
>>> d2=dict(zip(key,val))#使用一对列表创建字典
>>> print d2
{1: 'lisi', 2: '', 3: 25}
>>> val=['Tom','Jack','Rose','John','Mark']
>>> key=range(1,6)
>>> dic=dict(zip(key,val))
>>> print dic
{1: 'Tom', 2: 'Jack', 3: 'Rose', 4: 'John', 5: 'Mark'}
>>> dic.pop(2)
'Jack'
>>> dic.popitem()
(1, 'Tom')
>>> print dic
{3: 'Rose', 4: 'John', 5: 'Mark'}
>>> key=range(1,6)
>>> val=['Tom','Jack','Rose','John','Mark']
>>> dic=dict(zip(key,val))
>>> for x in dic:
print dic[x] Tom
Jack
Rose
John
Mark
>>> print dic.items()
[(1, 'Tom'), (2, 'Jack'), (3, 'Rose'), (4, 'John'), (5, 'Mark')]
>>> for (k,v) in dic.items():
print 'dic[',k,']=',v dic[ 1 ]= Tom
dic[ 2 ]= Jack
dic[ 3 ]= Rose
dic[ 4 ]= John
dic[ 5 ]= Mark
>>>
五,小结
本章主要介绍python开发的进阶知识,文件的基本操作,字典的相关概念,基本操作运算和相关函数,为以后实战应用做一个铺垫,本章存在的遗留问题是,如何调用不在同一目录文件下的.py自定义模块?按照书上的代码未能实现。
Python学习系列(五)(文件操作及其字典)的更多相关文章
- Python学习系列之文件操作
Pyhton文件打开方式 with= open('文件路径','打开模式') as f:#PS:python3提供了with语句来帮我们自动调用close方法,所以说无论打开文件是否出错都能自动正确的 ...
- python学习笔记(五)-文件操作2
一.文件修改 现有文件file.txt,内容如下:二十四节气歌春雨惊春清谷天,夏满芒夏暑相连.秋处露秋寒霜降,冬雪雪冬小大寒.上半年逢六廿一,下半年逢八廿三.每月两节日期定,最多相差一二天.要求:将文 ...
- 【Python学习之六】文件操作
环境 虚拟机:VMware 10 Linux版本:CentOS-6.5-x86_64 客户端:Xshell4 FTP:Xftp4 python3.6 一.文件的打开与关闭 使用open函数,可以打开一 ...
- python学习笔记:文件操作和集合
一.文件操作 文件读写步骤:有一个文件,打开文件,操作文件读写文件,关闭文件. python 文件读写模式r,r+,w,w+,a,a+的区别(附代码示例) 模式 可做操作 若文件不存在 是否覆盖 r ...
- python学习笔记4(文件操作)
文件操作: 1.f=open(”caidan”,”w”,encoding=”utf8”) 直接打开一个文件,如果文件不存在则创建文件 f.close() 2.with open (”caid ...
- Python学习:7.文件操作
文件操作 我们曾将听过一个问题,将大象放入冰箱分为三步:1.打开冰箱门,2.将大象放进去,3.关上冰箱门.今天我们要讲的Python文件操作的步骤就像将大象放入冰箱的步骤一样. 使用Python操作文 ...
- python学习笔记之文件操作(三)
这篇博客小波主要介绍一下python对文件的操作 对文件的操作主要分为三步: 1.打开文件获取文件的句柄,句柄也是文件描述符 2.通过文件句柄操作文件 3.关闭文件. 现有以下文件,是小波随写的周杰伦 ...
- python学习笔记三 文件操作(基础篇)
文件操作 打开文件 open(name[,mode[,buffering]]) open函数使用一个文件名作为强制参数,然后返回一个文件对象.[python 3.5 把file()删除掉] w ...
- python学习第十八天 --文件操作
这一章节主要讲解文件操作及其文件读取,缓存,文件指针. 文件操作 (1)文件打开:open(filepath,filemode) filepath:要打开文件的路径 filemode:文件打开的方式 ...
- python之路(五)-文件操作
文件操作无非两个,即:读.写 python 2.x: 文件句柄 = file('文件路径', '模式') python3.x: 文件句柄 = open('文件路径', '模式') 打开文件的模式有: ...
随机推荐
- Spring Boot 中使用jsp
接SpringBoot 快速入门(Eclipse): 步骤一:视图支持 Springboot的默认视图支持是Thymeleaf,但是Thymeleaf我们不熟悉,我们熟悉的还是jsp. 所以下面是讲解 ...
- Limit CPUID MAX
Limit CPUID MAX to 3.是指出现在英特尔平台的BIOS设置选项.很多主板也显示成CPUID maximum value limit选项.中文意义是:限制执行CPUID指令返回数值大于 ...
- Idea中解决Git中pull代码内容冲突
Git开发中,由于项目开发人员不只一个,所以在代码开发中,多个开发人员可能会对同一文件同一地方的代码进行修改,这样在先后提交到master上时,就会产生冲突,以下是演示冲突产生和解决冲突的示例: 1. ...
- LeetCode——Keyboard Row
LeetCode--Keyboard Row Question Given a List of words, return the words that can be typed using lett ...
- 关于阿里云Symantec免费DV证书部署HTTPS
获取阿里云Symantec免费DV证书: 官方文件说明: 证书文件214188487290026.pem,包含两段内容,请不要删除任何一段内容. 如果是证书系统创建的CSR,还包含:证书私钥文件214 ...
- share point CSOM 客户端模式 创建 list
/// <summary> /// 创建新的列表 list /// </summary> /// <param name="web"></ ...
- scala学习手记30 - 闭包
首先要弄白闭包的概念. 教材中的说法是:闭包是一种特殊的函数值,闭包中封闭或绑定了在另一个作用域或上下文中定义的变量.这里说闭包是一种特殊的函数值. 维基百科中的说法是:在计算机科学中,闭包(英语:C ...
- 图片加载之Picasso使用
简介 Picasso是Square公司开源的一个Android图形缓存库,可以实现图片下载和缓存功能. 主要有以下一些特性: 在Adapter中回收和取消已经不在视野范围图片资源的加载,防止可能出现的 ...
- Windows系统变量列表
%ALLUSERSPROFILE% : 列出所有用户Profile文件位置. %APPDATA% : 列出应用程序数据的默认存放位置. %CD% : 列出当前目录. %CLIENTNAME% : ...
- Codeforces Round #299 (Div. 2)D. Tavas and Malekas
KMP,先预处理按每个节点标记,扫一遍更新每个匹配位置,最后kmp判断是否有重合而且不相同的地方 注意处理细节,很容易runtime error #include<map> #includ ...