相关疑难解决方法(0)

获取Flask应用中定义的所有路线的列表

我有一个复杂的基于Flask的网络应用程序.有许多带视图功能的独立文件.他们的URL是用@app.route('/...')装饰器定义的.有没有办法获得在我的应用程序中声明的所有路线的列表?也许有一些方法我可以调用这个app对象?

python flask

125
推荐指数
8
解决办法
6万
查看次数

导入模块:__ main__ vs import作为模块

作为前言,我想我可能已经想出如何使这个代码工作(基于导入后更改模块变量),但我的问题是关于为什么会发生以下行为,所以我可以理解将来不做什么.

我有三个文件.第一个是mod1.py:

# mod1.py

import mod2

var1A = None

def func1A():
    global var1
    var1 = 'A'
    mod2.func2()

def func1B():
    global var1
    print var1

if __name__ == '__main__':
    func1A()
Run Code Online (Sandbox Code Playgroud)

接下来我有mod2.py:

# mod2.py

import mod1

def func2():
    mod1.func1B()
Run Code Online (Sandbox Code Playgroud)

最后我有driver.py:

# driver.py

import mod1

if __name__ == '__main__':
    mod1.func1A()
Run Code Online (Sandbox Code Playgroud)

如果我执行命令,python mod1.py则输出为None.基于我上面引用的链接,似乎mod1.py导入__main__mod1.py导入之间存在一些区别mod2.py.因此,我创造了driver.py.如果我执行命令,python driver.py那么我得到预期的输出:A.我有点看到差异,但我并没有真正看到它的机制或原因.这是怎么发生的?似乎违反直觉的是,同一模块将存在两次.如果我执行python mod1.py,是否可以访问__main__版本mod1.py中的变量而不是导入的版本中的变量mod2.py

python module python-module python-import

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

python ×2

flask ×1

module ×1

python-import ×1

python-module ×1