【问题标题】:python importing path not matching windows 10python导入路径与Windows 10不匹配
【发布时间】:2020-02-11 21:20:45
【问题描述】:

我正在使用 Git bash 打开 jupyter 实验室和笔记本文件。我想导入一个像 test.py 这样的文件,带有一个像 test_func(x) 这样的函数。 test.py 位于另一个文件夹中,然后是工作目录。在笔记本中使用 pwd 我得到类似“C:\Users\Documents\Code_folder\”的内容。我已经使用 sys.path.insert(1, "C:\Users\Code\) 添加了 test.py 的路径,test.py 所在的位置。

然后我在导入模块时没有问题,但是如果我添加另一个模块 test_func2(y),并且我说运行 test.test_func2??,我找不到该函数,并且在运行 test.test_func?? 时,我看到在线输出:文件:“c:\users\code\”。我相信是 File 的小写字母让我丢失了模块。

为什么会发生这种情况,我可以在不更改所有代码的情况下简单地更改它吗?

编辑:test_func2 是 test.py 中的另一个函数

【问题讨论】:

  • 你是说 test_func2(y) 的另一个函数(不是模块?)?它位于哪里?尝试 sys.path.append("C:/Users/Code") (你可以在你的 python 代码中使用正斜杠,它也适用于 Windows)
  • 我的意思是另一个函数,不是模块,对不起。
  • 尝试 sys.path.append 并告诉我它是否仍然无法正常工作,以及您使用的确切导入语句是什么?

标签: python import git-bash sys


【解决方案1】:

这可能只是您导入方式的问题。我不确定 Jupyter 的内部机制,但在终端窗口中,如果您更改模块,它必须是 reloaded(重新导入)。在 Python3 中,重新加载已移至 imp 模块。

stackoverflow:How do I unload (reload) a module?

对于 Jupyter,我假设您在前一个窗口中有 import test.py。如果您将函数添加到 .py 文件,只需返回该窗口并重新运行导入...尽管我不确定这是否能保证重新加载(因为只需在终端中重新运行命令 import test.py Python 将工作。)

【讨论】:

    猜你喜欢
    • 2017-05-27
    • 2015-12-07
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 2018-09-11
    相关资源
    最近更新 更多