导入自定义模块model

编写m2.py,脚本内容如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
'its a module test'
__author__ = 'mm'

import sys
#定义函数ft()
def ft(x):
  x=int(x)
  sum=x*3
  print sum
#ft(sys.argv[1])

直接运行脚本 ./m2.py 3,返回值 9

在python命令行下运行 import m2,导入m2.py(此为自定义的模块)

运行 dir(m2) ,返回如下:

['__author__', '__builtins__', '__doc__', '__file__', '__name__', '__package__', 'ft', 'sys']

运行 m2.ft(33),调用m2模块中的ft()函数,返回值 99

 

 ==========导入目录============

 

目录scripts下有文件cpu.py

1.目录scripts下新建空文件 __init__.py (python3下可以从目录下导入)
2.导入:
from scripts import cpu
from scripts import *

可以从py文件中导入Class,Function等直接使用

 

如果目录scripts在其他目录下,未与当前py文件位于同一目录,则可使用多级os.path.dirname将其目录或父目录加入到当前环境变量

print os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #返回脚本所在目录的父目录,如C:\Django\workplace\sf

sys.path.append('basedir') #只是当前生效。

查看当前环境变量: print sys.path

然后再导入即可。

 

aa2.py中包含有一个字典d1和一个list l:

d1 = {'k1':1,'k2':222}
l = [1,2,3,8,9]

比如将aa2.py导入后,可以直接使用其字典d1和l,如下:

from aa import aa2
print aa2.d1['k2']
print aa2.l[3]
返回:
222
8

 

posted on 2016-01-12 10:55  momingliu11  阅读(290)  评论(0编辑  收藏  举报