Ich bin eine Funktion aus functions.py
in work.py
Aufruf, das funktioniert:Python: aufgerufene Funktion aus anderer Datei muss Module
from functions import get_ad_page_urls
Die get_ad_page_urls
Funktion nutzt u.a. das requests
Modul.
Nun, ob oder nicht, ich importieren Sie die requests
Modul in work.py
, wenn ich die genannte Funktion in work.py
laufen, gibt es einen Fehler: NameError: name 'requests' is not defined
.
I get_ad_page_urls
in functions.py
einschließlich dem Modul definiert haben, wie so,
def get_ad_page_urls():
import requests
<rest of function>
oder ohne die module
, wie so,
import requests
def get_ad_page_urls():
<rest of function>
aber es spielt keine Rolle, bleibt die NameError
.
Wie soll ich die Funktion schreiben, so dass wenn ich die Funktion in work.py
alles funktioniert gut funktioniert?
Traceback:
get_ad_page_urls(page_root_url)
Traceback (most recent call last):
File "<ipython-input-253-ac55b8b1e24c>", line 1, in <module>
get_ad_page_urls(page_root_url)
File "/Users/myname/Documents/RentIndicator/Python Code/idealista_functions.py", line 35, in get_ad_page_urls
NameError: name 'requests' is not defined
functions.py
import requests
import bs4
import re
from bs4 import BeautifulSoup
def get_ad_page_urls(page_root_url):
response = requests.get(page_root_url)
soup = bs4.BeautifulSoup(response.text)
container=soup.find("div",{"class":"items-container"})
return [link.get("href") for link in container.findAll("a", href=re.compile("^(/inmueble/)((?!:).)*$"))]
work.py
import requests
import bs4
import re
from bs4 import BeautifulSoup
from functions import get_ad_page_urls
city='Valencia'
lcity=city.lower()
root_url = 'https://www.idealista.com'
house_href='/alquiler-habitacion/'
page_root_url = root_url +house_href +lcity+ '-' + lcity + '/'
get_ad_page_urls(page_root_url)
Können Sie vollständige Traceback für diesen NameError buchen? – Liteye
Ich entschuldige mich, aber was ist "vollständige Traceback"? – LucSpan
@LucSpan Der volle Fehler –