在不同的操作系统上导入模块的路径是否不同?

2024-09-26 18:08:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在spyder有一个python项目,不管我在哪里,我都会在一天之内打开它,在Mac、Windows和Ubuntu上工作。问题是导入模块在windows上的工作方式不同。你知道吗

我的文件系统设置如下:

- /Project
    * Main.py
- /modules
    * Functions.py
    * constants.py
    * otherFunctions.py
- /Data
    * bunch of data files

在主.py,我有:

import modules.Functions as gf
import modules.otherFunctions as of
from modules.constants import gas_const_R, Solar_const

内部其他函数.py,我有:

import modules.Functions as gf

在常数.py,我有:

gas_const_R = 287.04
Solar_const = 1368.0

这一切在Linux和Mac上都能很好地工作,但是Windows不会导入常量,也不会允许其他函数.py导入函数.py. 你知道吗

当前工作目录在所有操作系统上都是相同的。主.py可以导入所有模块,但它们不能在Windows上相互导入,而且我无法在Windows上获取常量。你知道吗

这是我的spyder设置中的问题吗? windows路径有问题吗? 有没有一种方法可以根据所使用的操作系统进行不同的导入?你知道吗


Tags: 模块of函数pyimportmoduleswindowsmac
1条回答
网友
1楼 · 发布于 2024-09-26 18:08:20

这取决于IDE如何执行程序,特别是CWD(当前工作目录)是什么。这是(一些)进口相对于进口的地方。您可以通过运行以下命令来检查此目录:

import os
print(os.path.abspath('.')

对于您想要的行为,这应该打印所有三个目录的父目录。如果没有,您必须更改IDE的设置(对不起,我不知道spyder)。你知道吗

相关问题 更多 >

    热门问题