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('文件路径', '模式') 打开文件的模式有: ...
随机推荐
- 解析Linux系统的平均负载概念
一.什么是系统平均负载(Load average)? 在Linux系统中,uptime.w.top等命令都会有系统平均负载load average的输出,那么什么是系统平均负载呢?系统平均负载被定义为 ...
- LeetCode——Number of Boomerangs
LeetCode--Number of Boomerangs Question Given n points in the plane that are all pairwise distinct, ...
- java分页的实现(后台工具类和前台jsp页面)
1.首先,新建一个类Page.java public class Page implements Serializable { private static final long serialVers ...
- jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存
代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...
- oracle 查询表名、字段名、添加注释
--查询所有表名 SELECT T.TABLE_NAME FROM USER_TABLES T; --查询所有字段名 SELECT T.COLUMN_NAME FROM USER_COL_COMMEN ...
- CNI:容器网络接口
CNI 简介 不管是 docker 还是 kubernetes,在网络方面目前都没有一个完美的.终极的.普适性的解决方案,不同的用户和企业因为各种原因会使用不同的网络方案.目前存在网络方案 flann ...
- thinkphp3.2.3 定时任务重新加载, 无法加载新的定时任务的问题
thinkphp3.2.3 的定时任务有个坑,一旦你改名定时任何或者路径,新的定时任务将无法加载,无论你重启php还是重启nginx,甚至重启服务器,都不行. 原因是你要删掉一个类似lock文件,才可 ...
- LeetCode第[36]题(Java):Valid Sudoku
题目:有效的数独表 难度:Medium 题目内容: Determine if a 9x9 Sudoku board is valid. Only the filled cells need to be ...
- JSON Web Token (JWT) 简介
JSON Web Token (JWT) 是一种基于 token 的认证方案. JSON Web Token 的结构 一个 JWT token 看起来是这样的: eyJhbGciOiJIUzI1NiI ...
- 新东方雅思词汇---8.2、chron
新东方雅思词汇---8.2.chron 一.总结 一句话总结:时间 chronic 英 ['krɒnɪk] 美 ['krɑnɪk] adj. 慢性的:长期的:习惯性的 n. (Chronic)人名 ...