(1)主程序main.py与模块程序mod1.py在同一目录下。
创新互联专业为企业提供西峡网站建设、西峡做网站、西峡网站设计、西峡网站制作等企业网站建设、网页设计与制作、西峡企业网站模板建站服务,10年西峡做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
--src
|--mod1.py
|--main.py
直接在main.py中导入模块mod1.py,即 import mod1 或 from mod1 import *
(2)主程序main.py所在目录是模块程序mod.py所在目录的父目录。
--src
|--mod1.py
|--main.py
---mod2
|--mod2.py
先需要在mod2文件夹中建立空文件__init__.py
然后在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
(3)主程序main.py导入上层目录中的模块或其他目录(平级)下的模块。
--src
|--mod1.py
---mod2
|--mod2.py
---sub
|--main.py
先需要在mod2文件夹中建立空文件__init__.py,而src文件夹下不需要建立
然后进入主程序main.py所在的路径,执行python main.py
在main.py中导入模块mod2.py,即 import mod2.mod2 或 from mod2.mod2 import *
执行前在main.py中加入:
import sys
sys.path.append("..")
import mod1
import mod2.mod2
python的内建函数即是python自带的函数,这种函数不需要定义,并且不同的内建函数具有不同的功能,可以直接使用。
以下是部分内建函数用法及说明
1、abs(),返回数字的绝对值。
2、all(),如果集合中所有元素是true或集合为空集合,返回True。
3、any(),如果集合中有一项元素是true,返回True;空集合为False
4、ascii(), 返回一个表示对象的字符串。
5、bin(),将整数转换为前缀为“0b”的二进制字符串。
6、bool(),返回一个布尔值,即True或者之一False。
7、bytearray(),返回一个新的字节数组。
8、callable(对象)判断对象参数是否可被调用(可被调用指的是对象能否使用()括号的方法调用)
9、chr(),返回表示Unicode代码点为整数i的字符的字符串。与ord()函数相反。
推荐学习《python教程》
10、classmethod,将方法转换为类方法。
11、compile,将源代码编译为代码或AST对象。代码对象可以由exec()或执行eval()。 source可以是普通字符串,字节字符串或AST对象。
12、dic(),创建一个字典
13、divmod(a,b),将两个数作为参数,并在使用整数除法时返回由商和余数组成的一对数
14、enumerate(iterable,start = 0)
enumerate是枚举、列举的意思
对于一个可迭代的(iterable)/可遍历的对象(如列表、字符串),enumerate将其组成一个索引序列,利用它可以同时获得索引和值
enumerate多用于在for循环中得到计数
15、eval,将一个字符串变为字典
16、exec(object [, globals[, locals]])exec语句用来执行储存在字符串或文件中的Python语句
17、filter(功能,可迭代)
filter函数用于过滤序列
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。
只需要import你保存的东西就可以。
python具备动态导入module并且执行其中代码的能力,所以你只要improt你保存的东西就可以,无需中断你当前的代码执行流。
使用open文件路径W语句就可以打开文件函数。
1、导入整个模块:
一般格式为:
import
模块1[模块2[,...]]
模块名就是程序文件的前缀,不含.py,可一次导入多个模块,导入模块后,调用模块中的函数或类时,需要以模块名为前缀,这样代码读起来更容易理解。
例:
import
math
math.sin(0.5)
0.4794255
2、与form联用导入整个模块:
一般格式为:
form
模块名
import*
这种方式导入模块后,调用模块中的函数或类,仅使用函数名或类名,代码简洁,但可读性差,不容易理解。
例:
form
math
import*
cos(0.5)
0.8775825
3、与form联用导入一个或多个对象:
一般格式为:
form
模块名
import
对象1[,对象2[,对象...]]
这种方式只导入模块中的一个或多个对象,调用模块中的对象时,仅使用对象名
例:
form
math
import
sin,cos,exp
sin(0.5)
0.4794255
cos(0.5)
0.8775825
exp(1)
2.7182818
这个问题涉及到包和模块管理。包名和模块名一般是小写。你的文件是下面的结构,需要创建空文件 b/__init__.py,将b目录变成package。a/a.py
12
from b.c import indexindex()
b/c.py
12
def index(): print("hello")
b/__init__.pya/a.py 里面有两种引用方式,相对引用和绝对引用:# 如果a.py是 library,两种引用方式都可以
1
from ..b.c import index
# 如果a.py是 executable,必须使用绝对引用
1
from b.c import index
如果使用绝对引用,需要确保b所在目录在PYTHONPATH (sys.path)里面,比如可以这样执行:
1
env PYTHONPATH=. python a/a.py