在 google colab 中使用 ../ 升级的一条路径

one path level up using ../ in google colab

我要写一个GitHub代码,一篇论文的代码,很大,手动修改会很费时间。
更新问题:
该代码在不同的目录中包含多个 python 文件和模块,如下所示:

algorithm1/
├─ data/
├─ model/
├─ some_func.py
├─ evaluate.py
├─ train.py
utils/
├─ data/
├─ model/
├─ some_helper.py
├─ plot.py
├─ anything_else.py

我正在尝试 train/evaluate 我的模型是这样的:

%run /content/drive/algorithm1/train.py

更新结束

问题在某些文件中,它使用../来引用父目录(例如:save_dir='../dir_A/dir_B/dir_C
但 colab 无法识别它:

FileNotFoundError: [Errno 2] No such file or directory: '../dir_A/dir_B/dir_C/file.csv'

我知道我可以通过像这样更改它来修复它:

save_dir='/content/drive/dir_D/dir_A/dir_B/dir_C/'

但这会花费太多时间,因为每次父目录(即 dir_D)都会不同。并且此语句 save_dir='../dir1/dir2 会有所不同(例如 sys.path.append('../dir_E/')os.path.join('..', 'dir_F')

有没有办法让 colab 识别 ../ 或更快地编辑它们?

好的,我明白了。在我的尝试中出现了三个问题。
首先,我尝试 运行 python 脚本,如下所示:

%matplotlib inline
%run my_python_file.py 

现在它用 !python 替换了 %run 并且有效

第二个问题是,在每个文件中,我必须添加这个让解释器搜索正确的位置(在我的代码中,有一些模块在上一级路径中):

import sys
sys.path.append('../')

第三,我必须更改我试图 运行 的 python 文件旁边的目录,我直接寻址到该文件,所以我更改了 :

%run /content/drive/dir1/dir2/my_python_file.py

os.chdir('/content/drive/dir1/dir2/')
!python my_python_file.py

我更新了问题以减少以后参考中的误解