Python 为什么另一个目录中的文件路径有时以“/”开头,有时以“/”开头

Python 为什么另一个目录中的文件路径有时以“/”开头,有时以“/”开头,python,Python,我的文件结构如下所示: -Project -trainingData - Folder1 - Folder2 -python - get_files.py -train_model.py 如果我想遍历文件夹trainingData中的每个文件夹,我将使用以下函数: data = os.listdir(path_data) for folder in data: # Do sth 在这种情况下,路径\数据是../t

我的文件结构如下所示:

-Project
    -trainingData
        - Folder1
        - Folder2
    -python
        - get_files.py
    -train_model.py
如果我想遍历文件夹trainingData中的每个文件夹,我将使用以下函数:

data = os.listdir(path_data)
for folder in data:
    # Do sth
在这种情况下,路径\数据是../training\数据。这很有意义,因为我需要向上一级,然后进入trainingData文件夹。在cmd中,我也会键入cd。。然后是cd培训数据


但是,当我从train_model.py调用get_files.py中的函数时,为什么路径是./training_data。这对我来说没有意义。如果我从文件本身调用get_files.py中的函数,那么相对路径不是仍然相同吗?

因为路径是相对于正在执行的python文件的。在这种情况下。train_model.py

,因为路径是相对于正在执行的python文件的。在这种情况下。train_model.py

相对路径来自uuu main_uuu脚本,在本例中为train_model.py。如果不是这样的话,那么您导入的每个库或脚本都可能有不同的相对路径,事情很快就会变得一团糟。

相对路径来自于_u主脚本,在本例中是train_model.py。如果不是这样的话,那么导入的每个库或脚本都可能有不同的相对路径,事情很快就会变得一团糟

为什么从train_model.py调用get_files.py中的函数时路径是./training_data

由于您是从train_model.py调用该文件,因此相对路径相对于当前运行的文件更改

为了检查绝对路径,您可以使用或

也是最新的:

使路径为绝对路径,解析任何符号链接。将返回一个新的路径对象:

为什么从train_model.py调用get_files.py中的函数时路径是./training_data

由于您是从train_model.py调用该文件,因此相对路径相对于当前运行的文件更改

为了检查绝对路径,您可以使用或

也是最新的:

使路径为绝对路径,解析任何符号链接。将返回一个新的路径对象:


如果我从文件本身调用get_files.py中的函数,相对路径是否仍然相同?不,路径从当前的workng dir开始,这是执行主脚本的dir,如果我从文件本身调用get_files.py中的函数,相对路径不是仍然相同吗?否,路径从当前工作目录开始,该目录是执行主脚本的目录