Python中如何获取各种目录路径

最近总是遇到各种路径问题,学习总结一下

文章目录

      • 1. 获取各种目录的方法:
      • 2. Python测试脚本:

1. 获取各种目录的方法:

  • 当前工作目录:这是你从哪里运行了你的Python脚本。

    current_directory = os.getcwd()
    
  • 脚本所在目录:无论你在哪里运行Python脚本,这都会指向脚本的实际位置。

    script_directory = os.path.dirname(os.path.abspath(__file__))
    
  • 用户的主目录

    home_directory = os.path.expanduser("~")
    
  • 绝对路径:从相对路径获取完整的绝对路径。

    absolute_path = os.path.abspath("relative/path/to/file_or_directory")
    

2. Python测试脚本:

import osdef print_directories():# 当前工作目录current_directory = os.getcwd()print(f"当前工作目录: {current_directory}")# 脚本所在目录script_directory = os.path.dirname(os.path.abspath(__file__))print(f"脚本所在目录: {script_directory}")# 用户的主目录home_directory = os.path.expanduser("~")print(f"用户的主目录: {home_directory}")# 获取绝对路径relative_path = "some_folder/some_file.txt"absolute_path = os.path.abspath(relative_path)print(f"从相对路径 '{relative_path}' 获取的绝对路径: {absolute_path}")if __name__ == "__main__":print_directories()

测试效果
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/96448.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

学习搜狗的workflow,MacBook上如何编译

官网说可以在MacBook上也可以运行,但是编译的时候却有找不到openssl的错误: 看其他博客也有类似的错误,按照类似的思路去解决 问题原因和解决办法 cmake编译的时候,没有找到openssl的头文件,需要设置cmake编译环境下…

解决docker开启MySQL的binlog无法成功。docker内部报错:mysql: [ERROR] unknown variable

1. 报错信息 2. 操作流程 整个流程是这样的: 我愉快的输入docker ps,查看MySQL的docker 容器id 执行指令docker exec -it 8a \bin\bash进入容器内部执行vim /etc/my.cnf,打开配置文件按照网上说的,添加如下配置信息退出docker容…

解决若依框架多次list查询时,分页失效问题

一、问题背景 当若依框架遇到两次及以上的list查询时,会引发分页查询失效问题,如下图: 二、分析原因 分页查询原理 Mybatis的分页原理,大致就是使用MyBatis提供的插件接口,实现自定义插件,在插件的拦截方法内拦截待执行的 SQL,然后重写 SQL,实现分页…

2023(2024届)计算机保研经验分享,圆梦山东大学

前言: Hello大家好,我是Dream,好久不见啦!在这不见的半年多时间里我一直在全身心的投入保研之中,在写下这份面经时,真的是感慨颇多,思绪万千。站在这个时间点上,回首过去的几个月&am…

Go:实现SMTP邮件发送订阅功能(包含163邮箱、163企业邮箱、谷歌gmail邮箱)

需求很简单,就是用户输入自己的邮箱后,使用官方邮箱给用户发送替邮件模版 目录 前置邮件模版邮箱开启SMTP服务163邮箱163企业邮箱谷歌gmail邮箱腾讯企业邮箱-失败其他邮箱-未操作 邮件发送核心代码config.yaml配置读取邮件相关配置发送邮件 附录 前置 邮…

C++中迭代器的使用

C中的迭代器是一种用于遍历容器(如数组、向量、列表、映射等)中元素的工具。迭代器提供了一种通用的方式来访问容器中的数据,而不依赖于容器的具体实现。 以下是C中迭代器的基本使用方法和示例: 1.迭代器类型: C标准…

使用关键字interface来声明使用接口-PHP8知识详解

继承特性简化了对象、类的创建,增加了代码的可重用性。但是php8只支持单继承,如果想实现多继承,就需要使用接口。PHP8可以实现多个接口。 接口类通过关键字interface来声明,接口中不能声明变量,只能使用关键字const声明…

tcpdump(一)基础理论知识

一 抓包分析技术初探 说明: 本篇章跟tcp/ip的知识没有关系,只是讲解tcpdump工具背景补充: 抓包是做报文分析的第一步敬畏心: 隔行如隔山,不要想当然 ① 背景 ② 抓包技术名词 1、捋顺这些技术的来龙去脉甚至八卦;2、这样我们在后续课程…

