1、问:Cpython,Jython和IronPython有什么不同?
答:三者都是python编译器的实现方式;Cpython是python的标准实现;Jypthon是Python的Java实现;IronPython是Python的.net实现。
2、 问:exec,eval,execfile的用途是什么?
答:1)exec用来执行存储在字符串中的python语句,例如exec(“print ‘hello world!’”);
2) Eval把存储的字符串当成表达式求值,例如eval(“1+2+3+4+5+6”);
3) execfile用来执行一个文件脚本,例如execfile(“test.py”);
3、 问:如何查看一个模块的所有属性?
答:dir(moduleName)
ps:dir函数真的是python中一个伟大的发明,通过它反射获取模块的属性;
4、 问:请使用python获取http://www.freelycode.com(自由编码)首页的内容。
答:使用urllib模块实现;
import urllib
def getHtml(url):
page = urllib.urlopen(url)
html = page.read()
return html
html = getHtml("http://www.freelycode.com")
print html
5、 (接每天5道python题(6))有读者提出上次的第五题截取文本大于80个字符行,程序实现有待考虑周全,主要:
1) 未考虑到大于160字符的行
2) 截取行的拼接问题,
笔者重新完善了程序,如下:
import os
fpout=open(‘test.txt‘,‘r‘)
fpin=open(‘test1.txt‘,‘w‘)
left=""
for line in fpout:
#先拼接
line=left+line
leng=len(line)
if len(line)>80:
count=leng/80
for i in range(count):
for i in range(80,0,-1):
#从最接近80的单词截取
if line[i].isspace():
fpin.write(line[0:i]+‘\n‘)
line=line[i+1:]
break
#处理剩余行用于拼接
left=line.replace("\n"," ")
else:
fpin.write(line)