基础用法

os.path.join() 用于拼接文件的路径,可以传入多个待拼接的路径

  • 若各个路径之间不存在 “ / ”, 则其会自动为各个路径之间增加连接符 “ / ” 。
import os
dir = os.path.join('home','pc','data')
print(dir)
------------
>> home/pc/data
  • 存在以“ / ”开始的子路径,则从最后一个以“ / ”开头的子路径开始拼接,之前的子路径全部丢弃。
import os
dir = os.path.join('home','/pc','data')
print(dir)
dir = os.path.join('/home','/pc','data')
print(dir)
dir = os.path.join('/home','/pc','/data')
print(dir)
------------
>> /pc/data
>> /pc/data
>> /data
  • 存在以“. / ”开始的子路径,同时存在以“ / ”开头的子路径,则还是以“ / ”开头的子路径为依据,从最后一个以“ / ”开头的子路径开始拼接,之前的子路径全部丢弃。
import os
dir = os.path.join('/home','./pc','data')
print(dir)
dir = os.path.join('./home','/pc','data')
print(dir)
dir = os.path.join('/home','/pc','./data')
print(dir)
------------
>> /home/./pc/data
>> /pc/data
>> /pc/./data
  • 只存在以“. / ”开始的子路径,而不存在以“ / ”开头的子路径,则会将“. / ”里面的“ . ”当作子路径的一部分,进行拼接。
import os
dir = os.path.join('home','pc','./data')
print(dir)
dir = os.path.join('./home','pc','./data')
print(dir)
------------
>> home/pc/./data
>> ./home/pc/./data

组合用法

根据当前的脚本的绝对路径拼接改路径下的其他文件的路径:

os.path.join(os.path.dirname(os.path.realpath(__file__)), args.data_dir)
------------
os.path.realpath(__file__) % 获取当前脚本(这条代码所处的文件)的绝对路径。 >> D:\home\data\text.py os.path.dirname % 去掉文件名,返回目录 >> D:\home\data\

python中 OS模块中 os.path.join() 函数用法简介的更多相关文章

  1. OS模块中获取当前文件的绝对路径的相关方法

    os.path.realpath(__file__) 作用:获取当前执行py脚本的绝对路径(在当前工作目录下的绝对路径) __file__ : 表示当前文件的本身,一般值是当前文件的相对路径 例如: ...

  2. python基础:os模块中关于文件/目录常用的函数使用方法

    Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现 因此Python的作者就倒腾了OS模块这么一个玩意儿出来,有了OS模块,我们不需要关心什么操作系统下使用什么模 ...

  3. Python OS模块中的fork方法实现多进程

    import os '''使用OS模块中的fork方式实现多进程''' '''fork方法返回两次,分别在父进程和子进程中返回,子进程中永远返回0,父进程返回的是子进程的is''' if __name ...

  4. Python os模块、os.path模块常用方法

    os模块:os模块在python中包含普遍的操作系统功能,下面列出了一些在os模块中比较有用的部分. os.sep 可以取代操作系统特定的路径分隔符.windows下为 "\" o ...

  5. os模块中关于文件/目录常用的函数使用方法

    os模块中关于文件/目录常用的函数使用方法 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir(path='.') 列举指定目录中的文件名('. ...

  6. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现

    最近在写的程序频繁地与文件操作打交道,这块比较弱,还好在百度上找到一篇不错的文章,这是原文传送门,我对原文稍做了些改动. 有关文件夹与文件的查找,删除等功能 在 os 模块中实现.使用时需先导入这个模 ...

  7. python路径拼接os.path.join()函数的用法

    os.path.join()函数:连接两个或更多的路径名组件 1.如果各组件名首字母不包含’/’,则函数会自动加上 2.如果有一个组件是一个绝对路径,则在它之前的所有组件均会被舍弃 3.如果最后一个组 ...

  8. python基础之模块之os模块

    os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另 ...

  9. os 模块 和 os模块下的path模块

    import os # os 主要用于与操作系统进行交互 #获取当前的工作目录 print(os.getcwd()) #切换工作目录 os .chdir("D:\上海python全栈4期\d ...

随机推荐

  1. VUE3 之 全局 Mixin 与 自定义属性合并策略 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:心态决定命运,好心态才能有好的命运. 言归正传,今天我们来聊聊 VUE 中的全局 Mixin 与 自定义属性合并策略. 2. Mixin 的使用 2.1 全局 Mixin 之前 ...

  2. Java设计模式——抽象工厂模式

    抽象工厂模式也是创建模式,可以把它理解成创建工厂的工厂,这种模式也是我们经常使用的.在抽象工厂中的接口是用来创建工厂的,每个生成的工厂又都可以按照工厂模式创建其他对象. 举例说明: 创建Shape接口 ...

  3. php实验一专属跳转博文

    今天完成了php关于设计个人博客主页的实验一作业. 这是php实验一作业中博客的跳转链接页.  

  4. 共读《redis设计与实现》-数据结构篇

    准备将之前攒下的书先看一遍,主要是有个大概的了解,以后用的时候也知道在哪里找.所以准备开几篇共读的帖子,激励自己多看一些书. Redis 基于 简单动态字符串(SDS).双端链表.字典.压缩列表.整数 ...

  5. 论文解读(SelfGNN)《Self-supervised Graph Neural Networks without explicit negative sampling》

    论文信息 论文标题:Self-supervised Graph Neural Networks without explicit negative sampling论文作者:Zekarias T. K ...

  6. Vue3 setup详解

    setup执行的时机 在beforeCreate之前执行(一次),此时组件对象还没创建: this是undefined,不能通过this来访问data/computed/methods/props: ...

  7. vue2响应式原理与vue3响应式原理对比

    VUE2.0 核心 对象:通过Object.defineProtytype()对对象的已有属性值的读取和修改进行劫持 数组:通过重写数组更新数组一系列更新元素的方法来实现元素的修改的劫持 Object ...

  8. 【mq】从零开始实现 mq-06-消费者心跳检测 heartbeat

    前景回顾 [mq]从零开始实现 mq-01-生产者.消费者启动 [mq]从零开始实现 mq-02-如何实现生产者调用消费者? [mq]从零开始实现 mq-03-引入 broker 中间人 [mq]从零 ...

  9. Volatile的学习

    首先先介绍三个性质 可见性 可见性代表主内存中变量更新,线程中可以及时获得最新的值. 下面例子证明了线程中可见性的问题 由于发现多次执行都要到主内存中取变量,所以会将变量缓存到线程的工作内存,这样当其 ...

  10. Ruby 趣学笔记(二)

    Ruby 趣学笔记(二) 本文写于 2020 年 5 月 7 日 类的继承 之前忘记写了,Ruby 的继承写法是: class IPhone < Phone def initialize(id, ...