使用Python中的多个代码文件和文件夹

Jad*_*ias 11 python import

我是Python的新手,我还没有找到一种在多个代码文件和文件夹中分离代码的简单方法.

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

第二个区别是,对于任何另一个文件,我必须使用导入,比如from model.table import Table.如果我有多个引用,我需要使用多个导入:

from model import table1,table2
Run Code Online (Sandbox Code Playgroud)

然后在代码的其余部分我必须使用table1.Table1每个例子.如果我不想,我应该

from model.table1 import Table1
from model.table2 import Table2
Run Code Online (Sandbox Code Playgroud)

然后我可以简单地使用 Table1

这与我在C#中的习惯有很大的不同,如果所有文件都在同一名称空间中,我们没有必要import.对我来说有更简单的方法吗?

Flo*_*ian 14

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

基本上,我认为你没有正确组织你的代码.使用python,目录和文件都有意义; 它不仅仅是你写入文件的内容.使用每个新目录(with __init__.py)和每个新文件,您将创建一个新的"命名空间"...

如果你有文件/mydatabase/model.pyTable1,Table2等在定义model.py文件中,您可以简单:

from mydatabase.model import *
Run Code Online (Sandbox Code Playgroud)

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