python初学者,求助!

# -*- coding: utf-8 -*-
import string
a=open('H:\\lock\\ceshi.txt')
lines=a.readlines()
a.close()
a=open('H:\\lock\\ceshi.txt','w')
for n in range(0,101):
b[n]=ord(lines[n])
a.writelines(b)
a.close()
这个代码为什么不对,我只是想将txt里的字符转换成ASCII

# -*- coding: utf-8 -*-
"""这个代码分两个段落:
第一段读取文件内容到"lines"列表;
第二段将行内容转换后写回文本文件;
"""
import string

def lineord(ln):
    return ' '.join(map(str, map(ord, a)))

a=open('H:\\lock\\ceshi.txt')
lines=a.readlines()
a.close()

a=open('H:\\lock\\ceshi.txt','w')
a.writelines(map(lineord, lines))
a.close()


之前的代码里面:

..

a=open('H:\\lock\\ceshi.txt','w')

for n in range(0,101): # 如何能够确认lines为101行?
   b[n]=ord(lines[n]) # 这里的b从未声明为列表

..

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-02
for n in range(0,101):
b[n]=ord(lines[n])
a.writelines(b)

---
改下
b=[]

for i in range(102):
b.append(ord(lines[i]))
a.writelines(b)追问

还是不行= =

第2个回答  2013-08-02
ord()是将单个字符转为对应的整数,注意:接收参数是单个字符