我正在Pygame中开发一款小型视频游戏。我希望它在文件夹层次结构中非常清楚,因此,我已经以这种方式进行了准备:
Python
Project
bin
init.py
Project.vbs
lib
constants.py
definitions.py
sprites ( useless for topic )
Project.exe
Project.exe是一个墨水文件,是一个虚假的可执行文件。实际上,这是打开init.py的Project.vbs的快捷方式(仅用于具有最清晰的文件夹管理)。
我的问题是什么? 我想从“ bin”文件夹中的init.py导入difinitions.py和constants.py,这对于游戏来说绝对至关重要。 顺便说一句,这些文件保存在我的USB闪存盘上,但是此路径始终会更改:
在我自己的计算机上,它是C:/user/Edhyjox/Save19/Python/...
在我的高中计算机上,它是P:/documents/Python
(实习)
在我的手机上是/storage/0/Python/...
每当我进行复制时,路径都会更改...
所以我已经阅读了很多主题来尝试解决此问题,但是只要它不起作用,就:/
我已经尝试使用:
Import constants
from lib import constants
from lib.definitions import *
我已经尝试过使用操作系统和路径
import sys
sys.path.insert(0, 'Project/lib')
import constants
import sys
sys.path.append('Project/lib')
import constants
但是仍然无法正常工作...有人可以给我解决方案并向我解释吗?
答案 0 :(得分:0)
这实际上取决于您从哪里开始Python进程。您要添加的任何路径都应相对于该位置。因此,您说它是从root@MyPC:/# cd home
root@MyPC:/# cd Desktop
root@MyPC:/# cd mylocalfolder
开始的,因此您可以添加
bin
您还可以将import os
import sys
sys.path.append(os.path.abspath('../lib'))
import constants
添加到__init__.py
,然后将lib
添加到path并执行".."
。
或者您可以将整个程序安装并安装为Python软件包,然后使用绝对导入,例如import lib.constants as constants
。