测试你的Python 水平----7

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)


你可能感兴趣的:(测试你的Python 水平----7)