python - Python - Visual Studio -> 跨文件编码问题 VS 项目
问题描述
我对 Visual Studio 界面和 python 编码有点陌生,在一些项目中闲逛并有一个问题:
--> 可以在一个文件中创建一个代码,例如创建应用程序的登录并验证凭据,存储凭据认证,然后使用存储在另一个文件中的这些凭据来验证它是否可以访问?
非常感谢您对这些问题的示例、建议和评论。
--> 此外,如果初始文件具有例如 SQL 连接,则在另一个文件中重用该连接,例如更新引用该连接的数据库中的记录?
解决方案
这是一个非常开放的问题,但假设您是 Python 新手,我会尽力回答。您正在寻找的是python 中的模块。通过定义一个模块,例如sqlconnection.py
,你可以使用类似的语法来导入这个模块
from . import sqlconnection
这告诉模块加载器sqlconnection
在当前包中查找模块。Python 中的包是目录中的一组模块,其中包含一个名为__init__.py
. 因此,在您的情况下,创建文件
__init__.py
credentials.py
sqlconnection.py
app_part1.py
app_part2.py
允许您重用模块中的 sql 连接和凭据。每次重新加载模块时都会重新评估模块级别的代码语句(模块导入不会重新加载模块 - 它只会在第一次引用模块时加载模块,因此分配例如当前连接意味着它将被重用跨模块)。
Python 是一种动态语言。模块中的构造(函数、类)之所以存在,是因为模块中有创建它们的代码。与 C# 或 Java 等静态语言不同,加载模块将运行代码来定义模块。因此,模块可能会被重新加载,最终会得到不同的变量实例。这通常是库开发人员关心的问题,而不是最终应用程序的开发人员(因为他们应该知道是否这样做reload()
)。
推荐阅读
- python - 为什么我自己的QGraphicsView中使用mouseMoveEvent会使setTransformationAnchor失效?
- sql-server-2008 - 如何处理 ColdFusion 存储过程结果中的错误?
- sql - 编写一个存储过程,它接受输入字符串并按字符拆分它们
- transfer - 如何将 Mobile Hub 项目从一个 AWS 账户导入/导出到另一个 AWS 账户?
- python - Python:结构和数组与 ctypes 中的类似功能
- julia - Julia 中可变结构的构造函数中的字典
- javascript - React.js 从函数返回样式属性并在 render() 函数中使用它
- sql - VB.Net 将字符串解析为日期
- c++ - 可以将函数应用于 std::optional 的值,取回一个可选值吗?
- visual-studio - 启用/禁用警告,Visual Studio 命令提示符