python - 在 Python 中处理多个代码文件和文件夹

标签 python import

我是 Python 的新手,我还没有想出在多个代码文件和文件夹中分离代码的简单方法。

我今天所做的是:为每个文件夹创建一个 __init__.py 文件。有时它是空的。我不知道我为什么要这样做,但这似乎是必要的。这是与使用 C# 的第一个区别。

第二个区别是,要使任何文件引用任何其他文件,我必须使用导入,例如 from model.table import Table。如果我有多个引用,我需要使用多个导入:

from model import table1,table2

然后在其余代码中,我必须为每个示例使用 table1.Table1。如果我不想,我应该

from model.table1 import Table1
from model.table2 import Table2

然后我可以简单地使用 Table1

这与我在 C# 中习惯的做法有很大不同,在 C# 中,如果所有文件都在同一个命名空间中,我们就不必import。有没有更简单的方法?

最佳答案

您应该阅读模块:http://docs.python.org/tutorial/modules.html

基本上,我认为您没有正确组织代码。在 Python 中,目录和文件是有意义的;这不仅仅是您写入文件的内容。对于每个新目录(使用 __init__.py)和每个新文件,您都会创建一个新的“命名空间”...

如果你有文件 /mydatabase/model.py 以及在该 model.py 文件中定义的 Table1Table2 等,您可以简单地:

from mydatabase.model import *

不要为每个 Table 类创建一个新文件!

关于python - 在 Python 中处理多个代码文件和文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6011322/

相关文章:

Python:从 1+ 级别向下导入

python - 如何在pymysql中使用多个变量

python - 从多个 txt 文件中读取 - 剥离数据并保存到 xls

scala - 选择当前语法 `import foo.bar.{Baz => _}` 以从导入中排除某些内容的原因是什么?

python - Django 导入日期时间

haskell - 是否没有标准(任一)monad 实例?

python - 在 python 库中导入和裁剪 jpeg 的快速方法

python比较2个不同长度列表中的项目-顺序很重要

python - 删除 PANDAS 中的第二行标题

csv - 将 csv 文件导入 ArangoDB 时缺少 '_from' 或 '_to' 属性