当前位置: 首页 > 面试题库 >

在Python中将文件路径永久添加到sys.path

子车安和
2023-03-14
问题内容

我有一个名为的文件example_file.py,我想从其他文件中使用该文件,因此我决定将其添加example_file.pysys.path另一个文件中并将其导入另一个文件中以使用该文件。为此,我在IPython中运行了以下内容。

import sys
sys.path
sys.path.append('/path/to/the/example_file.py')
print(sys.path)

我可以看到我刚刚添加的路径,当我尝试从另一个目录路径中导入该文件时,如下所示:

import example_file

它工作正常,但是一旦我离开IPython,再次输入它,并检查了sys.path,我发现添加的路径不存在,那么如何在Python中永久地向sys.path添加路径?


问题答案:

有几种方法。其中一个最简单的就是创建一个my- paths.pth文件(如描述在这里)。这只是具有.pth您在系统site- packages目录中放入的扩展名的文件。在文件的每一行上都放置一个目录名称,因此您可以在其中放置一行/path/to/the/,它将目录添加到路径中。

您还可以使用PYTHONPATH环境变量,该变量类似于系统PATH变量,但包含将添加到的目录sys.path。请参阅文档。

请注意,无论您做什么,都sys.path包含 目录 而不是文件。您不能“将文件添加到sys.path”。您始终添加其目录,然后可以导入文件。



 类似资料:
  • 问题内容: 我已经用python编写了一个库,并且希望它驻留在文件系统上的公共位置。 从我的脚本,我只想做: 现在,我知道为了执行此操作, 可以 执行以下操作: 但是我不想每次都这样做。 问题是:如何将文件夹永久添加到python的sys.path?我可以想象这将是一个环境变量,但我找不到它。 看起来应该很容易,但是我找不到解决方法。 问题答案: PYTHONPATH环境变量将执行此操作。

  • 问题内容: 每当我使用时,都会添加新目录。但是,一旦我关闭python,列表将恢复为以前的值(默认值)。如何将目录永久添加到PYTHONPATH? 问题答案: 你需要将新目录添加到环境变量中PYTHONPATH,并用冒号与其之前的内容分隔开。在任何形式的Unix中,你都可以在启动脚本中执行此操作,该脚本适合于你正在使用的任何shell(.profile或取决于你喜欢的shell),该命令又取决于所

  • 这个问题与我的另一个问题类似,但这次是针对Microsoft Azure的。 我们有一个配置文件需要在驱动程序(可能还有执行程序)的类路径中。 在Microsoft Azure中定义数据库群集时,我配置了自定义Spark配置:spark.executor.extraClassPath和spark.driver.extraClassPath。我将两个路径指向dbfs中包含我们配置的目录。但正如一半人

  • 问题内容: 在开发Java项目时,我将所有jar文件都放在一个在项目内部创建的文件夹中,称为Now,是否可以将文件夹添加到Java类路径中,而不必添加每个jar文件? 我在考虑变量或创建用户库的思路。 问题答案: 根据您所说的,我可能会创建一个包含您的库JAR的用户库。 您可以使用Window => Preferences创建一个用户库,向下钻取到Java => Build Path => Use

  • 问题内容: 我在上,我尝试了下都无济于事。还尝试将jar移到src目录,但是java文件仍然无法编译。尝试在脚本中简单地导入httpclient。 问题答案: 安装您的JDK并将 其放置 。难道 不是 .jar文件复制到你的JDK的文件夹! 如果您还没有一个IDE,我建议您使用Eclipse或Netbeans这样的IDE。 我将建立一个新项目,创建或导入您的源,并为该项目设置一个类路径。 如果那行

  • 我正在使用 karaf 4.0.5 和 osgi 进行一个项目。我们有客户端代码来调用 REST API,这需要加载 3 个“*.属性”文件。我得到了一个客户端jar,我用它来调用服务器端类和方法(包含我无法更新的代码)。所需的属性文件存在于提供的客户端 jar 中,但其代码仍无法找到并加载它们。 在调试我的pax考试时,我发现它没有从jar加载资源文件的可能原因如下。 用于加载文件的代码似乎仅尝