绘制散点图、曲线图、折线图和环形图失败, 设置迭代次数和进度无法保存图片

错误❌ 分别input设置(我想知道微积分的力量) 设1个人,他有每天3种方案,每天进步千分之一,千分之一,十万分之一等到他们迭代 200,500,1000,2000,3000,5000,9000次 他们在图片什么位置画曲线图&#xff0…

QGIS文章五——对遥感影像进行土地类型分类-选择遥感影像

关于下载遥感影像的地方有很多: 1、国家综合地球观测数据共享平台(https://www.chinageoss.cn/) 2、地理空间数据云(https://www.gscloud.cn/) 3、美国地质勘探局官网(https://earthexplorer.usgs.gov/&…

MD5玩翻车了-0缺失

废话背景: 跟别人集成免密登录,用到了MD5加密,做好的数据偶尔行,偶尔不行,深刻怀疑别人代码有问题。(从不怀疑自己),理直气壮的找了别个对接人好几次。最后发现自己做的MD5位数不对…

flutter中使用缓存

前言 在flutter项目中使用ListView或者PageView等有滚动条组件的时候,切换页面的时候,再切换回来会丢失之前的滑动状态,这个时候就需要需要使用缓存功能 缓存类 import package:flutter/material.dart;class KeepAliveWrapper extends Sta…

【Luogu】 P4649 [IOI2007] training 训练路径

题目链接 点击打开链接 题目解法 好神仙的题啊!!! 首先一个合法的选路径方案等价于没有偶环出现 我们先判掉和树边能组成偶环的非树边 然后考虑一个结论是:如果有一条边被两个偶环都经过了一次,那么这个方案不合法 …

线性调频雷达简介

一、频率调制模式 Chirp雷达是脉冲雷达的统称,其中发射的脉冲是脉冲内调制的。这可以是脉冲上的频率调制(FMOP)或脉冲上的相位调制(PMOP)。发射的脉冲较长,但具有与脉冲功率高得多的短脉冲相同的能量含量 图1 线性频率调制 FMOP可能是: 线性频率调制– up-chirp – dow…

在Flink中集成和使用Hudi

本文介绍在Flink 中集成和使用Hudi。介绍Flink如何将Streaming引入Hudi。在Hudi上使用Flink,并学习Flink读写Hudi的不同模式: Flink SQL客户端写入:Flink SQL客户端写入(读取)Hudi。 配置:对于全局配置,通过$FLINK_HOME/conf/FLINK-conf.yaml进行设置。对于每个作业配置…

服务器挂机

title: “linux好玩的” createTime: 2021-05-27T10:09:5308:00 updateTime: 2021-05-27T10:09:5308:00 draft: false author: “xcb” tags: [“linux”,“tar”] categories: [“linux”] keywords: [“linux”] description: “测试的” linux 好玩 压缩 tar -zcvf soft.…

目标识别项目实战:基于Yolov7-LPRNet的动态车牌目标识别算法模型(二)

前言 目标识别如今以及迭代了这么多年,普遍受大家认可和欢迎的目标识别框架就是YOLO了。按照官方描述,YOLOv8 是一个 SOTA 模型,它建立在以前 YOLO 版本的成功基础上,并引入了新的功能和改进,以进一步提升性能和灵活性…

零基础如何自学网络安全,基于就业前景全方位讲解,包教包会

你是否对网络空间安全充满好奇?想要解开网络世界神秘的面纱?你是否对黑客技术着迷?而找不到合适的学习途径?你是否遭到过各种各样的网络攻击,却因知识的匮乏束手无策? 那么接下来将为你全面介绍&#xff0c…

优化器optimizer

用来更新和计算影响模型训练和模型输出的网络参数,使其逼近或达到最优值,从而最小化(或最大化)损失函数。 总结 从SGD到Adam做了哪些改进自适应的学习率、动量 从SGD到Adam做了哪些改进Adamw 即 Adam + weight decate ,效果与 Adam + L2正则化相同,但是计算效率更高,因为L2正则…