python怎么导入一个文件夹多个表格_关于导入:在Python中使用多个代码文件和文件夹...

我是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文件中定义的Table1,Table2等,您可以简单地:

from mydatabase.model import *

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

从我的理解来看,python导入系统与C#的命名空间相当相似。如果确实需要,可以在__init__.py中自定义模块的导入行为。您还可以使用import *或from x import *将模块定义的所有公共对象提取到当前名称空间中。

在C#中考虑:

using System;

Console.WriteLine("hello world!");

在python中,您可以这样做(使用这种完全人为的情况):

system/

system/__init__.py

system/console.py

在__init__.py中:

import console

在system/console.py中:

import sys

def write_line(s):

sys.stdout.write(s)

现在,在您的python代码中,您可以执行以下操作:

from system import *

console.write_line('hello world!')

但是,在Python中通常不认为这是个好主意。有关更多详细信息和好的建议,请查看本文:http://effbot.org/zone/import-confusion.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值