【路径问题】

路径问题

  • Linux

Linux

【问题】:数据文件找不到
【解决】:vscode中,点击右上角运行按钮,代码执行时,内部如何执行:
(1)以xxxpython解释器,运行xxxxpython文件
(/home/wangyongqiang/miniconda3/envs/RGM/bin/python /home/wangyongqiang/A1WYQ/CFReg_WYQ/CFReg_TiaoShi/data/modelnet40_wyq.py)
(2)以终端中所在路径为当前路径,系统找该路径下所需文件。

如果【参数:所需文件】为相对路径,则1)所需文件的相对路径在终端路径下,能找到。2)所需文件路径的相对路径不在终端路径下,否则找不到,可修改终端路径,即可

【解决】

(1)导包时,是以当前运行的文件为基准,确定第三方包的路径。
(2)代码运行时(加载数据时),是以终端路径为基准,确定文件(保存文件,加载数据)的相对路径。
导包时:
A/B/C/D:python xx.py
A/B: python C/D/xx.py 
效果一样。

当某个包导入失败时,可用sys将其路径添加到环境变量中。

os.getcwd()返回终端中的路径。
os.getcwd() 用于获取当前工作目录(current working directory)。当前工作目录是指 Python 脚本运行时所在的目录

运行右上角按钮,将执行以下工作:

(RGM) wangyongqiang@user:~/A1WYQ/PCRNet_WYQ/pcrnet_pytorch_data/pcrnet/data_utils$ /home/wangyongqiang/miniconda3/envs/RGM/bin/python /home/wangyongqiang/A1WYQ/PCRNet_WYQ/pcrnet_pytorch_data/pcrnet/data_utils/dataloaders.py
即:终端路径$ python解释器 运行文件
代码中的os.getcwd()仍返回终端中的路径。

结论:不管是终端中运行代码,还是右上角运行按钮,都是以终端中的路径为当前工作目录。

你可能感兴趣的:(常见问题记录,linux)