<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') # 运行函数