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('文件路径', '模式') 打开文件的模式有: ...
随机推荐
- mkfs.ext4 磁盘分区
在linux上格式化一个磁盘分区时,出现如下错误 root@d:~# mkfs.ext4 /dev/sdb1 mke2fs 1.41.12 (11-May-2015) mkfs.ext4: inode ...
- DNS解析过程和DNS挟持
1.DNS解析过程详解 1).在浏览器中输入一个域名,例如www.tmall.com,操作系统会先检查自己本地的hosts文件是否有这个网址映射关系,如果有,就先调用这个IP地址映射,完成域名解析, ...
- 分布式技术 webapi 路由追加html、aspx、shtml 适用于 对接 安卓、IOS
首先是这样,在对接安卓和IOS或者是第三方调用的接口,我需要在服务端返回一个带.html/.aspx这样后缀的接口. 例子如下图:http://localhost:64131/api/UsersInf ...
- centos 安装jdk/resin/mysql
一.安装JDK 1.判断是否安装 java -version 我的计算机上使用java -version命令,内容如下: java version "1.7.0_45"OpenJD ...
- hibernate-Table 'XXX.XXX' doesn't exist
hibernate---Table 'XXX.XXX' doesn't exist 在设置自动生成数据表的策略中: <!-- 自动生成数据表的策略 --> <property nam ...
- Treflection04_面试题
1. package reflectionZ; import java.lang.reflect.Field; import java.lang.reflect.Method; public clas ...
- 一块网卡多个IP实现
////////////////////////////写在前面//////////////////////////////////////////// 需要注意,这里我们是一块网卡多个IP,而并非是 ...
- D3.js学习笔记(一)——DOM上的数据绑定
开始学习D3.js,网上没有找到很满意的中文教程,但是发现了一个很好的英文教程,讲解的非常详细.从一个初始简单的HTML网页开始,逐步加入D3.js的应用,几乎是逐句讲解.学习的时候,就顺便翻译成中文 ...
- 通过使用Netty实现RPC
目标:通过使用Netty框架实现RPC(远程过程调用协议),技术储备为以后实现分布式服务框架做技术储备.在这里实现自定义协议主要实现远程方法调用. 技术分析: 1.通过Java的反射技术我们可以获取对 ...
- SQL命令查询Oracle存储过程信息(代码内容等)
SELECT * FROM ALL_SOURCE where TYPE='PROCEDURE' AND TEXT LIKE '%0997500%'; --查询ALL_SOURCE中,(脚本代码)内 ...