西风几时来

V1

2022/10/27阅读:25主题:默认主题

Python调用自定义函数

基础设置


Jupyter NoteBook中调用自定义函数

  尽管python中内置了许多模块和函数,但有时需要自定义一些函数来实现自己想要的特定功能,那么该如何调用自定义的函数呢?

例如,我写了一个显示目前日期和时间,并将其格式化输出(年-月-日,时-分-秒,蓝色,加粗)的函数。

def PrintTime():
    import time
    localtime=time.strftime('%Y-%m-%d %A %H:%M:%S',time.localtime())
    print('\033[1;34m'+localtime+'\033[0m')

自定义函数写好后,将其另存为MyFunctions.py文件,然后直接import MyFunctions,就可以调用里面的函数MyFunctions.PrintTime()
你也可以直接调用具体的函数from MyFunctions import PrintTime as PT,然后可以直接使用该函数PT()

  但是通常会遇到一些问题,以上方法仅在自定义函数文件和调用函数的文件在同一路径下时才可行,因为这时import MyFunctions会在该路径下搜索,找到该MyFunctions.py文件后进行调用。如果自定义函数文件和调用函数的文件不在一个路径下,则会报错,这时我们需要把自定义函数文件的路径添加进pythonpath中去。

方法一:利用sys模块添加path变量

那么首先我们可以利用sys模块输出path变量,来看当前python包含哪些路径,import会在这些路径下搜索库/模块。

import sys
sys.path

sys模块提供了sys.path.append()函数来添加搜索路径,可以直接把自定义函数文件所在路径添加到path中:
(例如,我自定义函数文件存放在D:\Jupyter\xjy_python\SelfDefinedFunc路径下)

sys.path.append('D:\Jupyter\xjy_python\SelfDefinedFunc')
sys.path

再次输出path变量,可以看到自定义函数文件存放路径被添加进去了,这时可以import MyFunctions然后调用里面的自定义函数了。

  但是这种方法具有他的局限性,这样只能临时修改path变量,当程序关闭后path变量会重置,需要再次使用sys.path.append()函数来添加路径。

方法二:设置PYTHONPATH

想要永久性地在path变量中添加新路径,需要使用环境变量PYTHONPATH。(设置-系统-关于-高级系统设置-环境变量-系统变量-PYTHONPATH-编辑-输入路径-确定)

PYTHONPATH环境变量设置PYTHONPATH环境变量设置

我的电脑中系统变量里没有PYTHONPATH,所以我是新建-输入PYTHONPATH,然后编辑-输入路径-确定,然后重启Jupyter NoteBook,这时import MyFunctions不报错了,表示path变量添加成功。

完成环境变量配置后,就实现了在Jupyter NoteBook中调用自定义函数。

分类:

后端

标签:

Python

作者介绍

西风几时来
V1

摸鱼的时候随便写写~