我是编程新手.我希望能够为我的列表中的两个条目运行此程序,但是不能理解编程以使其正确.这个网站的成员已帮助我做到这一点,该程序适用于一组标签.我想让它运行所以我可以一次搜索多个作者.输出结果是它只收集"Shakes"的所有信息.然后停下来.我只是不知道如何格式化循环以使其正确.
这是我正在使用的代码:
authorList = ['Shakes.','Scott']
with open('/Users/Adam/Desktop/Poetrylist.txt','w') as output_file:
with open('/Users/Adam/Desktop/2e.txt','r') as open_file:
the_whole_file = open_file.read()
start_position = 0
for x in authorList:
while True:
start_position = the_whole_file.find('<A>'+x+'</A>', start_position)
if start_position < 0:
break
end_position = the_whole_file.find('</W>', start_position)
output_file.write(the_whole_file[start_position:end_position+4])
output_file.write("\n")
start_position = end_position + 4
Run Code Online (Sandbox Code Playgroud)
我确信这是一个非常简单的问题,但我正在尝试自学python并且它的进展非常缓慢.
我想这是因为你没有重置start_position
; Python中的变量的范围限定在它们的封闭函数或类或模块中,但不限于它们的封闭循环.所以尝试添加这一行:
for x in authorList:
start_position = 0 # Add this
while True:
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
239 次 |
最近记录: |