新闻中心

python绝对路径和相对路径怎么写

2025-12-05
浏览次数:
返回列表
Python路径应基于脚本位置动态生成而非硬编码:用Path(__file__).parent构建绝对路径,避免依赖当前工作目录;相对路径以工作目录为起点易出错,推荐统一以脚本位置为基准构造路径。

python绝对路径和相对路径怎么写

Python 中路径写法关键看你是想让代码在任何位置都能运行(推荐用绝对路径逻辑),还是只在当前目录下临时测试(可用相对路径)。但要注意:Python 本身没有“绝对路径语法”和“相对路径语法”的区别,只有字符串写法不同,真正起作用的是你如何构造这个字符串。

相对路径怎么写

相对路径以当前工作目录(不是脚本所在目录)为起点。比如你在终端进入 /home/user/project 后运行 python script.py,那当前工作目录就是这个路径。

  • "data/file.txt" → 当前目录下的 data 文件夹里的文件
  • "../config.ini" → 上一级目录中的配置文件
  • "./logs/app.log" → 当前目录下 logs/app.log./ 可省略)

绝对路径怎么写(安全写法)

硬写 "/home/user/project/data/file.txt""C:\Users\Name\project\data.txt" 看似是绝对路径,但会严重限制代码移植性——换台电脑就报错。真正可靠的“绝对路径”,是基于脚本位置动态生成的:

  • Path(__file__).parent(推荐,Python 3.4+):
    from pathlib import Path<br>config_path = Path(__file__).parent / "config.ini"
  • os.path.dirname(__file__)(兼容老版本):
    import os<br>config_path = os.path.join(os.path.dirname(__file__), "config.ini")

这样得到的路径,永远相对于脚本文件本身,不依赖你从哪启动 Python。

别踩坑:当前工作目录 ≠ 脚本所在目录

很多人误以为 open("data.txt") 是找脚本同目录的文件,其实它找的是你运行命令时所在的目录。比如:

简小派 简小派

简小派是一款AI原生求职工具,通过简历优化、岗位匹配、项目生成、模拟面试与智能投递,全链路提升求职成功率,帮助普通人更快拿到更好的 offer。

简小派 123 查看详情 简小派
  • 脚本在 /a/b/script.py,你在 /x/y 下执行 python /a/b/script.py,那么 "data.txt" 就去 /x/y/data.txt
  • 结果 FileNotFoundError —— 因为文件其实在 /a/b/data.txt

所以除非你明确控制运行位置,否则少用纯相对路径字符串操作文件。

读取资源文件的小技巧

如果项目有固定结构(如 myapp/ 下有 src/data/),建议统一用脚本位置为基准构建路径:

  • data_dir = Path(__file__).parent.parent / "data"(向上两级到项目根,再进 data)
  • db_path = data_dir / "app.db"
  • 后续直接用 db_path.open() 或转成字符串 str(db_path)

这样整个项目挪到别的机器或路径,只要内部结构不变,就完全不用改路径代码。

基本上就这些。核心就一条:别靠人眼拼路径,用 pathlib.Path 动态算,既清晰又可靠。

以上就是python绝对路径和相对路径怎么写的详细内容,更多请关注其它相关文章!


# 迭代  # 开平网站优化推广  # 天道酬勤唯一seo网  # 行业营销推广公司排名  # 淮南网站排名优化公司  # 桐城网站优化哪家靠谱  # 翠竹网络网站建设  # 合肥公众号营销推广排名  # 学seo什么网站好用  # 阿里巴巴网站优化  # 网站优化授权商城怎么弄  # 很多人  # 都能  # python  # 贪吃蛇  # 多线程  # 目录下  # 重启  # 你在  # 的是  # 区别  # 配置文件  # 电脑  # app  # 编码  # 路径 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: React Router v6 教程:构建认证保护的私有路由与重定向策略  如何使 Jest 模拟函数默认抛出错误以提高测试效率  Pandas DataFrame 多条件优先级排序与排名  如何提高微信支付的安全性_微信支付安全防护与设置建议  KFC套餐升级怎么获取优惠代码_KFC套餐升级活动与优惠代码获取方法  yandex入口引擎手机版 yandex安卓版下载入口  不同用户不同价格! 索尼开启账户个性化定价测试  学习通在线学习平台 学习通网页版直接进入课程中心  解决Django多数据库/多Schema环境下外键迁移问题  QQ邮箱官方登录入口_QQ邮箱网页版快捷使用平台  React/Next.js中实现列表项的动态移动与状态管理:兼论唯一键的重要性  高德地图沿途添加点失败如何解决 高德多点规划方法  钉钉视频会议声音异常如何处理 钉钉会议音频修复技巧  J*aScript中管理异步API调用:确保操作顺序与数据一致性  解决Tabulator日期时间排序问题的专业指南  AO3网页版最新入口合集 Archive of Our Own在线访问指南  composer 和 npm/yarn 在管理依赖方面有什么核心思想差异?  LocoySpider如何部署到云服务器_LocoySpider云部署的远程配置  Excel组合图表怎么做 Excel创建柱状图与折线组合图教程【图表】  如何将HTML表格多行数据保存到Google Sheets  漫蛙2正版漫画站 漫蛙2网页版快速访问入口  顺丰快件物流信息 官方网站查询入口  CSS Flexbox如何实现多行排列_flex-wrap wrap自动换行显示  格力空气能E5故障代码是什么情况_格力空气能E5代码解析与应对措施  微信网页版扫码登录入口 微信网页版二维码登录入口  2025年云电脑操作系统体验 | 无需本地硬件,随时随地使用高性能PC  漫蛙manwa2最新登录网址_漫蛙manwa2手机网页版入口  Win11怎么关闭快速启动_Win11彻底关机设置教程  Go语言中Map存储的结构体如何调用指针方法:深入解析与实践  使用Python高效删除Word宏并转换DOCM为DOCX格式  《噬血代码2》新预告片发布 展示游戏剧情  谷歌google账号注册详细步骤 谷歌账号注册官方教程  ACG动漫手机版官网入口 手机ACG动漫APP在线观看正版  Spring Boot内嵌服务器与J*a EE全栈特性:选择与部署策略  2026春节假期票务安排_2026春节放假购票指南  sublime怎么设置启动时打开的窗口_sublime会话管理与热退出  Win10怎么设置静态IP地址 Win10手动配置IP地址步骤【指南】  如何使用纯J*aScript判断Input元素是否在特定类容器内  特斯拉自动驾驶房车计划曝光 原型车将于2027年亮相  iwriter统一登录平台 iwrite账号密码登录页面  c++中的std::launder有什么实际用途_c++对象生命周期与指针优化  妖精动漫免费平台 妖精动漫官网资源观看网址  汽水音乐在线解析 汽水音乐在线解析入口  怎样把文件彻底粉碎无法恢复_Windows下安全删除敏感数据【隐私保护】  俄罗斯Yandex搜索引擎入口_Yandex官网免登录一键访问  Web Components中自定义开关组件状态同步的常见陷阱与解决方案  fishbowl官网免费版 fishbowl养鱼网站入口  Eclipse怎么运行工程_Eclipse工程运行配置说明  谷歌浏览器最新官方入口链接 谷歌浏览器网页版官网导航  百度浏览器字体显示异常偏小_百度浏览器字体渲染修复方案 

搜索