Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从不同文件中梳理和调用函数的问题_Python_Python 3.x_Function - Fatal编程技术网

Python 从不同文件中梳理和调用函数的问题

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的文件 取

我对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()