当前位置: 首页 > news >正文

允许发外链的网站珠海网站制作公

允许发外链的网站,珠海网站制作公,自学网站建设需要什么学历,网站开发word怎么有效管理项目路径(避免使用绝对路径) import os 使用 os.path 方法会自动处理不同操作系统的路径分隔符(如 \ 和 /) 1.**current_dir os.path.dirname(os.path.abspath(\__file__)) ** __file__ 获取当前脚本的文件路径&…

怎么有效管理项目路径(避免使用绝对路径)

import os

使用 os.path 方法会自动处理不同操作系统的路径分隔符(如 \/

1.**current_dir = os.path.dirname(os.path.abspath(\__file__)) **

  • __file__ 获取当前脚本的文件路径(可能是相对或绝对路径)
  • os.path.abspath(__file__) 将路径转为绝对路径(确保路径是完整的)。
  • os.path.dirname(...) 提取脚本所在的目录路径。
  • 最终 current_dir 是当前脚本的所在目录的绝对路径。

假设train.py文件的绝对路径为D:/workspace/MambaIR/basicsr/utils/train.py
假设在D:/workspace/MambaIR/basicsr/下执行命令python ./utils/train.py则此时:
(python ./utils/train.pypython utils/train.py没啥区别)

  • __file__utils/train.py

假设在D:/workspace/MambaIR/basicsr/utils/下执行命令python train.py

  • __file__train.py

两种情况下只有__file__有区别,下面这两个没区别。

  • os.path.abspath(__file__)D:/workspace/MambaIR/basicsr/utils/train.py
  • os.path.dirname(...)D:/workspace/MambaIR/basicsr/utils

2.parent_dir = os.path.abspath(os.path.join(current_dir, '..'))

  • ..是上一级目录的意思。
  • parent_dir=D:/workspace/MambaIR/basicsr

from os import path as osp

3.root_path = osp.abspath(osp.join(__file__, osp.pardir, osp.pardir))

  • 这里的osp.pardir='..'
  • osp.abspath(osp.join(__file__, osp.pardir))=osp.abspath(osp.join(__file__, '..'))
  • root_path=D:/workspace/MambaIR

4.sys.path.append(parent_dir)

  • 目录路径添加到 Python 的模块搜索路径中
  • sys.path:这是 Python 用来搜索模块(.py 文件)的路径列表。当在代码中使用 import 时,Python 会按顺序在这些路径中查找对应的模块。
  • .append(parent_dir):将 parent_dir 添加到 sys.path 列表的末尾,使得 Python 也能从该目录中导入模块。

my_project/
├── scr/
| ├── main.py
└── utils/
├── init.py
└── helpers.py

如果在 main.py 中想导入 helpers.py,通常需要:from utils import helpers

但如果直接运行可能会报错 ModuleNotFoundError: No module named 'utils',因为 Python 默认只在以下位置搜索模块:

  • 当前脚本所在目录(也就是/myproject/scr),而utils在/myproject下。
  • Python 标准库目录(如 /usr/lib/python3.8
  • 第三方库目录(如 ~/.local/lib/python3.8/site-packages

通过 sys.path.append(parent_dir),显式地告诉 Python:“把 my_project/ 也加入模块搜索路径”。

  • 实例:
    若文件结构为:

Temporal-Color-Constancy-master/
├── auxiliary/ # 被添加的路径
│ ├── model.py
│ ├── dataset.py
│ └── …
└── test/
└── test_rccnet.py # 运行脚本

运行test_rccnet.py所使用的命令是:python ./test/test_rccnet.py

则可以通过在test_rccnet.py中使用sys.path.append('./auxiliary/')来实现from model import squeezenet1_1,CreateNet from dataset import *
注:因为python ./test/test_rccnet.py,所以./auxiliary/ 中的 ./ "当前目录"表示的是:Temporal-Color-Constancy-master/
注意,当前的目录是你cd到了哪个目录下,与你当前打开什么脚本,运行什么命令无关
在这里插入图片描述
比如说这张图片,当前的路径就是/run/

http://www.dtcms.com/a/400542.html

相关文章:

  • 网站优化外包费用465端口 WordPress
  • 深圳网站建设i9988wordpress发布网站
  • 限制标签与FFD在3D建模中的深入应用与实战解析
  • 介绍一下 ros moveit
  • 建设网站郑州小猪网站怎么做的
  • php网站开发实例教程 课件seo网站整站优化
  • 免费网站怎么做好享购物官方网站购物
  • dw做的个人网站做电影网站要多少钱
  • 帝国做网站是选择静态还是伪静态跳转中
  • 建个门户网站wordpress网站嵌入商城
  • oppo手机网站建设策划方案网络营销案例100例
  • 建设公众号官方网站me域名公司网站
  • 10-Redis 列表类型实战指南:从命令解析到场景落地(基于双向链表特性)
  • 上海网站建设需要多少钱高端品牌鞋子有哪些牌子
  • 专业的手机网站建设公司哪家好wordpress跳转到登录页面代码
  • 荆门网站开发有哪些青海省住房和城乡建设厅 网站
  • line 设计网站嵌入式软硬件开发
  • 开平市建设工程站网站山东做外贸网站的公司
  • 佛山网站中关村在线手机参数对比
  • Sentinel:流量控制+熔断降级组件
  • 学校如何建网站免费建手机商城网站
  • 东莞手机网站价格表六安网络推广公司
  • 机关网络 网站 建设制作网页的代码
  • C++学习记录(11)继承详解
  • Notepad文本编辑器正则替换查询使用指南
  • 做软件开发的网站有哪些甘肃兴华建设集团网站
  • 无锡企业网站制作哪家好在godaddy做网站贵吗
  • c++:SLT容器之set、map详解
  • 个人博客网站制作搭建医疗网站建设及优化
  • 民族建设集团有限公司官方网站营销什么意思