Python I/O 笔记

<pre name="code" class="python">openfile = = open('c:\Python27\code\m.py','r')		# 打开文件, r for read

						<span style="white-space:pre">	</span># 重定位指针(光标)到最开头,这样print 内容才会是全文
openfile.seek(0,0)
print openfile.read()


 


pickle.dump : 存储指定的object   (可以是数组,string等等)  到某个文件中

pickle.load  :  编译之前存储到文件中的object,因为 pickle.dump 存的有些 乱码什么乱七八糟的


<pre name="code" class="python">#for pickle.dump                      
                   
import pickle           				#pickle是需要先调用的模块 </span>

picklelist = ['one',2,'three','four',5,'can you count?']

file = open('c:\Python27\code\mnj.py','w')               #如果mnj.py不存在,该命令会自己新建该py文件

pickle.dump(picklelist,file)

file.close()                    			 #如果你只open不close,文件就会一直被占用,导致你想delete也不行


 

<pre name="code" class="python">#for pickle.load
import pickle

unpicklefile = open('c:\Python27\code\m.py','r')
unpicklefile.seek(0,0)
unpicklelist = pickle.load(unpicklefile)
unpicklefile.close()

for item in unpicklelist:
    print item    


 


I/O 运用:读取一个文件,计算文件中abcd..各字母的个数:    (A 视作 a)

<pre name="code" class="python"><pre name="code" class="python"># Problem 34
# Author: Hao Jiang
def char_freq_table(kk):                                 			 # kk 是文件的路径
    file = open(kk)								 # 读取文件,存储内容到 file 中
    cont = file.read()               						 # 将 file 转存到 cont 中, 这一步的目的是 将变量类型转化为 数组,只有数组									           才能对应以下命令,如 .lower() 只能用于数组<        
    cont = cont.lower() 							 # 将所有字母全部转化为小写 
    cx = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'   		 # 将cx 变为数组类型 dx = [0]*27# dx 为 27 位空数组,用于存储a-z 的个数 
										 # 计算 a -z 的个数
        for i in range(0,len(cont)):
            if cont[i] == cx[k]:
                dx[k] = dx[k]+1
            
										 # print out, 如果是0 个就不print 到屏幕了
    for k in range(0,len(cx)):
        if dx[k] != 0:
            print 'number of',cx[k],':',dx[k]
           
print 'other characters number are zero'           
        
char_freq_table('c:\Python27\code\m.py')	 				 # 运行函数


 


 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值