在Python中对List中的条目执行多个步骤



我尝试从txt加载列表。文件,然后想在每个条目上执行多个任务。不幸的是,任务只在一个条目上执行,而不是在所有条目上执行。

我从txt中加载列表。具有此函数的文件:

def load_dir_file():
directory = os.path.dirname(__file__)
filename = os.path.join(directory, "law_dir")
with open(filename, "r", encoding="utf-8") as fin:
dir_file = fin.readlines()
return dir_file

这是执行这些任务的代码

def create_html():
dir_lst = load_dir_file()
for dir_link_dirty in dir_lst:
dir_link = dir_link_dirty.replace('"',"").replace(",","").replace("n","")
dir_link_code = urllib.request.urlopen(dir_link)
bs_dir_link_code = BeautifulSoup(dir_link_code, "html5lib")
h2_a_tag = bs_dir_link_code.h2.a
html_link = str(dir_link) + "/" + str(h2_a_tag["href"])
print(dir_lst)
return html_link

三种。文件现在看起来像这样:

"https://www.gesetze-im-internet.de/ao_1977",
"https://www.gesetze-im-internet.de/bbg_2009",
"https://www.gesetze-im-internet.de/bdsg_2018"

我是一个编程新手,可能会在一些非常基本的点上失败。所以,如果你想给我一些建议,我可以基本上改进,我将非常感激。

根据你上面的评论,听起来你想要返回一个html链接列表,而不仅仅是一个。要做到这一点,你需要那个函数来建立一个列表并让它返回那个列表。您在create_html中有很多事情要做,因此为了说明目的,我将该函数分为两个:create_html_link_listcreate_html_link

def create_html_link(dir_link_dirty):
dir_link = dir_link_dirty.replace('"',"").replace(",","").replace("n","")
dir_link_code = urllib.request.urlopen(dir_link)
bs_dir_link_code = BeautifulSoup(dir_link_code, "html5lib")
h2_a_tag = bs_dir_link_code.h2.a
html_link = str(dir_link) + "/" + str(h2_a_tag["href"])
return html_link
def create_html_link_list():
dir_lst = load_dir_file()
html_link_list = [
create_html_link(dir_link_dirty)
for dir_link_dirty in dir_lst
]
return html_link_list

最新更新