【问题标题】:simple function, how to add to global path?简单的功能,如何添加到全局路径?
【发布时间】:2019-03-12 07:17:03
【问题描述】:

我正在尝试为我的研究项目构建一组可以在任何 .py 文件中引用的自定义函数。

如果我在 D:\_coding\pyfun 中放置了一个非常简单的函数,我如何让 Python 在我未来的所有脚本中引用这个目录 - 这样我就可以调用那里的函数?如果重要的话,我的 IDE 是 PyCharm。

例如, add.py保存在D:\_coding\pyfun

def add(a, b):
    return a+b

现在当我用 Python 调用时,它当然不能识别 add

>     add(1,3)
>     Traceback (most recent call last):
>       File "<input>", line 1, in <module>
>     NameError: name 'add' is not defined

【问题讨论】:

  • 你需要 import 它。你是如何运行 shell 的?

标签: python function path call pythonpath


【解决方案1】:

你可以导入它。例如:

$ python3
Python 3.6.6 (default, Sep 12 2018, 18:26:19) 
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from add import add
>>> add(1, 3)
4

请注意,解释器的工作目录需要与add.py文件所在的目录相同。

如果不是这种情况,您首先需要通过添加(空)__init__.py 文件来指定目录是模块。

您还可以在PYTHONPATH 环境变量中添加您的add.py 文件所在的目录。这是一个以冒号分隔的字符串,其中包含 Python 解释器在查找导入模块时将查找的路径。

【讨论】:

    【解决方案2】:

    如果不想编辑PYTHONPATH变量,可以在python脚本本身手动添加文件夹,如下:

    import sys
    sys.path.append('D:\_coding\pyfun')
    import Yourpackage.pyfile
    

    【讨论】:

      猜你喜欢
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 2016-01-23
      • 2013-07-02
      相关资源
      最近更新 更多