Python 从不同文件中梳理和调用函数的问题
我对python非常陌生,但我已经设法使用selenium创建了一些功能性代码。我试图扩展代码,同时使其模块化 因此,该程序将访问30个网站,收集一些数据并返回。我现在要做的是在一个单独的.py文件中创建一个函数,其中包含每个网站的代码。 然后调用main.py上的文件和函数,如下所示: main.py 函数.py 这工作得很好,我很满意,但当然,如果我可以有一个外部函数,如果我需要的话,它会更容易修改,而不是在30个文件中 我创建了一个名为web\u driver\u func.py的文件 取代Python 从不同文件中梳理和调用函数的问题,python,python-3.x,function,Python,Python 3.x,Function,我对python非常陌生,但我已经设法使用selenium创建了一些功能性代码。我试图扩展代码,同时使其模块化 因此,该程序将访问30个网站,收集一些数据并返回。我现在要做的是在一个单独的.py文件中创建一个函数,其中包含每个网站的代码。 然后调用main.py上的文件和函数,如下所示: main.py 函数.py 这工作得很好,我很满意,但当然,如果我可以有一个外部函数,如果我需要的话,它会更容易修改,而不是在30个文件中 我创建了一个名为web\u driver\u func.py的文件 取
def test_func():
>>>from selenium import webdriver
driver = webdriver.Chrome(executable_path='C:\drivers\chromedriver_win32\chromedriver.exe')<<<
import time
driver.get('https://reddit.com')
time.sleep(5)
driver.close()
但“驱动力”并没有定义,我理解其中的逻辑。但我一直在努力寻找一个解决方案或方法,我还没有遇到解决它。
我想如果我像这样编写它并将其从test_func()中排除,它会工作,但问题是相同的:
在main.py中
如果我的逻辑或代码中有一个简单的明显错误,我道歉。就像我说的,我是Python新手,自从我上次用PASCAL/TSL编写代码以来已经30年了:(
我将非常感谢任何帮助和建设性的批评。我在观看了一些YT视频lol后就解决了这个问题。 现在唯一可以改变的是主文件中的web驱动程序路径 main.py 函数.py
示例中存在大写错误,您导入了
函数
,但引用了函数
。Python区分大小写,您通常应该为类保留大写的名称。只需从函数返回驱动程序
。此外,这似乎是一个XY问题-您试图用特定的解决方案解决问题n解决一个问题,但您并没有真正提供您试图解决的问题的描述。在我看来,您是以一种过于复杂的方式来解决这个问题的,但您没有提供复杂性的原因。您只是想定义和构造一次驱动程序,然后重新使用它来下载所有30个站点/页面吗ode>Functions是一个打字错误抱歉:(因此,我正在抓取30个不同的网站,并试图将每个网站的代码抓取到一个单独的文件中,然后作为程序逐个调用所有文件。
def test_func():
from selenium import webdriver
driver = webdriver.Chrome(executable_path='C:\drivers\chromedriver_win32\chromedriver.exe')
import time
driver.get('https://reddit.com')
time.sleep(5)
driver.close()
def webdriver():
from selenium import webdriver
driver = webdriver.Chrome(executable_path='C:\drivers\chromedriver_win32\chromedriver.exe')
def test_func():
>>>from selenium import webdriver
driver = webdriver.Chrome(executable_path='C:\drivers\chromedriver_win32\chromedriver.exe')<<<
import time
driver.get('https://reddit.com')
time.sleep(5)
driver.close()
def test_func():
import web_driver_func
web_driver_func.webdriver()
import time
driver.get('https://reddit.com')
time.sleep(5)
driver.close()
from selenium import webdriver
import Functions
driver = webdriver.Chrome(executable_path='C:\drivers\chromedriver_win32\chromedriver.exe')
Functions.test_func()
from selenium import webdriver
import functions
driver = webdriver.Chrome(executable_path='C:\drivers\chromedriver_win32\chromedriver.exe')
functions.test_func(driver)
def test_func(driver):
import time
driver.get('https://reddit.com')
time.sleep(5)
driver.close()