求助
'RPCProxy' object is not iterabledef lines(file):
for line in file:
yield line
yield '\n'
调用这个函数时会出现上边的错误,怎么解决? 你这只贴了一半,不知道你怎么调用的 import sys, re
from util import *
print '<html><head><title>...</title><body>'
title=True
for block in blocks(sys.stdin):
block=re.sub(r'\*(.+?)\*',r'<em>\1</em>',block)
if title:
print '<h1>'
print block
print '</h1>'
title=False
else:
print '<p>'
print block
print '</p>'
print '</body></html>'
def lines(file):
for line in file:
yield line
yield '\n'
def blocks(file):
block=[]
for line in lines(file):
if line.strip():
block.append(line)
elif block:
yield ''.join(block).strip()
block=[]
这事完整的程序 不知道你想要做什么,但是函数定义应该放在前面吧,即使像你这样写也不会报你在1楼说的这样的错啊,你的util大概是你的另外一个文件,你说的错大概是你import util模块时那个代码里面报的错吧。 回复 4# anonymous0502
嗯
下边的两个函数定义放在util.py中了
还是没有报你在1楼贴的那种错,用来试的代码:
import sys, re
import StringIO
def lines(file):
for line in file:
yield line
yield '\n'
def blocks(file):
block=[]
for line in lines(file):
if line.strip():
block.append(line)
elif block:
yield ''.join(block).strip()
block=[]
print '<html><head><title>...</title><body>'
v1='''<html><head><title>...</title><body
aa*11*aa
asfd*asdf*asdf
'''
f=StringIO.StringIO(v1)
title=True
for block in blocks(f):
block=re.sub(r'\*(.+?)\*',r'<em>\1</em>',block)
if title:
print '<h1>'
print block
print '</h1>'
title=False
else:
print '<p>'
print block
print '</p>'
print '</body></html>'
回复 6# anonymous0502
没了
谢谢
上边程序问题出在哪?
回复 7# kim1211
需要你自己重现错误才清楚啊{:2_166:}
回复 8# anonymous0502
如果想导入一个TXT文件,并生成HTML格式的文件
应该怎么办?
类似你上面写的代码啊,只不过不是print出来,是把你要构造的字符串写入文件就是了。
页:
[1]
2