2024-05-13 20:04:20 发布
网友
我正在使用Python2.7。我对python langauge比较陌生。我有两个python模块-“Trailcrest.py”和“Glyph.py”,它们都在同一个文件夹中,但不在Python27文件夹中。
我需要将“Trailcrest.py”导入“Glyph.py”,但我得到的消息是“不存在这样的模块”。
此外,无论我使用什么方法导入模块,都不需要依赖于固态路径。这个程序是跨平台的,路径可以根据用户的偏好进行更改。但是,这两个模块始终位于同一文件夹中。
我该怎么做?
为了详细说明Ferdinand Beyer的answer,sys.path是默认模块导入程序检查的文件位置列表。有些,尽管不是所有python安装都会将当前目录或__main__模块的目录添加到路径中。要确保与给定模块相关的路径在该模块中可导入,请执行以下操作:
sys.path
__main__
import os.path, sys sys.path.append(os.path.dirname(__file__))
但这样的东西不应该成为“生产”产品。相反,使用类似distutils的方法将模块的包安装到python站点包目录中。
distutils
这也可以使用环境变量PYTHONPATH来实现,环境变量也会影响Python的搜索路径。这可以在shell脚本中完成,这样就不需要更改Python文件。如果要从当前工作目录导入,请使用bash中的.符号:
PYTHONPATH
.
export PYTHONPATH=. python python_prog.py
如果在同一个文件夹中有Trailcrest.py和Glyph.py,则将其中一个导入另一个文件夹非常简单:
Trailcrest.py
Glyph.py
import Trailcrest import Glyph
如果这不起作用,那么Python设置似乎有问题。您可能需要检查sys.path中的内容。
import sys print sys.path
为了详细说明Ferdinand Beyer的answer,
sys.path
是默认模块导入程序检查的文件位置列表。有些,尽管不是所有python安装都会将当前目录或__main__
模块的目录添加到路径中。要确保与给定模块相关的路径在该模块中可导入,请执行以下操作:但这样的东西不应该成为“生产”产品。相反,使用类似
distutils
的方法将模块的包安装到python站点包目录中。这也可以使用环境变量
PYTHONPATH
来实现,环境变量也会影响Python的搜索路径。这可以在shell脚本中完成,这样就不需要更改Python文件。如果要从当前工作目录导入,请使用bash中的.
符号:如果在同一个文件夹中有
Trailcrest.py
和Glyph.py
,则将其中一个导入另一个文件夹非常简单:如果这不起作用,那么Python设置似乎有问题。您可能需要检查
sys.path
中的内容。相关问题 更多 >
编程相关推荐