在.py文件中调用其他路径下的.py文件中的函数

将写好的.py文件作为模块,将其中的函数在其他.py文件或者脚本中使用。

  1. 在D:\python_code\try下创建文件fun.py

def f1(): print(‘hello world!’) def f2(L): result = 0 for i in L: result += i return result def f3(x): print(“old x = “ + str(x)) x = 0 print(“change to x = “ + str(x)) value=100

如果没有在一个路径下要先将存放module的路径添加进来

from sys import path

path.append(r’D:\python_code\try’) #将存放module的路径添加进来

import fun #引入模块

from fun import f1,f2,f3 #引入模块中的函数

fun.f1() #与下一个区别,用这个必须先用import引入模块

f1()

print f2([1,2,3,4,5])

f3(20)

print fun.value #打印引入模块的变量值

2.在同一路径下创建文件cal.py

import fun #引入模块

from fun import f1,f2,f3 #引入模块中的函数

fun.f1() #与下一个区别,用这个必须先用import引入模块

f1() #需要时使用from…import…的方式引入才可以用

print f2([1,2,3,4,5])

f3(20)

print fun.value #打印引入模块的变量值

3.运行结果:

hello world!

hello world!

15

old x = 20

change to x = 0

100

4.在Console中调用。python import模块时, 是在sys.path里按顺序查找的。sys.path是一个列表,里面以字符串的形式存储了许多路径。使用fun.py文件中的函数需要先将他的文件路径放到sys.path中,用下面的方式:

from sys import path

path.append(r’D:\python_code\try’)

然后

import fun

再调用fun模块下面的函数

fun.f1()

可以得到:

hello world!

或者

fun.value

Out[5]: 100

如果用

from fun import f1,f2,f3

的方式import,则可以直接用

f1()

hello world!

但不能直接value

value

Traceback (most recent call last):

File ““, line 1, in

value

NameError: name ‘value’ is not defined

坚持原创技术分享,您的支持将鼓励我继续创作!