Python可以';t从单独的Python文件调用函数

Python可以';t从单独的Python文件调用函数,python,selenium,Python,Selenium,我想从单独的Python文件调用这些函数。 我想在run.py中指定URL,并在run.py中运行download.py中的函数 但我一直在下面得到这个错误 Traceback (most recent call last): File "app.py", line 7, in <module> getTumblrPage() File "/Users/matt/Python/Instagram Bots/testing/download

我想从单独的Python文件调用这些函数。

我想在run.py中指定URL,并在run.py中运行download.py中的函数

但我一直在下面得到这个错误

Traceback (most recent call last):
  File "app.py", line 7, in <module>
    getTumblrPage()
  File "/Users/matt/Python/Instagram Bots/testing/download.py", line 20, in getTumblrPage
    driver.get(url)
NameError: name 'driver' is not defined
下面是run.py

from download import *

url = "https://vjeranski.tumblr.com/"
driver = webdriver.Chrome(executable_path="/Users/matt/Python/chromedriver")

getTumblrPage()
pageScroll()

如果要将
下载
导入
运行
下载
无法访问
运行
中的变量

相反,将
driver
作为以下功能的参数:

def pageScroll(driver):
    . . .

def getTumblrPage(driver):
    . . .
driver = webdriver.Chrome(executable_path="/Users/matt/Python/chromedriver")

getTumblrPage(driver)
pageScroll(driver)
然后在调用函数时传入:

def pageScroll(driver):
    . . .

def getTumblrPage(driver):
    . . .
driver = webdriver.Chrome(executable_path="/Users/matt/Python/chromedriver")

getTumblrPage(driver)
pageScroll(driver)

如果要将
下载
导入
运行
下载
无法访问
运行
中的变量

相反,将
driver
作为以下功能的参数:

def pageScroll(driver):
    . . .

def getTumblrPage(driver):
    . . .
driver = webdriver.Chrome(executable_path="/Users/matt/Python/chromedriver")

getTumblrPage(driver)
pageScroll(driver)
然后在调用函数时传入:

def pageScroll(driver):
    . . .

def getTumblrPage(driver):
    . . .
driver = webdriver.Chrome(executable_path="/Users/matt/Python/chromedriver")

getTumblrPage(driver)
pageScroll(driver)

Python可以很好地调用该函数。不过,函数有一个错误,因为它试图使用未定义的全局变量
driver
。Python全局变量不是贯穿整个过程的全局变量,而是模块全局变量。我建议您花些时间学习Python中的变量范围和模块。这将帮助您在将来避免这些错误。Python可以很好地调用该函数。不过,函数有一个错误,因为它试图使用未定义的全局变量
driver
。Python全局变量不是贯穿整个过程的全局变量,而是模块全局变量。我建议您花些时间学习Python中的变量范围和模块。这将帮助您在将来避免这些错误。回溯(最近一次调用last):文件“app.py”,第8行,在GetTumblPage(驱动程序)类型中错误:GetTumblPage()接受0个位置参数,但1是given@mattwelter你没有注意到你的功能应该是怎样的defined@mattwelter对注意我发布的第一段代码。您需要为每个函数指定一个参数(名称在
()
s中)。如果你不熟悉参数,我会查看它们,除非你目前正在学习其他的东西。它们是编程的基础,编写Python(或者任何语言)都需要对它们有很好的理解接受0个位置参数,但1为given@mattwelter你没有注意到你的功能应该是怎样的defined@mattwelter是的,请注意我发布的第一段代码。您需要为每个函数指定一个参数(名称在
()
s中)。如果你不熟悉参数,我会查看它们,除非你目前正在学习其他的东西。它们是编程的基础,编写Python(或者任何语言)都需要很好地理解它们。