Python学习系列(五)(文件操作及其字典)

今天学习了Html5 Canvas入门,已经有大神写得很详细了http://www.cnblogs.com/tim-li/archive/2012/08/06/2580252.html#8

Python学习系列(五)(文件操作及其字典)

在学习过后自己写了一个简单的扩展

  Python学习系列(四)(列表及其函数)

实现画板画笔功能,效果如下:

一、文件操作

图片 1

1,读文件

图片 2图片 3

     在以'r'读模式打开文件以后可以调用read函数一次性将文件内容全部读出,也可以指定每次read读多少字节,例如:

1 <div>
2     <!--画板-->
3     <canvas id="box1" height="400" width="400" style="background-color: antiquewhite"></canvas>
4     <!--保存并显示鼠标X轴位置-->
5     <label id="lab_X"></label>
6     <!--保存并显示鼠标Y轴位置-->
7     <label id="lab_Y"></label>
8 </div>

图片 4图片 5

View Code

1 #coding:utf-8
2 fn='test1.py'
3 fp=open(fn,'r') #以读的方式打开文件,文件必须首先存在和,.文件在同一目录下py
4 print 'reading pos:',fp.tell()
5 r=fp.read(20) #读取文件内容返回字符串
6 print 'have read:"'+r+'''
7 print 'reading pos:',fp.tell()
8 print fp.read()
9 fp.close()

图片 6图片 7

View Code

 1 $(function () {
 2             var canvas = document.getElementById("box1");
 3             if (canvas == null)
 4                 return false;
 5             var context = canvas.getContext("2d");
 6             //标记开始书写
 7             var start = false;
 8             $(canvas).mousemove(function (event) {
 9                 //显示当前鼠标位置
10                 $("#lab_X").text(event.pageX);
11                 $("#lab_Y").text(event.pageY);
12                 if (start) {
13                     context.lineTo(event.pageX, event.pageY);
14                     context.stroke();
15                 }
16             });
17             //鼠标按下,开始书写
18             $(canvas).mousedown(function () {
19                 context.beginPath();
20                 context.moveTo($("#lab_X").text(), $("#lab_Y").text());
21                 start = true;
22             });
23             //鼠标抬起,结束书写
24             $(canvas).mouseup(function () {
25 
26                 start = false;
27                 context.closePath();
28             });
29         });

2,写文件

View Code

     如果想将某些内容写入文件,可以以'w'写的方式打开文件(如果文件不存在会创建),并且清空文件之前的内容。

 

图片 8图片 9

1 fw='test.txt' 
2 fp=open(fw,'w') 
3 fp.write('www.google.com') 
4 fp.close() 

View Code

3,读写文件r+,w+

     二者区别在于:r+是必须针对已存在的文件;w+可以创建未存在的文件。

图片 10图片 11

1  fn='rplus.txt'
2  fp=open(fn,'w+') 
3  r=fp.read(12) 
4  print r 
5  fp.close()

View Code

4,追加写入文件a

   ‘w'写模式打开的文件只能把内容写入文件,原有内容将被清除,若想保留,则用‘a'追加写模式。

图片 12图片 13

 1 fn='rplus.txt'
 2 fp=open(fn,'w+')
 3 fp.write('aaaaan')
 4 fp.close()
 5  
 6 fa=open('rplus.txt','a')
 7 fa.write('bbbbbn')
 8 fa.close()
 9  
10 fa=open(fn,'r')
11 r=fa.read()
12 print r
13 fa.close()

View Code

二,格式化读写文件

1,格式化写文件

     调用write函数,使用格式化控制符来格式化写入字符串。

图片 14图片 15

1 fn='wformat.txt'
2 fw=open(fn,'w')
3 fw.write('%10st %3st %6sn'%('name','age','sex'))
4 fw.write('%10st %3st %6sn'%('张三',78,'male'))
5 fw.write('%10st %3st %6sn'%('李四',50,'male'))
6 fw.write('%10st %3st %6sn'%('王五',80,'male'))
7 fw.write('%10st %3st %6sn'%('张强',90,'female'))
8 fw.close()

View Code

2,读成列表

     文件的readlines函数可以将文本文件的若干行文本一一映射成列表的若干项,即文本文件的每一行映射成列表的一个数据项,每个数据项都是字符串。

图片 16图片 17

1 fr=open('templist.txt','r')
2 print fr.readlines()
3 fr.close()

View Code 

结果如下:

图片 18图片 19

1 >>>
2 [' aaaaaaaan', ' bbbbbbbbn', ' cccccccc']

View Code

3,读成一行文件

     调用readline函数读一行内容,而read函数是一次性将文件的内容全部读回。另外,可以用strip函数去掉n和空格。

图片 20图片 21

1 fr=open('templist.txt','r')
2 print fr.readline().strip().strip('n')
3 print fr.readline().strip().strip('n')
4 print fr.readline().strip().strip('n')
5 fr.close() 

View Code

结果如下:

图片 22图片 23

1 >>>
2 aaaaaaaa
3 bbbbbbbb
4 cccccccc

View Code

4,split格式化数据

图片 24图片 25

1 fr=open('wformat.txt','r')
2 line1=fr.readline()
3 print line1
4 line2=fr.readline()
5 print line2
6 print line2.split('t')
7 fr.close()

View Code

结果如下:

图片 26图片 27

1 >>>
2       name     age     sex
3  
4       张三     78     male
5  
6 [' xd5xc5xc8xfd', ' 78', ' malen']

View Code

读取文件(格式化)的内容:

图片 28图片 29

 1 fr=open('wformat.txt','r')
 2 while (1==1):
 3     line=fr.readline()
 4     if(line==''):
 5         break
 6     else:
 7         print line
 8 fr.close()
 9  
10 >>> ================================ RESTART ================================
11 >>>
12       name     age     sex
13  
14       张三     78     male
15  
16       李四     50     male
17  
18       王五     80     male
19  
20       张强     90     female
21  
22 >>> 

View Code

5,读写子目录文件

     只需指定文件时描述好路径即可,但是注意两点:1)转义字符的问题;2)不能创建文件夹,文件夹必须预先存在。

图片 30图片 31

1 fn='c:\test.txt' 
2 fp=open(fn,'w+') 
3 fp.write('www.python.com') 
4 fp.close() 

View Code

 

三,字典及其基本操作

1,字典定义

     字典:由一对称之为键和值构成,用逗号间隔起来,用花括号括起来就构成了字典。语法结构:

                dict_name={key:value,key:value,key:value,……}

     字典的数据项的值可以是字典,列表等数据类型。

2,基础操作

1)字典长度:

    len函数可以测得字典的数据项个数。

图片 32图片 33

1 >>> dict1={'a':'b','name':'jeap',12:34}
2 >>> len(dict1)
3 3

View Code

本文由金沙官网线上发布于Web前端,转载请注明出处:Python学习系列(五)(文件操作及其字典)

您可能还会对下面的文章感兴趣: